OpenStack Antelope : Manila 利用方法 (ローカルデバイス)2023/04/19 |
|
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 | | Open vSwitch | | Libvirt |
| Memcached Nginx | | Neutron Server | | Nova Compute |
| Keystone httpd | | OVN-Northd | | Open vSwitch |
| Glance Nova API | | Nginx iSCSI Target | | OVN Metadata Agent |
| Cinder API Manila API | | Cinder Volume | | OVN-Controller |
| | | Manila Share | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [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 | b042d4ee-93e0-4596-9f0f-0c05b472dec5 | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | b042d4ee-93e0-4596-9f0f-0c05b472dec5 | 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 | ae56257e-696c-40ad-91e8-9f31d949669e |
| size | 10 |
| availability_zone | None |
| created_at | 2023-04-19T07:22:05.107027 |
| status | creating |
| name | share01 |
| description | None |
| project_id | 40aa0807595447f0bd8d5b2dbfa1839b |
| snapshot_id | None |
| share_network_id | None |
| share_proto | NFS |
| metadata | {} |
| share_type | b042d4ee-93e0-4596-9f0f-0c05b472dec5 |
| 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 | 3c87f0d4e2e6413aa110a4240357cd97 |
| 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 | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | ae56257e-696c-40ad-91e8-9f31d949669e | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
| [4] | 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。 |
|
[cent@dlp ~(keystone)]$ openstack server list +--------------------------------------+------------+---------+-------------------------------------+----------------+-----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+------------+---------+-------------------------------------+----------------+-----------+ | 284a5b69-7b76-49c3-8180-c9b22284d429 | CentOS-St9 | SHUTOFF | private=10.0.0.229, 192.168.100.140 | CentOS-Stream9 | m1.medium | +--------------------------------------+------------+---------+-------------------------------------+----------------+-----------+ # アクセス許可の設定 (IP にはインスタンスの IP アドレス または インスタンスが属するサブネットを指定) [cent@dlp ~(keystone)]$ manila access-allow share01 ip 10.0.0.0/24 --access-level rw
+--------------+--------------------------------------+
| Property | Value |
+--------------+--------------------------------------+
| id | bc0ab9ce-1dde-42ab-bc76-0b2af721acb4 |
| share_id | ae56257e-696c-40ad-91e8-9f31d949669e |
| access_level | rw |
| access_to | 10.0.0.0/24 |
| access_type | ip |
| state | queued_to_apply |
| access_key | None |
| created_at | 2023-04-19T07:23:28.249857 |
| 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 | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | bc0ab9ce-1dde-42ab-bc76-0b2af721acb4 | ip | 10.0.0.0/24 | rw | active | None | 2023-04-19T07:23:28.249857 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
[cent@dlp ~(keystone)]$
openstack server start CentOS-St9 # アクセス Path 確認 [cent@dlp ~(keystone)]$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-72c5e44b-88e3-4698-800f-7a66676360b4
[cent@dlp ~(keystone)]$
ssh centos@10.0.0.229 Last login: Tue Apr 18 16:03:22 2023 from 10.0.0.30 [centos@centos-st9 ~]$ # Manila 共有ストレージをマウント [centos@centos-st9 ~]$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-72c5e44b-88e3-4698-800f-7a66676360b4 /mnt [centos@centos-st9 ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 784M 8.6M 775M 2% /run /dev/mapper/cs-root xfs 8.0G 1.9G 6.2G 24% / /dev/vda1 xfs 1014M 268M 747M 27% /boot tmpfs tmpfs 392M 0 392M 0% /run/user/1001 10.0.0.50:/var/lib/manila/mnt/share-72c5e44b-88e3-4698-800f-7a66676360b4 nfs4 9.8G 0 9.3G 0% /mnt[centos@centos-st9 ~]$ echo "manila write test" > /mnt/testfile.txt [centos@centos-st9 ~]$ cat /mnt/testfile.txt manila write test |
| Sponsored Link |
|
|