CentOS 7
Sponsored Link

OpenStack Newton : Manila 利用方法#12016/10/31

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

[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
# Manila から制御される Systemd の NFSサービス名が Debian系の名称となっておりエラーとなるためリンクを作成しておく

[root@storage ~]#
cd /usr/lib/systemd/system

[root@storage system]#
ln -s nfs-server.service nfs-kernel-server.service
[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                   | 65242673-22e0-4519-9b5a-84c8f7c5a88d |
| optional_extra_specs | snapshot_support : True              |
+----------------------+--------------------------------------+

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

+--------+--------------------+------------+------------+--------------------------------------+-------------------------+
| ID     | Name               | visibility | is_default | required_extra_specs                 | optional_extra_specs    |
+--------+--------------------+------------+------------+--------------------------------------+-------------------------+
| 652... | default_share_type | public     | YES        | driver_handles_share_servers : False | snapshot_support : True |
+--------+--------------------+------------+------------+--------------------------------------+-------------------------+
[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                                 |
| host                        |                                      |
| access_rules_status         | active                               |
| snapshot_id                 | None                                 |
| is_public                   | False                                |
| task_state                  | None                                 |
| snapshot_support            | True                                 |
| id                          | 6a1ff1a2-a1ae-4fba-a129-d76c31bf9562 |
| size                        | 1                                    |
| user_id                     | 0a28ee66b05f4c7b9709f316c5109e0a     |
| name                        | share01                              |
| share_type                  | 65242673-22e0-4519-9b5a-84c8f7c5a88d |
| has_replicas                | False                                |
| replication_type            | None                                 |
| created_at                  | 2016-10-31T02:25:49.000000           |
| share_proto                 | NFS                                  |
| consistency_group_id        | None                                 |
| source_cgsnapshot_member_id | None                                 |
| project_id                  | 150e205a8791426e8028a94699fb8848     |
| metadata                    | {}                                   |
+-----------------------------+--------------------------------------+

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

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

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

+-----------+----------+---------+------------------------------------+------------+
| ID        | Name     | Status  | Networks                           | Image Name |
+-----------+----------+---------+------------------------------------+------------+
| e5a31503- | CentOS_7 | SHUTOFF | int_net=192.168.100.11, 10.0.0.200 | 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     | 6a1ff1a2-a1ae-4fba-a129-d76c31bf9562 |
| access_type  | ip                                   |
| access_to    | 10.0.0.0/24                          |
| access_level | rw                                   |
| state        | new                                  |
| id           | b93ecc8f-6141-44eb-b46e-3569c0315da7 |
+--------------+--------------------------------------+

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

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

+--------------------------------------+-------------+-------------+--------------+--------+------------+
| id                                   | access_type | access_to   | access_level | state  | access_key |
+--------------------------------------+-------------+-------------+--------------+--------+------------+
| b93ecc8f-6141-44eb-b46e-3569c0315da7 | 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-191da0b5-69c6-4ae4-a325-9861ebaf1cf0
[root@dlp ~(keystone)]#
ssh 10.0.0.200

root@10.0.0.200's password:
Last login: Tue Oct 25 17:10:57 2016 from dlp.srv.world
# Manila 共有ストレージをマウント

[root@host-192-168-100-11 ~]#
mount -t nfs 10.0.0.50:/var/lib/manila/mnt/share-191da0b5-69c6-4ae4-a325-9861ebaf1cf0 /mnt

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

Filesystem                                                               Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root                                                  xfs       8.5G  949M  7.6G  11% /
devtmpfs                                                                 devtmpfs  991M     0  991M   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       497M  107M  390M  22% /boot
tmpfs                                                                    tmpfs     201M     0  201M   0% /run/user/0
10.0.0.50:/var/lib/manila/mnt/share-191da0b5-69c6-4ae4-a325-9861ebaf1cf0 nfs4      976M  2.5M  907M   1% /mnt
関連コンテンツ