OpenStack Yoga : Manila 利用方法 (ローカルデバイス)2022/06/01 |
|
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) | | (Storage Node) | | (Compute Node) |
| | | | | |
| MariaDB RabbitMQ | | Open vSwitch | | Libvirt |
| Memcached httpd | | Neutron Server | | Nova Compute |
| Keystone Glance | | OVN-Northd | | Open vSwitch |
| Nova API Cinder API | | Cinder Volume | | OVN Metadata Agent |
| Manila API | | Manila Share | | OVN-Controller |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [1] | Storage ノードの設定です。 |
|
[root@network ~]#
dnf -y install nfs-utils nfs4-acl-tools # 空きデバイスに 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 enable --now openstack-manila-share nfs-server
|
| [2] | デフォルトの共有タイプを作成します。 作業は、どこでもよいですが、当例ではコントロールノード上で行います。 |
|
[root@dlp ~(keystone)]# manila type-create default_share_type False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | ID | 2e0d558b-8f39-41f1-8f33-d81ef3e0b8fb | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | 2e0d558b-8f39-41f1-8f33-d81ef3e0b8fb | default_share_type | public | YES | driver_handles_share_servers : False | | None | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ |
| [3] | 共有を作成して自身が所有するインスタンスで利用したい任意のユーザーで、NFS 共有を作成します。 |
|
[cent@dlp ~(keystone)]$ manila create NFS 10 --name share01 --share-type default_share_type
+---------------------------------------+--------------------------------------+
| Property | Value |
+---------------------------------------+--------------------------------------+
| id | c6acb93e-c383-486c-902f-38b81b2405d4 |
| size | 10 |
| availability_zone | None |
| created_at | 2022-06-01T09:59:40.037345 |
| status | creating |
| name | share01 |
| description | None |
| project_id | 3d85d1e79d654b3dade01eb5bfbf0679 |
| snapshot_id | None |
| share_network_id | None |
| share_proto | NFS |
| metadata | {} |
| share_type | 2e0d558b-8f39-41f1-8f33-d81ef3e0b8fb |
| 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 | ed0bc393ae81411fa1db0828e1d5e160 |
| 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] になれば作成完了 [cent@dlp ~(keystone)]$ manila list +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | c6acb93e-c383-486c-902f-38b81b2405d4 | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
| [4] | 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。 |
|
[cent@dlp ~(keystone)]$ openstack server list +--------------------------------------+------------+---------+-------------------------------------+-----------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+------------+---------+-------------------------------------+-----------------+----------+ | fa3a20c0-f0f4-46eb-b63f-69abba312d03 | CentOS-St8 | SHUTOFF | private=10.0.0.251, 192.168.100.140 | CentOS-Stream-8 | m1.small | +--------------------------------------+------------+---------+-------------------------------------+-----------------+----------+ # アクセス許可の設定 (IP にはインスタンスの IP アドレス または インスタンスが属するサブネットを指定) [cent@dlp ~(keystone)]$ manila access-allow share01 ip 10.0.0.0/24 --access-level rw
+--------------+--------------------------------------+
| Property | Value |
+--------------+--------------------------------------+
| id | 3a703d5a-ebc6-4b65-9711-4a3d1aaf2877 |
| share_id | c6acb93e-c383-486c-902f-38b81b2405d4 |
| access_level | rw |
| access_to | 10.0.0.0/24 |
| access_type | ip |
| state | queued_to_apply |
| access_key | None |
| created_at | 2022-06-01T10:00:56.472422 |
| 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 | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | 3a703d5a-ebc6-4b65-9711-4a3d1aaf2877 | ip | 10.0.0.0/24 | rw | active | None | 2022-06-01T10:00:56.472422 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
[cent@dlp ~(keystone)]$
openstack server start CentOS-St8 # アクセス Path 確認 [cent@dlp ~(keystone)]$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-ea5034c7-c2f5-4df2-b231-8d3a358b5a70
[cent@dlp ~(keystone)]$
ssh centos@10.0.0.251 Activate the web console with: systemctl enable --now cockpit.socket [centos@centos-st8 ~]$ # Manila 共有ストレージをマウント [centos@centos-st8 ~]$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-ea5034c7-c2f5-4df2-b231-8d3a358b5a70 /mnt [centos@centos-st8 ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 890M 0 890M 0% /dev tmpfs tmpfs 909M 0 909M 0% /dev/shm tmpfs tmpfs 909M 8.5M 901M 1% /run tmpfs tmpfs 909M 0 909M 0% /sys/fs/cgroup /dev/mapper/cs-root xfs 8.0G 2.3G 5.8G 28% / /dev/vda1 xfs 1014M 211M 804M 21% /boot tmpfs tmpfs 182M 0 182M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-ea5034c7-c2f5-4df2-b231-8d3a358b5a70 nfs4 9.8G 36M 9.3G 1% /mnt[centos@centos-st8 ~]$ echo "manila write test" > /mnt/testfile.txt [centos@centos-st8 ~]$ cat /mnt/testfile.txt manila write test |
| Sponsored Link |
|
|