CentOS 7
Sponsored Link

OpenStack Ocata : Manila 利用方法#12017/03/05

 
OpenStack Shared File System(Manila)による共有の設定です。
当例では以下のような環境を例に Manila をインストールして設定しています。
例として、Storage ノードのローカルブロックデバイスを LVM バックエンドの共有ストレージとして設定し、インスタンスから利用できるようにします。 よって、前提として Storage ノードに空きブロックデバイスがある必要があります。
     ------------+--------------------------------+--------------------------------+------------
                 |                                |                                |
             eth0|10.0.0.30                   eth0|10.0.0.50                   eth0|10.0.0.51
     +-----------+-----------+        +-----------+-----------+        +-----------+-----------+
     |    [ Control Node ]   |        |    [ Storage Node ]   |        |    [ Compute Node ]   |
     |                       |        |                       |        |                       |
     |  MariaDB    RabbitMQ  |        |      Open vSwitch     |        |        Libvirt        |
     |  Memcached  httpd     |        |  L2,L3,Metadata Agent |        |      Nova Compute     |
     |  Keystone   Glance    |        |      Manila Share     |        |      Open vSwitch     |
     |  Nova API             |        |                       |        |        L2 Agent       |
     |  Neutron Server       |        |                       |        |                       |
     |  Manila API           |        |                       |        |                       |
     +-----------------------+        +-----------------------+        +-----------------------+

[1] Storage ノードの設定です。
[root@storage ~]#
yum -y install nfs-utils nfs4-acl-tools
# 空きデバイスに Manila用ボリューム作成

[root@storage ~]#
pvcreate /dev/sdb1

  Physical volume "/dev/sdb1" successfully created
[root@storage ~]#
vgcreate manila-volumes /dev/sdb1

  Volume group "manila-volumes" successfully created
[root@storage ~]#
vi /etc/manila/manila.conf
# [DEFAULT] セクション内の任意の場所へ追記

enabled_share_backends = lvm
# 最終行へ追記

[lvm]
share_backend_name = LVM
share_driver = manila.share.drivers.lvm.LVMShareDriver
driver_handles_share_servers = False
lvm_share_volume_group = manila-volumes
lvm_share_export_ip = 10.0.0.50
[root@storage ~]#
systemctl start openstack-manila-share nfs-server

[root@storage ~]#
systemctl enable openstack-manila-share nfs-server
[2] デフォルトの共有タイプを作成します。作業は、どこでもよいですが、ここではコントロールノード上で行います。
[root@dlp ~(keystone)]#
manila type-create default_share_type False

+----------------------+--------------------------------------+
| Property             | Value                                |
+----------------------+--------------------------------------+
| required_extra_specs | driver_handles_share_servers : False |
| Name                 | default_share_type                   |
| Visibility           | public                               |
| is_default           | -                                    |
| ID                   | f6c47ee3-68cf-4375-a8c0-d66ce2d69b5d |
| optional_extra_specs |                                      |
+----------------------+--------------------------------------+

[root@dlp ~(keystone)]#
manila type-list

+-----------+--------------------+------------+------------+--------------------------------------+----------------------+
| ID        | Name               | visibility | is_default | required_extra_specs                 | optional_extra_specs |
+-----------+--------------------+------------+------------+--------------------------------------+----------------------+
| f6c47ee3- | default_share_type | public     | YES        | driver_handles_share_servers : False |                      |
+-----------+--------------------+------------+------------+--------------------------------------+----------------------+
[3] NFS 共有を作成します。
[root@dlp ~(keystone)]#
manila create NFS 1 --name share01

+---------------------------------------+--------------------------------------+
| Property                              | Value                                |
+---------------------------------------+--------------------------------------+
| status                                | creating                             |
| share_type_name                       | default_share_type                   |
| description                           | None                                 |
| availability_zone                     | None                                 |
| share_network_id                      | None                                 |
| share_server_id                       | None                                 |
| share_group_id                        | None                                 |
| host                                  |                                      |
| revert_to_snapshot_support            | False                                |
| access_rules_status                   | active                               |
| snapshot_id                           | None                                 |
| create_share_from_snapshot_support    | False                                |
| is_public                             | False                                |
| task_state                            | None                                 |
| snapshot_support                      | False                                |
| id                                    | f6a8ef7c-a102-4191-9047-de60030ebbd8 |
| size                                  | 1                                    |
| source_share_group_snapshot_member_id | None                                 |
| user_id                               | cf3c5cbcdd214707b91d322a69af038e     |
| name                                  | share01                              |
| share_type                            | f6c47ee3-68cf-4375-a8c0-d66ce2d69b5d |
| has_replicas                          | False                                |
| replication_type                      | None                                 |
| created_at                            | 2017-03-05T11:02:22.000000           |
| share_proto                           | NFS                                  |
| mount_snapshot_support                | False                                |
| project_id                            | c654e2e098b14356b97b6e613775cc54     |
| metadata                              | {}                                   |
+---------------------------------------+--------------------------------------+

# Status が available になれば作成完了

[root@dlp ~(keystone)]#
manila list

+-----------+---------+------+-------------+-----------+-----------+--------------------+--------------------+-------------------+
| ID        | Name    | Size | Share Proto | Status    | Is Public | Share Type Name    | Host               | Availability Zone |
+-----------+---------+------+-------------+-----------+-----------+--------------------+--------------------+-------------------+
| f6a8ef7c- | share01 | 1    | NFS         | available | False     | default_share_type | network.srv.wor... | nova              |
+-----------+---------+------+-------------+-----------+-----------+--------------------+--------------------+-------------------+
[4] 以上の設定で、任意のインスタンスから Manila の共有サービスを利用することができます。
[root@dlp ~(keystone)]#
openstack server list

+-----------+----------+---------+-----------------------------------+------------+
| ID        | Name     | Status  | Networks                          | Image Name |
+-----------+----------+---------+-----------------------------------+------------+
| b17e0565- | CentOS_7 | SHUTOFF | int_net=192.168.100.5, 10.0.0.201 | CentOS7    |
+-----------+----------+---------+-----------------------------------+------------+

# アクセス許可の設定 (IP はインスタンスの IPアドレス または インスタンスが属するサブネットを指定)

[root@dlp ~(keystone)]#
manila access-allow share01 ip 10.0.0.0/24 --access-level rw

+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| access_key   | None                                 |
| share_id     | f6a8ef7c-a102-4191-9047-de60030ebbd8 |
| access_type  | ip                                   |
| access_to    | 10.0.0.0/24                          |
| access_level | rw                                   |
| state        | queued_to_apply                      |
| id           | 9549e2b7-df4b-4038-9678-7315a5962582 |
+--------------+--------------------------------------+

# State が active であれば問題なし

[root@dlp ~(keystone)]#
manila access-list share01

+--------------------------------------+-------------+-------------+--------------+--------+------------+
| id                                   | access_type | access_to   | access_level | state  | access_key |
+--------------------------------------+-------------+-------------+--------------+--------+------------+
| 9549e2b7-df4b-4038-9678-7315a5962582 | ip          | 10.0.0.0/24 | rw           | active | None       |
+--------------------------------------+-------------+-------------+--------------+--------+------------+

[root@dlp ~(keystone)]#
openstack server start CentOS_7

# アクセス Path 確認

[root@dlp ~(keystone)]#
manila show share01 | grep path | cut -d'|' -f3

path = 10.0.0.50:/var/lib/manila/mnt/share-eaa1ee1d-decc-43ea-a8f2-6b14c6fdee69
[root@dlp ~(keystone)]#
ssh 10.0.0.201

root@10.0.0.201's password:
Last login: Sun Mar 5 11:45:13 2017 from dlp.srv.world
# Manila 共有ストレージをマウント

[root@host-192-168-100-5 ~]#
mount -t nfs 10.0.0.50:/var/lib/manila/mnt/share-eaa1ee1d-decc-43ea-a8f2-6b14c6fdee69 /mnt

[root@host-192-168-100-5 ~]#
df -hT

Filesystem                                                               Type      Size  Used Avail Use% Mounted on
/dev/mapper/cl-root                                                      xfs       8.0G 1021M  7.0G  13% /
devtmpfs                                                                 devtmpfs  990M     0  990M   0% /dev
tmpfs                                                                    tmpfs    1001M     0 1001M   0% /dev/shm
tmpfs                                                                    tmpfs    1001M  8.3M  993M   1% /run
tmpfs                                                                    tmpfs    1001M     0 1001M   0% /sys/fs/cgroup
/dev/vda1                                                                xfs      1014M  121M  894M  12% /boot
tmpfs                                                                    tmpfs     201M     0  201M   0% /run/user/0
10.0.0.50:/var/lib/manila/mnt/share-eaa1ee1d-decc-43ea-a8f2-6b14c6fdee69 nfs4      976M  2.5M  907M   1% /mnt
関連コンテンツ