OpenStack Ussuri : How to use Manila (Local Device)2020/06/18 |
This is How to use OpenStack Shared File System (Manila).
This example is based on the environment like follows.
For example, Configure local block device as shared storage on Storage Node and use it from 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 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 | a86f56a3-fd21-40c4-936c-dbae4ceafb5b | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | a86f56a3-fd21-40c4-936c-dbae4ceafb5b | 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 | 1c78dd34-c179-4a53-bdd8-32dfbd2789d9 | | size | 10 | | availability_zone | None | | created_at | 2020-06-17T08:29:45.000000 | | status | creating | | name | share01 | | description | None | | project_id | eaa8de359ae0451d944a6401e688f730 | | snapshot_id | None | | share_network_id | None | | share_proto | NFS | | metadata | {} | | share_type | a86f56a3-fd21-40c4-936c-dbae4ceafb5b | | 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 | 2a1e722c971c45d384efe048155d89c7 | | 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 | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | 1c78dd34-c179-4a53-bdd8-32dfbd2789d9 | 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 | +--------------------------------------+-------------+---------+-------------------------------------+------------+----------+ | 2dde6728-0e9a-4bd1-b10a-196162ec5e2a | Ubuntu_2004 | SHUTOFF | int_net=192.168.100.216, 10.0.0.210 | 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 | 713ebc06-41f5-414d-9765-67b1fad27cb5 | | share_id | 1c78dd34-c179-4a53-bdd8-32dfbd2789d9 | | access_level | rw | | access_to | 10.0.0.0/24 | | access_type | ip | | state | queued_to_apply | | access_key | None | | created_at | 2020-06-17T08:30:59.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 | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | 713ebc06-41f5-414d-9765-67b1fad27cb5 | ip | 10.0.0.0/24 | rw | active | None | 2020-06-17T08:30:59.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-29407330-4d5d-4165-af71-f394f05bf339ubuntu@dlp ~(keystone)$ ssh ubuntu@10.0.0.210 Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-33-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Wed 17 Jun 2020 05:32:30 PM JST System load: 0.41 Processes: 105 Usage of /: 24.1% of 8.34GB Users logged in: 0 Memory usage: 7% IPv4 address for ens3: 192.168.100.216 Swap usage: 0% 0 updates can be installed immediately. 0 of these updates are security updates. The list of available updates is more than a week old. To check for new updates run: sudo apt update # mount Manila shared storage ubuntu@ubuntu-2004:~$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-29407330-4d5d-4165-af71-f394f05bf339 /mnt ubuntu@ubuntu-2004:~$ df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 952M 0 952M 0% /dev tmpfs tmpfs 199M 716K 199M 1% /run /dev/mapper/vgubuntu-root ext4 8.4G 2.1G 5.9G 26% / 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-29407330-4d5d-4165-af71-f394f05bf339 nfs4 9.8G 36M 9.3G 1% /mnt |
Sponsored Link |