CentOS 8
Sponsored Link

OpenStack Ussuri : Manila 利用方法 (ローカルデバイス)2020/06/10

 
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 Agent       |   |     Nova Compute      |
|  Keystone   Glance    |   |        L3 Agent       |   |      Open vSwitch     |
|  Nova API             |   |     Metadata Agent    |   |        L2 Agent       |
|  Neutron Server       |   |      Manila Share     |   |                       |
|  Metadata Agent       |   |                       |   |                       |
|  Manila API           |   |                       |   |                       |
+-----------------------+   +-----------------------+   +-----------------------+

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

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

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

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

+----------------------+--------------------------------------+
| Property             | Value                                |
+----------------------+--------------------------------------+
| ID                   | 4f721763-0a1b-4065-87eb-eba2cdb56a51 |
| Name                 | default_share_type                   |
| Visibility           | public                               |
| is_default           | YES                                  |
| required_extra_specs | driver_handles_share_servers : False |
| optional_extra_specs |                                      |
| Description          | None                                 |
+----------------------+--------------------------------------+

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

+--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+
| ID                                   | Name               | visibility | is_default | required_extra_specs                 | optional_extra_specs | Description |
+--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+
| 4f721763-0a1b-4065-87eb-eba2cdb56a51 | default_share_type | public     | YES        | driver_handles_share_servers : False |                      | None        |
+--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+
[3] 共有を作成して自身が所有するインスタンスで利用したい任意のユーザーで、NFS 共有を作成します。
[cent@dlp ~(keystone)]$
manila create NFS 10 --name share01

+---------------------------------------+--------------------------------------+
| Property                              | Value                                |
+---------------------------------------+--------------------------------------+
| id                                    | 4b852672-6c69-42c3-977e-ef96966848d6 |
| size                                  | 10                                   |
| availability_zone                     | None                                 |
| created_at                            | 2020-06-10T02:24:23.000000           |
| status                                | creating                             |
| name                                  | share01                              |
| description                           | None                                 |
| project_id                            | d9c8c215499949cfb249b28bdaba848a     |
| snapshot_id                           | None                                 |
| share_network_id                      | None                                 |
| share_proto                           | NFS                                  |
| metadata                              | {}                                   |
| share_type                            | 4f721763-0a1b-4065-87eb-eba2cdb56a51 |
| is_public                             | False                                |
| snapshot_support                      | False                                |
| task_state                            | None                                 |
| share_type_name                       | default_share_type                   |
| access_rules_status                   | active                               |
| replication_type                      | None                                 |
| has_replicas                          | False                                |
| user_id                               | 0e4117de456a4bbaa5aac2cc6507be91     |
| create_share_from_snapshot_support    | False                                |
| revert_to_snapshot_support            | False                                |
| share_group_id                        | None                                 |
| source_share_group_snapshot_member_id | None                                 |
| mount_snapshot_support                | False                                |
| progress                              | None                                 |
+---------------------------------------+--------------------------------------+

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

[cent@dlp ~(keystone)]$
manila list

+--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+
| ID                                   | Name    | Size | Share Proto | Status    | Is Public | Share Type Name    | Host | Availability Zone |
+--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+
| 4b852672-6c69-42c3-977e-ef96966848d6 | share01 | 10   | NFS         | available | False     | default_share_type |      | nova              |
+--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+
[4] 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。
[cent@dlp ~(keystone)]$
openstack server list

+--------------------------------------+----------+---------+------------------------------------+---------+----------+
| ID                                   | Name     | Status  | Networks                           | Image   | Flavor   |
+--------------------------------------+----------+---------+------------------------------------+---------+----------+
| 2929c442-26c4-41cb-b95f-98c3adceb3ef | CentOS_8 | SHUTOFF | int_net=192.168.100.24, 10.0.0.247 | CentOS8 | m1.small |
+--------------------------------------+----------+---------+------------------------------------+---------+----------+

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

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

+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| id           | fa98830f-e62c-4027-86b9-99eb55084572 |
| share_id     | 4b852672-6c69-42c3-977e-ef96966848d6 |
| access_level | rw                                   |
| access_to    | 10.0.0.0/24                          |
| access_type  | ip                                   |
| state        | queued_to_apply                      |
| access_key   | None                                 |
| created_at   | 2020-06-10T02:28:46.000000           |
| updated_at   | None                                 |
| metadata     | {}                                   |
+--------------+--------------------------------------+

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

[cent@dlp ~(keystone)]$
manila access-list share01

+--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
| id                                   | access_type | access_to   | access_level | state  | access_key | created_at                 | updated_at |
+--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
| fa98830f-e62c-4027-86b9-99eb55084572 | ip          | 10.0.0.0/24 | rw           | active | None       | 2020-06-10T02:28:46.000000 | None       |
+--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+

[cent@dlp ~(keystone)]$
openstack server start CentOS_8

# アクセス Path 確認

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

 path = 10.0.0.50:/var/lib/manila/mnt/share-3544d5a3-7157-4c10-aaa3-edd4b6fd2512

[cent@dlp ~(keystone)]$
ssh centos@10.0.0.247

Last login: Mon Jun 8 03:57:42 2020 from 10.0.0.30
[centos@centos-8 ~]$
# Manila 共有ストレージをマウント

[centos@centos-8 ~]$
sudo mount -t nfs \
10.0.0.50:/var/lib/manila/mnt/share-3544d5a3-7157-4c10-aaa3-edd4b6fd2512 /mnt

[centos@centos-8 ~]$
df -hT

Filesystem                                                               Type      Size  Used Avail Use% Mounted on
devtmpfs                                                                 devtmpfs  901M     0  901M   0% /dev
tmpfs                                                                    tmpfs     915M     0  915M   0% /dev/shm
tmpfs                                                                    tmpfs     915M   17M  899M   2% /run
tmpfs                                                                    tmpfs     915M     0  915M   0% /sys/fs/cgroup
/dev/vda4                                                                xfs       7.4G  1.4G  6.1G  18% /
/dev/vda2                                                                ext4      976M  120M  790M  14% /boot
tmpfs                                                                    tmpfs     183M     0  183M   0% /run/user/1000
10.0.0.50:/var/lib/manila/mnt/share-3544d5a3-7157-4c10-aaa3-edd4b6fd2512 nfs4      9.8G   36M  9.3G   1% /mnt
関連コンテンツ