OpenStack Xena : How to use Manila (Local Device)2021/10/08 |
This is How to use OpenStack Shared File System (Manila).
This example is based on the environment like follows.
For example, Configure a local block device as a shared storage on Storage Node and use it on Instances.
Therefore, it needs there is a free block device on Storage Node. ------------+---------------------------+---------------------------+------------ | | | 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 | | Heat API/Engine | | | | | | Manila Share | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Configure Storage Node. |
root@storage:~#
apt -y install lvm2 nfs-kernel-server # create a volume for Manila on free block device 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 # add follows into [DEFAULT] section
enabled_share_backends = lvm
# add to the end [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 restart manila-share nfs-server root@storage:~# systemctl enable manila-share nfs-server
|
[2] | Create a default share type. It's OK to work on any node. (example below is on Control Node) |
root@dlp ~(keystone)# manila type-create default_share_type False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | ID | 5f92792f-51a8-4161-8e89-5170c12a61c6 | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | 5f92792f-51a8-4161-8e89-5170c12a61c6 | default_share_type | public | YES | driver_handles_share_servers : False | | None | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ |
[3] | Login as a common user to create Manila NFS Share. |
ubuntu@dlp ~(keystone)$ manila create NFS 10 --name share01 +---------------------------------------+--------------------------------------+ | Property | Value | +---------------------------------------+--------------------------------------+ | id | be2bcfd6-d140-4081-a35d-ce4d3fbb381f | | size | 10 | | availability_zone | None | | created_at | 2021-10-08T01:49:33.504792 | | status | creating | | name | share01 | | description | None | | project_id | facc545a7f9e4218884c40169158a2dc | | snapshot_id | None | | share_network_id | None | | share_proto | NFS | | metadata | {} | | share_type | 5f92792f-51a8-4161-8e89-5170c12a61c6 | | 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 | f5a7ffdd6e54434badbd75ba0e6d6ac2 | | 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 | +---------------------------------------+--------------------------------------+ # OK if the Status turns to [available] after a few minutes ubuntu@dlp ~(keystone)$ manila list +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | be2bcfd6-d140-4081-a35d-ce4d3fbb381f | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
[4] | That's OK, you can use Manila Shared filesystem on your own instances like follows. |
ubuntu@dlp ~(keystone)$ openstack server list +--------------------------------------+-------------+---------+-------------------------------------+------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+---------+-------------------------------------+------------+----------+ | 4699d575-1d94-4024-8323-9dfa3599c8d2 | Ubuntu-2004 | SHUTOFF | private=10.0.0.249, 192.168.100.237 | Ubuntu2004 | m1.small | +--------------------------------------+-------------+---------+-------------------------------------+------------+----------+ # set access permission first ubuntu@dlp ~(keystone)$ manila access-allow share01 ip 10.0.0.0/24 --access-level rw +--------------+--------------------------------------+ | Property | Value | +--------------+--------------------------------------+ | id | e41ecd80-d180-47a7-b90b-b6a841e6b6db | | share_id | be2bcfd6-d140-4081-a35d-ce4d3fbb381f | | access_level | rw | | access_to | 10.0.0.0/24 | | access_type | ip | | state | queued_to_apply | | access_key | None | | created_at | 2021-10-08T01:50:27.017429 | | updated_at | None | | metadata | {} | +--------------+--------------------------------------+ # OK if State turns to [active] ubuntu@dlp ~(keystone)$ manila access-list share01 +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | id | access_type | access_to | access_level | state | access_key | created_at | updated_at | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | e41ecd80-d180-47a7-b90b-b6a841e6b6db | ip | 10.0.0.0/24 | rw | active | None | 2021-10-08T01:50:27.017429 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
ubuntu@dlp ~(keystone)$
openstack server start Ubuntu-2004 # confirm access Path ubuntu@dlp ~(keystone)$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-3fd741d5-4cb7-444b-87fc-a14e0727f02fubuntu@dlp ~(keystone)$ ssh ubuntu@10.0.0.249 Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-88-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Fri Oct 8 01:52:19 UTC 2021 ..... ..... # mount Manila shared storage ubuntu@ubuntu-2004:~$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-3fd741d5-4cb7-444b-87fc-a14e0727f02f /mnt ubuntu@ubuntu-2004:~$ df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 977M 0 977M 0% /dev tmpfs tmpfs 199M 964K 198M 1% /run /dev/vda1 ext4 9.6G 1.4G 8.2G 15% / tmpfs tmpfs 994M 0 994M 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs tmpfs 994M 0 994M 0% /sys/fs/cgroup /dev/loop0 squashfs 62M 62M 0 100% /snap/core20/1081 /dev/loop1 squashfs 68M 68M 0 100% /snap/lxd/21545 /dev/loop2 squashfs 33M 33M 0 100% /snap/snapd/13170 /dev/vda15 vfat 105M 5.2M 100M 5% /boot/efi /dev/loop3 squashfs 62M 62M 0 100% /snap/core20/1169 tmpfs tmpfs 199M 0 199M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-3fd741d5-4cb7-444b-87fc-a14e0727f02f nfs4 9.8G 36M 9.3G 1% /mnt |
Sponsored Link |