LoginSignup
8
6

More than 5 years have passed since last update.

OpenStack Manila on NetApp

Last updated at Posted at 2015-12-19

Manilaとは

Manilaとは、ファイル共有サービスを提供するOpenStackのコンポーネントです。Libertyから正式リリースされました。
今回は、Devstackを使用してNetAppストレージのFASシリーズ上にNFSサーバを作成しVMからmountするまでの手順について記載します。
2015/12/19時点の情報になります。

Manila on NetAppアーキテクチャ

NetAppのFASシリーズ用のOSであるONTAPは、仮想ストレージとしてSVM(storage virtual machine)を提供することができます。NetApp Manila Driverは、このSVMの提供方式の違いにより2つの構成を取ることができます。

Single SVM構成

1つのSVMを複数のテナントで共有します。

以下のネットワーク構成例では、Floating IP経由で接続するパターンとNFS接続専用のネットワークを使用する構成について記載しています。
singleSVM.png

Multi SVM構成

テナントごとにSVMを作成して占有します。
DataONTAP8.3から、IPspaceという機能がサポートされました。IPspaceにより1台の物理ストレージ内でIPアドレスの重複が可能になりテナントごとにIPアドレスのレンジを考慮する必要がなくなります。

以下のネットワーク構成例では、テナントごとにIPspaceが作成されそれぞれが独立したネットワークとNFSサーバを持っています。

MultiSVM.png

環境と前提

以下のURLを参考にDevstackでmanilaを構築する
[https://wiki.openstack.org/wiki/Manila/manila-devstack-script]

Manila ネットワークプラグイン

以下の3つのプラグインが準備されています。NetApp Manila Driverは、SVMのLIFやVlanを作成する際の入力情報をプラグイン経由で取得します。

・Standalone Network Plugin
OpenStackのネットワーク系のコンポートネントと連携せず、手動でIPアドレスレンジ、ネットマスク、デフォルトゲートウェイ、vlanをmanila.confに記載してその情報を元にSVMのLIF、vlanなどを作成する。

・Nova Network Plugin
Share Network作成時に指定したNova Networkの情報を元にSVMのLIF、vlanなどを作成する。

・Neutron Network Plugin
Share Network作成時に指定したNeutron Networkの情報を元にSVMのLIF、vlanなどを作成する。

Multi SVM構成の手順

ONTAP8.3とNeutron Pluginを使用する環境

1.Devstackで作成したbr-eth1にNFS接続用のインターフェースを追加して起動する。

$ sudo ovs-vsctl add-port br-eth1 eth1
$ sudo vi /etc/network/interfaces
#追加(IPアドレスなし)
auto eth1
iface eth1 inet manual
        up ip link set dev $IFACE up
        down ip link set dev $IFACE down
$ sudo ifup eth1

2.Neutron設定。ONTAPがvxlanをサポートしていないため、テナントネットワークをvlanに変更する。

$ vi /etc/neutron/plugins/ml2/ml2_conf.ini
#修正
tenant_network_types = vlan

3.Neutronサービスを再起動する。

4.Neutron Networkとsubnetを作成する。vlan idとネットワークは適当につける。

$ cd devstack/
$. openrc admin demo
$ neutron net-create private2 --provider:network_type vlan --provider:physical_network physnet1 --provider:segmentation_id 151
$ neutron subnet-create --name private2-subnet private2 192.168.210.0/24

5.Manila設定する。

$ vi /etc/manila/manila.conf
[DEFAULT]
・・・
#修正
enabled_share_backends = cdotMultipleSVM
#追加(Neutron Pluginを設定)
network_api_class=manila.network.neutron.neutron_network_plugin.NeutronNetworkPlugin


[cdotMultipleSVM83]
share_backend_name=cdotMultipleSVM83
share_driver=manila.share.drivers.netapp.common.NetAppDriver
driver_handles_share_servers=True
netapp_storage_family=ontap_cluster
netapp_server_hostname=[Cluster管理用のIPアドレスを指定]
netapp_server_port=80
netapp_login=admin
netapp_password=[adminユーザのパスワード]
netapp_transport_type=http
netapp_root_volume_aggregate=[SVMのroot volumeを作成するaggrを指定]
netapp_aggregate_name_search_pattern=[NFS Share用のFlexVolを作成するaggrを指定]
netapp_port_name_search_pattern=[LIFのhome portとなるインターフェースを指定]
netapp_trace_flags=True

6.Manilaサービスを再起動する。

7.Share network作成する。ここで指定したNeutron NetworkとSubnetをもとにSVM作成時のLIFのIPアドレスとvlanが自動作成される。

$ manila share-network-create --neutron-net-id [net-id] --neutron-subnet-id [subnet-id] --name sn
$ manila share-network-list
$ manila share-network-show [share-network-id]

8.NFS shareを作成する。

$ manila create --share-type default --share-network sn NFS 1
$ manila list
$ manila show [share-id]

9.mount確認

$ ssh [ユーザ名]@[vmのFixed IPアドレス]
$ sudo mount -t nfs [LIFのIPアドレス]:/[Share名] /mnt
$ df
Filesystem                                                1K-blocks   Used Available Use% Mounted on
/dev/vda1                                                   1124108 705164    339104  68% /
none                                                              4      0         4   0% /sys/fs/cgroup
udev                                                          49552      4     49548   1% /dev
tmpfs                                                         11804    472     11332   4% /run
none                                                           5120      0      5120   0% /run/lock
none                                                          59016      0     59016   0% /run/shm
none                                                         102400      0    102400   0% /run/user
*192.168.210.3:/share_dde064f8_99ba_4b27_9f89_f0d3d993971b    996160    128    996032   1% /mnt*

NetApp Manila Driverの動作の流れ

MultiSVM + ONTAP8.3 + 2Node Cluster環境でmanila createした際の動きは以下になります。

  1. IPspaceを作成する。
  2. svm作成を作成する。
  3. svmが管理するaggrを変更。manila.confの「netapp_aggregate_name_search_pattern」で指定したaggrに変更する。
  4. vlanを作成する。*FASのnode数分実施
  5. LIF(Logical Interface)を作成する。*FASのnode数分実施
  6. Broadcast Domainを作成する。
  7. NFSサービスを有効化する。
  8. export ruleを作成する。
  9. NFS Share用のFlexVolを作成する。

参考URL

DevstackによるManila構築
[https://wiki.openstack.org/wiki/Manila/manila-devstack-script]

Manilaのネットワークプラグインについて
[https://wiki.openstack.org/wiki/Setting_up_Manila_Network_Plugins]

OpenStack Deployment and Operations Guide
[http://netapp.github.io/openstack-deploy-ops-guide/kilo/content/]

8
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6