OpenStack Rocky : How to use Manila#12018/09/18 |
This is How to use OpenStack Shared File System (Manila).
This example is based on the emvironment 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_ip = 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. (This example is on Control Node) |
root@dlp ~(keystone)# manila type-create default_share_type False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | required_extra_specs | driver_handles_share_servers : False | | Name | default_share_type | | Visibility | public | | is_default | YES | | ID | 674ab7fe-c48c-49f8-b0f8-bbb710d2565d | | optional_extra_specs | | | Description | None | +----------------------+--------------------------------------+root@dlp ~(keystone)# manila type-list +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | ID | Name | visibility | is_default | required_extra_specs | optional_extra_specs | Description | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | 674ab7fe-c48c-49f8-b0f8-bbb710d2565d | 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 | +---------------------------------------+--------------------------------------+ | status | creating | | share_type_name | default_share_type | | description | None | | availability_zone | None | | share_network_id | None | | share_group_id | None | | revert_to_snapshot_support | False | | access_rules_status | active | | snapshot_id | None | | create_share_from_snapshot_support | False | | is_public | False | | task_state | None | | snapshot_support | False | | id | 0814e8e2-1067-4b67-98d2-22fac46f42b3 | | size | 10 | | source_share_group_snapshot_member_id | None | | user_id | 54951d6863024516a19ed9bda53be12f | | name | share01 | | share_type | 674ab7fe-c48c-49f8-b0f8-bbb710d2565d | | has_replicas | False | | replication_type | None | | created_at | 2018-09-18T02:13:21.000000 | | share_proto | NFS | | mount_snapshot_support | False | | project_id | 5f54b0ad76274f06b13f29458cc1c036 | | metadata | {} | +---------------------------------------+--------------------------------------+ # few minutes later, the Status turns to available ubuntu@dlp ~(keystone)$ manila list +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | 0814e8e2-1067-4b67-98d2-22fac46f42b3 | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
[4] | It's OK, you can use Manila Shared filesystem from Instances like follows. |
ubuntu@dlp ~(keystone)$ openstack server list +--------------------------------------+-------------+---------+------------------------------------+------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-------------+---------+------------------------------------+------------+----------+ | e402a282-c5ae-4532-ad08-0a2f0d7803ac | Ubuntu_1804 | SHUTOFF | int_net=192.168.100.10, 10.0.0.214 | Ubuntu1804 | m1.small | +--------------------------------------+-------------+---------+------------------------------------+------------+----------+ # allow access permission first ubuntu@dlp ~(keystone)$ manila access-allow share01 ip 10.0.0.0/24 --access-level rw +--------------+--------------------------------------+ | Property | Value | +--------------+--------------------------------------+ | access_key | None | | share_id | 0814e8e2-1067-4b67-98d2-22fac46f42b3 | | created_at | 2018-09-18T02:14:36.000000 | | updated_at | None | | access_type | ip | | access_to | 10.0.0.0/24 | | access_level | rw | | state | queued_to_apply | | id | 915072ef-bc01-4c01-abf4-b16950a6a160 | | metadata | {} | +--------------+--------------------------------------+ # it's no ploblem 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 | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | 915072ef-bc01-4c01-abf4-b16950a6a160 | ip | 10.0.0.0/24 | rw | active | None | 2018-09-18T02:14:36.000000 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
ubuntu@dlp ~(keystone)$
openstack server start Ubuntu_1804 # confirm access Path ubuntu@dlp ~(keystone)$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-df956449-850d-403c-9820-75f052e1653c ssh ubuntu@10.0.0.214 Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-34-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Tue Sep 18 11:16:17 JST 2018 System load: 0.31 Processes: 91 Usage of /: 19.7% of 8.80GB Users logged in: 0 Memory usage: 6% IP address for ens3: 192.168.100.10 Swap usage: 0% * Read about Ubuntu updates for L1 Terminal Fault Vulnerabilities (L1TF). - https://ubu.one/L1TF * Want to make a highly secure kiosk, smart display or touchscreen? Here's a step-by-step tutorial for a rainy weekend, or a startup. - https://bit.ly/secure-kiosk 9 packages can be updated. 3 updates are security updates. # mount Manila shared storage ubuntu@ubuntu-1804:~$ sudo mount -t nfs 10.0.0.50:/var/lib/manila/mnt/share-df956449-850d-403c-9820-75f052e1653c /mnt ubuntu@ubuntu-1804:~$ df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 967M 0 967M 0% /dev tmpfs tmpfs 200M 640K 199M 1% /run /dev/mapper/ubuntu--vg-root ext4 8.9G 1.8G 6.7G 21% / tmpfs tmpfs 997M 0 997M 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs tmpfs 997M 0 997M 0% /sys/fs/cgroup tmpfs tmpfs 200M 0 200M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-df956449-850d-403c-9820-75f052e1653c nfs4 9.8G 36M 9.3G 1% /mnt |
Sponsored Link |