OpenStack Wallaby : Manila 利用方法 (ローカルデバイス)2021/04/26 |
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 | | Neutron Server | | Nova Compute | | Keystone Glance | | OVN-Northd | | Open vSwitch | | Nova API | | Cinder Volume | | OVN Metadata Agent | | Cinder API | | iSCSI Target | | OVN-Controller | | Manila API | | Manila Share | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[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 systemctl enable --now openstack-manila-share nfs-server
|
[2] | デフォルトの共有タイプを作成します。 作業は、どこでもよいですが、当例ではコントロールノード上で行います。 |
[root@dlp ~(keystone)]# manila type-create default_share_type False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | ID | 878cba4c-1690-4499-a2f5-8995cbb11e54 | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | 878cba4c-1690-4499-a2f5-8995cbb11e54 | 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 | f9374c37-32b8-4089-a070-8dfd99503b77 | | size | 10 | | availability_zone | None | | created_at | 2021-04-26T01:17:37.908825 | | status | creating | | name | share01 | | description | None | | project_id | 9bdf6ca0e49a416da8df5554fbfdec74 | | snapshot_id | None | | share_network_id | None | | share_proto | NFS | | metadata | {} | | share_type | 878cba4c-1690-4499-a2f5-8995cbb11e54 | | 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 | b7aeb44b614d46f69b4a53ecee906800 | | 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 | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | f9374c37-32b8-4089-a070-8dfd99503b77 | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
[4] | 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。 |
[cent@dlp ~(keystone)]$ openstack server list +--------------------------------------+-------------+---------+------------------------------------+-----------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+---------+------------------------------------+-----------------+----------+ | f4f65cf9-461e-48f1-a3df-964bee24a4fe | CentOS-St-8 | SHUTOFF | private=10.0.0.239, 192.168.100.16 | 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 | 816094c9-66ab-4914-bb26-6d310e7a8c2c | | share_id | f9374c37-32b8-4089-a070-8dfd99503b77 | | access_level | rw | | access_to | 10.0.0.0/24 | | access_type | ip | | state | queued_to_apply | | access_key | None | | created_at | 2021-04-26T01:18:36.797813 | | 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 | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | 816094c9-66ab-4914-bb26-6d310e7a8c2c | ip | 10.0.0.0/24 | rw | active | None | 2021-04-26T01:18:36.797813 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
[cent@dlp ~(keystone)]$
openstack server start CentOS-St-8 # アクセス Path 確認 [cent@dlp ~(keystone)]$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-862e83a7-0138-4d06-8761-bfee7b32df88
[cent@dlp ~(keystone)]$
ssh centos@10.0.0.239 Activate the web console with: systemctl enable --now cockpit.socket [centos@centos-st-8 ~]$ # Manila 共有ストレージをマウント [centos@centos-st-8 ~]$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-862e83a7-0138-4d06-8761-bfee7b32df88 /mnt [centos@centos-st-8 ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 970M 0 970M 0% /dev tmpfs tmpfs 989M 0 989M 0% /dev/shm tmpfs tmpfs 989M 8.5M 981M 1% /run tmpfs tmpfs 989M 0 989M 0% /sys/fs/cgroup /dev/mapper/cs-root xfs 8.0G 2.0G 6.0G 25% / /dev/vda1 xfs 1014M 178M 837M 18% /boot tmpfs tmpfs 198M 0 198M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-862e83a7-0138-4d06-8761-bfee7b32df88 nfs4 9.8G 36M 9.3G 1% /mnt[centos@centos-st-8 ~]$ echo testfile > /mnt/testfile.txt [centos@centos-st-8 ~]$ cat /mnt/testfile.txt testfile |
Sponsored Link |