OpenStack Victoria : How to use Manila (Local Device)2020/10/21 |
|
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 | | | | Libvirt |
| Memcached httpd | | L2 Agent | | Nova Compute |
| Keystone Glance | | L3 Agent | | L2 Agent |
| Nova API | | Metadata Agent | | |
| Neutron Server | | Manila Share | | |
| Metadata Agent | | | | |
| Manila API | | | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [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/sdb1 Physical volume "/dev/sdb1" successfully created root@storage:~# vgcreate manila-volumes /dev/sdb1 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 | dc2ec14e-725a-42b1-add0-119823b116ef | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | dc2ec14e-725a-42b1-add0-119823b116ef | 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 | 4bf919e8-d112-443b-b058-3bc71fd14667 |
| size | 10 |
| availability_zone | None |
| created_at | 2020-10-21T00:46:12.000000 |
| status | creating |
| name | share01 |
| description | None |
| project_id | 6c44eafd4f614985bf74b94f2aee82fb |
| snapshot_id | None |
| share_network_id | None |
| share_proto | NFS |
| metadata | {} |
| share_type | dc2ec14e-725a-42b1-add0-119823b116ef |
| 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 | a13cfae0e5eb466fae71a636a6ffb6b4 |
| 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 | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | 4bf919e8-d112-443b-b058-3bc71fd14667 | 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 | +--------------------------------------+-------------+---------+-------------------------------------+------------+----------+ | 10abf4e3-d5d9-4b57-a5a0-7cb767442dcc | Ubuntu_2004 | SHUTOFF | private=192.168.100.188, 10.0.0.236 | 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 | 612f690c-0976-418e-8357-7121cdada678 |
| share_id | 4bf919e8-d112-443b-b058-3bc71fd14667 |
| access_level | rw |
| access_to | 10.0.0.0/24 |
| access_type | ip |
| state | queued_to_apply |
| access_key | None |
| created_at | 2020-10-21T00:47:04.000000 |
| 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 | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | 612f690c-0976-418e-8357-7121cdada678 | ip | 10.0.0.0/24 | rw | active | None | 2020-10-21T00:47:04.000000 | 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-c090eb93-7055-40b8-ad93-ce401d235b99ubuntu@dlp ~(keystone)$ ssh ubuntu@10.0.0.236 Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-51-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage Last login: Mon Oct 19 19:32:37 2020 from 10.0.0.30 # mount Manila shared storage ubuntu@ubuntu-2004:~$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-c090eb93-7055-40b8-ad93-ce401d235b99 /mnt ubuntu@ubuntu-2004:~$ df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 966M 0 966M 0% /dev tmpfs tmpfs 199M 700K 199M 1% /run /dev/mapper/vgubuntu-root ext4 8.4G 1.8G 6.2G 22% / 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/vda1 vfat 511M 4.0K 511M 1% /boot/efi tmpfs tmpfs 199M 0 199M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-c090eb93-7055-40b8-ad93-ce401d235b99 nfs4 9.8G 36M 9.3G 1% /mnt |
| Sponsored Link |
|
|