OpenStack Zed : Manila 利用 (ローカルデバイス)2023/06/29 |
OpenStack Shared File System(Manila)による共有の設定です。
当例では以下のような環境を例に Manila をインストールして設定しています。
例として、Storage ノードのローカルブロックデバイスを
LVM バックエンドの共有ストレージとして設定し、インスタンスから利用できるようにします。
よって、前提として Storage ノードに空きブロックデバイスがある必要があります。
------------+--------------------------+--------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ dlp.srv.world ] | | [ network.srv.world ] | | [ node01.srv.world ] | | (Control Node) | | (Network Node) | | (Compute Node) | | | | | | | | MariaDB RabbitMQ | | Neutron L2/L3 Agent | | Libvirt | | Memcached Nginx | | Neutron Metadata | | Nova Compute | | Keystone httpd | | Open vSwitch | | Neutron L2 Agent | | Glance Nova API | | iSCSI Target | | Open vSwitch | | Neutron Server | | Cinder Volume | | | | Neutron Metadata | | Manila Share | | | | Cinder API Manila API | | | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Storage ノードの設定です。 |
root@network:~#
apt -y install lvm2 nfs-kernel-server # 空きデバイスに Manila 用ボリューム作成 root@network:~# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created root@network:~# vgcreate manila-volumes /dev/sdc1 Volume group "manila-volumes" successfully created
root@network:~#
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 = $my_ip systemctl restart manila-share nfs-server root@network:~# systemctl enable manila-share nfs-server
|
[2] | デフォルトの共有タイプを作成します。作業は、どこでもよいですが、当例ではコントロールノード上で行います。 |
root@dlp ~(keystone)# manila type-create default_share_type False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | ID | edc01ccb-d197-4d40-8964-9ab8f34ec087 | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | edc01ccb-d197-4d40-8964-9ab8f34ec087 | default_share_type | public | YES | driver_handles_share_servers : False | | None | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ |
[3] | 共有を作成して自身が所有するインスタンスで利用したい任意のユーザーで、NFS 共有を作成します。 |
debian@dlp ~(keystone)$ manila create NFS 10 --name share01 --share-type default_share_type +---------------------------------------+--------------------------------------+ | Property | Value | +---------------------------------------+--------------------------------------+ | id | b6699c78-14b2-4f73-918c-a14b616a3d64 | | size | 10 | | availability_zone | None | | created_at | 2023-06-29T07:31:26.732412 | | status | creating | | name | share01 | | description | None | | project_id | 1c2f5dc8c4f9494fbaaa4217c8e3585a | | snapshot_id | None | | share_network_id | None | | share_proto | NFS | | metadata | {} | | share_type | edc01ccb-d197-4d40-8964-9ab8f34ec087 | | 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 | de51d5f0ee2c485885877d21f5b424e0 | | 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 | | is_soft_deleted | False | | scheduled_to_be_deleted_at | None | +---------------------------------------+--------------------------------------+ # Status が [available] になれば作成完了 debian@dlp ~(keystone)$ manila list +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | b6699c78-14b2-4f73-918c-a14b616a3d64 | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
[4] | 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。 |
debian@dlp ~(keystone)$ openstack server list +--------------------------------------+-----------+---------+------------------------------------+----------+-----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-----------+---------+------------------------------------+----------+-----------+ | c3a4a792-a7ac-41bd-8c93-7fd162016f22 | Debian-12 | SHUTOFF | private=10.0.0.241, 192.168.100.66 | Debian12 | m1.medium | +--------------------------------------+-----------+---------+------------------------------------+----------+-----------+ # アクセス許可の設定 (インスタンスの IP アドレス または インスタンスが属するサブネットを指定) debian@dlp ~(keystone)$ manila access-allow share01 ip 10.0.0.0/24 --access-level rw +--------------+--------------------------------------+ | Property | Value | +--------------+--------------------------------------+ | id | 2d825bb3-fa3a-4c33-9130-be0c978a26f9 | | share_id | b6699c78-14b2-4f73-918c-a14b616a3d64 | | access_level | rw | | access_to | 10.0.0.0/24 | | access_type | ip | | state | queued_to_apply | | access_key | None | | created_at | 2023-06-29T07:32:46.767256 | | updated_at | None | | metadata | {} | +--------------+--------------------------------------+ # State が [active] であれば OK debian@dlp ~(keystone)$ manila access-list share01 +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | id | access_type | access_to | access_level | state | access_key | created_at | updated_at | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | 2d825bb3-fa3a-4c33-9130-be0c978a26f9 | ip | 10.0.0.0/24 | rw | active | None | 2023-06-29T07:32:46.767256 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
debian@dlp ~(keystone)$
openstack server start Debian-12 # アクセス Path 確認 debian@dlp ~(keystone)$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-8d7fb685-8933-4657-ac85-189496318407debian@dlp ~(keystone)$ ssh debian@10.0.0.241 Linux debian-12 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Jun 28 00:28:17 2023 from 10.0.0.30 # Manila 共有ストレージをマウント debian@debian-12:~$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-8d7fb685-8933-4657-ac85-189496318407 /mnt debian@debian-12:~$ df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 392M 572K 391M 1% /run /dev/mapper/debian--vg-root ext4 8.4G 1.3G 6.6G 17% / tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda1 ext2 455M 58M 373M 14% /boot tmpfs tmpfs 392M 0 392M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-8d7fb685-8933-4657-ac85-189496318407 nfs4 9.8G 0 9.3G 0% /mnt |
Sponsored Link |