Ubuntu 16.04
Sponsored Link

OpenStack Pike : Manila 利用方法#1
2017/09/18
 
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  |   |                       |   |        Libvirt        |
|  Memcached  httpd     |   |        L2 Agent       |   |     Nova Compute      |
|  Keystone   Glance    |   |        L3 Agent       |   |        L2 Agent       |
|  Nova API             |   |     Metadata Agent    |   |                       |
|  Neutron Server       |   |      Manila Share     |   |                       |
|  Metadata Agent       |   |                       |   |                       |
|  Manila API           |   |                       |   |                       |
+-----------------------+   +-----------------------+   +-----------------------+

[1] Storage ノードの設定です。
root@storage:~#
apt-get -y install lvm2 nfs-kernel-server
# 空きデバイスに 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 restart manila-share nfs-server

root@storage:~#
systemctl enable 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                   | 9498959f-e08c-40de-94c6-271cfbd94b39 |
| optional_extra_specs |                                      |
+----------------------+--------------------------------------+

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

+-----------+--------------------+------------+------------+--------------------------------------+-------+
| ID        | Name               | visibility | is_default | required_extra_specs                 | opt.. |
+-----------+--------------------+------------+------------+--------------------------------------+-------+
| 9498959f- | default_share_type | public     | YES        | driver_handles_share_servers : False |       |
+-----------+--------------------+------------+------------+--------------------------------------+-------+
[3] NFS 共有を作成します。
root@dlp ~(keystone)#
manila create NFS 10 --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                                    | 376e25d6-521a-4745-88d7-ba5012870762 |
| size                                  | 10                                   |
| source_share_group_snapshot_member_id | None                                 |
| user_id                               | 71b407652ab4433a801915ab21018ffd     |
| name                                  | share01                              |
| share_type                            | 9498959f-e08c-40de-94c6-271cfbd94b39 |
| has_replicas                          | False                                |
| replication_type                      | None                                 |
| created_at                            | 2017-09-20T07:42:48.000000           |
| share_proto                           | NFS                                  |
| mount_snapshot_support                | False                                |
| project_id                            | 1ca37b956ae4451892dfcc47f5f98913     |
| metadata                              | {}                                   |
+---------------------------------------+--------------------------------------+

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

root@dlp ~(keystone)#
manila list

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

+-----------+-------------+---------+------------------------------------+------------+----------+
| ID        | Name        | Status  | Networks                           | Image      | Flavor   |
+-----------+-------------+---------+------------------------------------+------------+----------+
| f5ae3046- | Ubuntu_1604 | SHUTOFF | int_net=192.168.100.10, 10.0.0.210 | Ubuntu1604 | m1.small |
+-----------+-------------+---------+------------------------------------+------------+----------+

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

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

+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| access_key   | None                                 |
| share_id     | 376e25d6-521a-4745-88d7-ba5012870762 |
| created_at   | 2017-09-20T07:44:56.000000           |
| updated_at   | None                                 |
| access_type  | ip                                   |
| access_to    | 192.168.100.0/24                     |
| access_level | rw                                   |
| state        | queued_to_apply                      |
| id           | 297708f9-36ee-43cb-8c4b-e012607fcb52 |
+--------------+--------------------------------------+

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

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

+-----------+-------------+------------------+--------------+--------+------------+---------------+---------+
| id        | access_type | access_to        | access_level | state  | access_key | created_at    | updat.. |
+-----------+-------------+------------------+--------------+--------+------------+---------------+---------+
| 297708f9- | ip          | 192.168.100.0/24 | rw           | active | None       | 2017-09-20... | None    |
+-----------+-------------+------------------+--------------+--------+------------+---------------+---------+

root@dlp ~(keystone)#
openstack server start Ubuntu_1604

# アクセス Path 確認

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

path = 10.0.0.50:/var/lib/manila/mnt/share-ebb667fd-f81a-45a0-8e35-a7776c777601
root@dlp ~(keystone)#
ssh ubuntu@10.0.0.210

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)
# Manila 共有ストレージをマウント

ubuntu@ubuntu-1604:~$
sudo mount -t nfs 10.0.0.50:/var/lib/manila/mnt/share-ebb667fd-f81a-45a0-8e35-a7776c777601 /mnt

ubuntu@ubuntu-1604:~$
df -hT

Filesystem                                       Type      Size  Used Avail Use% Mounted on
udev                                             devtmpfs  982M     0  982M   0% /dev
tmpfs                                            tmpfs     201M  3.1M  197M   2% /run
/dev/mapper/ubuntu--vg-root                      ext4      7.3G  1.3G  5.7G  18% /
tmpfs                                            tmpfs    1001M     0 1001M   0% /dev/shm
tmpfs                                            tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs                                            tmpfs    1001M     0 1001M   0% /sys/fs/cgroup
/dev/vda1                                        ext2      472M   55M  393M  13% /boot
tmpfs                                            tmpfs     201M     0  201M   0% /run/user/1000
10.0.0.50:/var/lib/manila/mnt/share-ebb667fd-... nfs4      9.8G   23M  9.2G   1% /mnt
関連コンテンツ