Ubuntu 18.04
Sponsored Link

OpenStack Rocky : How to use Manila#22018/09/18

 
Install OpenStack Shared File System (Manila).
This example is based on the emvironment like follows.
For example, Configure Manila share to use a designed instance.
------------+---------------------------+---------------------------+------------
            |                           |                           |
        eth0|10.0.0.30              eth0|10.0.0.50              eth0|10.0.0.51
+-----------+-----------+   +-----------+-----------+   +-----------+-----------+
|    [ Control Node ]   |   |    [ Storage Node ]   |   |    [ Compute Node ]   |
|                       |   |                       |   |                       |
|  MariaDB    RabbitMQ  |   |     Cinder-Volume     |   |        Libvirt        |
|  Memcached  httpd     |   |        L2 Agent       |   |     Nova Compute      |
|  Keystone   Glance    |   |        L3 Agent       |   |        L2 Agent       |
|  Nova API  Cinder API |   |     Metadata Agent    |   |                       |
|  Neutron Server       |   |      Manila Share     |   |                       |
|  Metadata Agent       |   |                       |   |                       |
|  Manila API           |   |                       |   |                       |
+-----------------------+   +-----------------------+   +-----------------------+

[1]
[2] Configure Storage Node.
root@storage:~#
vi /etc/manila/manila.conf
# add follows into [DEFAULT] section

enabled_share_backends = generic

# add follows to the end
[neutron]
url = http://10.0.0.30:9696
auth_url = http://10.0.0.30:5000
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = servicepassword

[nova]
auth_url = http://10.0.0.30:5000
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = servicepassword

[cinder]
auth_url = http://10.0.0.30:5000
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = cinder
password = servicepassword

[generic]
share_backend_name = backend01
share_driver = manila.share.drivers.generic.GenericShareDriver
driver_handles_share_servers = True
service_instance_flavor_id = 0
service_instance_security_group = manila-service
service_image_name = manila-service-image
service_instance_user = manila
service_instance_password = manila
interface_driver = manila.network.linux.interface.BridgeInterfaceDriver

root@storage:~#
systemctl restart manila-share

[3] Download official Manila designed image and add it to Glance. And more, create a security group for Manila Service.
root@dlp ~(keystone)#
wget http://tarballs.openstack.org/manila-image-elements/images/manila-service-image-master.qcow2

root@dlp ~(keystone)#
openstack image create "manila-service-image" --file manila-service-image-master.qcow2 --disk-format qcow2 --container-format bare --public

+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field            | Value                                                                                                                                                                                      |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum         | 529eb4279ca523edba8dc1bb23529b31                                                                                                                                                           |
| container_format | bare                                                                                                                                                                                       |
| created_at       | 2018-09-18T02:35:26Z                                                                                                                                                                       |
| disk_format      | qcow2                                                                                                                                                                                      |
| file             | /v2/images/055ffc4e-685d-4308-8122-703405ce4a5f/file                                                                                                                                       |
| id               | 055ffc4e-685d-4308-8122-703405ce4a5f                                                                                                                                                       |
| min_disk         | 0                                                                                                                                                                                          |
| min_ram          | 0                                                                                                                                                                                          |
| name             | manila-service-image                                                                                                                                                                       |
| owner            | a4307ece2969492eb795f64da4006b2d                                                                                                                                                           |
| properties       | os_hash_algo='sha512', os_hash_value='e4d9703f681095bf52f13324346d87cbae2323ea51fba5c94e2ccf68e6e686a92874b49d9bfdcc2d1595d0e7607836d7e54fb0c8a6cca3950512958abdf2b654', os_hidden='False' |
| protected        | False                                                                                                                                                                                      |
| schema           | /v2/schemas/image                                                                                                                                                                          |
| size             | 338506752                                                                                                                                                                                  |
| status           | active                                                                                                                                                                                     |
| tags             |                                                                                                                                                                                            |
| updated_at       | 2018-09-18T02:35:29Z                                                                                                                                                                       |
| virtual_size     | None                                                                                                                                                                                       |
| visibility       | public                                                                                                                                                                                     |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

root@dlp ~(keystone)#
openstack security group create manila-service

+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field           | Value                                                                                                                                                 |
+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
| created_at      | 2018-09-18T02:35:57Z                                                                                                                                  |
| description     | manila-service                                                                                                                                        |
| id              | 52b768a1-5051-4712-92e0-3a3597ea5418                                                                                                                  |
| name            | manila-service                                                                                                                                        |
| project_id      | a4307ece2969492eb795f64da4006b2d                                                                                                                      |
| revision_number | 1                                                                                                                                                     |
| rules           | created_at='2018-09-18T02:35:57Z', direction='egress', ethertype='IPv4', id='023d3457-4703-44ef-be11-b7fc2ebea49e', updated_at='2018-09-18T02:35:57Z' |
|                 | created_at='2018-09-18T02:35:57Z', direction='egress', ethertype='IPv6', id='ce99096c-82b2-4c58-811d-14ce3017e733', updated_at='2018-09-18T02:35:57Z' |
| tags            | []                                                                                                                                                    |
| updated_at      | 2018-09-18T02:35:57Z                                                                                                                                  |
+-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
[4] Create default share type.
root@dlp ~(keystone)#
manila type-create default_share_type True

+----------------------+--------------------------------------+
| Property             | Value                                |
+----------------------+--------------------------------------+
| required_extra_specs | driver_handles_share_servers : True  |
| Name                 | default_share_type                   |
| Visibility           | public                               |
| is_default           | YES                                  |
| ID                   | 6d2c0dfe-3135-4169-a464-c1e6515b1126 |
| optional_extra_specs |                                      |
| Description          | None                                 |
+----------------------+--------------------------------------+

root@dlp ~(keystone)#
manila type-list

+--------------------------------------+--------------------+------------+------------+-------------------------------------+----------------------+-------------+
| ID                                   | Name               | visibility | is_default | required_extra_specs                | optional_extra_specs | Description |
+--------------------------------------+--------------------+------------+------------+-------------------------------------+----------------------+-------------+
| 6d2c0dfe-3135-4169-a464-c1e6515b1126 | default_share_type | public     | YES        | driver_handles_share_servers : True |                      | None        |
+--------------------------------------+--------------------+------------+------------+-------------------------------------+----------------------+-------------+
[5] Login as a common user you'd like to use Manila Share and Create shared network.
ubuntu@dlp ~(keystone)$
openstack network list

+--------------------------------------+---------+--------------------------------------+
| ID                                   | Name    | Subnets                              |
+--------------------------------------+---------+--------------------------------------+
| 59845493-39f0-44ac-af69-4db727beaeaf | int_net | ee13f5fc-fc2c-4853-beb7-6cb911c69cb4 |
| a52a1645-55fb-4600-b42e-67bbdedae320 | ext_net | b81200dc-c6fb-491f-80b6-9176d5b4e48a |
+--------------------------------------+---------+--------------------------------------+

ubuntu@dlp ~(keystone)$
openstack subnet list

+--------------------------------------+---------+--------------------------------------+------------------+
| ID                                   | Name    | Network                              | Subnet           |
+--------------------------------------+---------+--------------------------------------+------------------+
| ee13f5fc-fc2c-4853-beb7-6cb911c69cb4 | subnet1 | 59845493-39f0-44ac-af69-4db727beaeaf | 192.168.100.0/24 |
+--------------------------------------+---------+--------------------------------------+------------------+

ubuntu@dlp ~(keystone)$
INT_NET=$(openstack network list | grep 'int_net' | awk '{print $2}')

ubuntu@dlp ~(keystone)$
INT_SUBNET=$(openstack subnet list | grep 'subnet1' | awk '{print $2}')
ubuntu@dlp ~(keystone)$
manila share-network-create --neutron-net-id $INT_NET --neutron-subnet-id $INT_SUBNET --name manila_share

+-------------------+--------------------------------------+
| Property          | Value                                |
+-------------------+--------------------------------------+
| network_type      | None                                 |
| name              | manila_share                         |
| segmentation_id   | None                                 |
| created_at        | 2018-09-18T02:37:44.711531           |
| neutron_subnet_id | ee13f5fc-fc2c-4853-beb7-6cb911c69cb4 |
| updated_at        | None                                 |
| mtu               | None                                 |
| gateway           | None                                 |
| neutron_net_id    | 59845493-39f0-44ac-af69-4db727beaeaf |
| ip_version        | None                                 |
| cidr              | None                                 |
| project_id        | 5f54b0ad76274f06b13f29458cc1c036     |
| id                | be965098-c418-4659-b296-4e80f5fbf433 |
| description       | None                                 |
+-------------------+--------------------------------------+

ubuntu@dlp ~(keystone)$
manila share-network-list

+--------------------------------------+--------------+
| id                                   | name         |
+--------------------------------------+--------------+
| be965098-c418-4659-b296-4e80f5fbf433 | manila_share |
+--------------------------------------+--------------+
[6] Create NFS share.
ubuntu@dlp ~(keystone)$
manila create NFS 5 --name share01 --share-network manila_share

+---------------------------------------+--------------------------------------+
| Property                              | Value                                |
+---------------------------------------+--------------------------------------+
| status                                | creating                             |
| share_type_name                       | default_share_type                   |
| description                           | None                                 |
| availability_zone                     | None                                 |
| share_network_id                      | be965098-c418-4659-b296-4e80f5fbf433 |
| 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                                    | 903a96df-38c3-4e15-87a6-62c0c601e4b4 |
| size                                  | 5                                    |
| source_share_group_snapshot_member_id | None                                 |
| user_id                               | 54951d6863024516a19ed9bda53be12f     |
| name                                  | share01                              |
| share_type                            | 6d2c0dfe-3135-4169-a464-c1e6515b1126 |
| has_replicas                          | False                                |
| replication_type                      | None                                 |
| created_at                            | 2018-09-18T02:38:18.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 |
+--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+
| 903a96df-38c3-4e15-87a6-62c0c601e4b4 | share01 | 5    | NFS         | available | False     | default_share_type |      | nova              |
+--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+
[7] At this point, network for Manila has been created within 10.254.0.0 network on Storage Node.
root@storage:~#
ip addr

.....
.....
8: ns-177b82c6-5c@tap177b82c6-5c: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fa:16:3e:99:a0:42 brd ff:ff:ff:ff:ff:ff
    inet 10.254.0.6/28 brd 10.254.0.15 scope global ns-177b82c6-5c
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe99:a042/64 scope link
       valid_lft forever preferred_lft forever
.....
.....
[8] It's OK all, you can use Manila Shared filesystem from your own 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 rights first

ubuntu@dlp ~(keystone)$
manila access-allow share01 ip 10.0.0.0/24 --access-level rw

+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| access_key   | None                                 |
| share_id     | 903a96df-38c3-4e15-87a6-62c0c601e4b4 |
| created_at   | 2018-09-18T02:41:51.000000           |
| updated_at   | None                                 |
| access_type  | ip                                   |
| access_to    | 10.0.0.0/24                          |
| access_level | rw                                   |
| state        | queued_to_apply                      |
| id           | 3904854a-2bac-43ff-b807-232749b24c2f |
| metadata     | {}                                   |
+--------------+--------------------------------------+

# 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 |
+--------------------------------------+-------------+------------------+--------------+--------+------------+----------------------------+------------+
| 3904854a-2bac-43ff-b807-232749b24c2f | ip          | 10.0.0.0/24      | rw           | active | None       | 2018-09-18T02:41:51.000000 | None       |
| 4677ac9c-42f6-4952-b26b-2d2ac5127db6 | ip          | 192.168.100.0/24 | rw           | active | None       | 2018-09-18T02:42:29.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.254.0.7:/shares/share-0f06fefe-96b0-47b3-9b39-1230eb5db2e3
ubuntu@dlp ~(keystone)$
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:43:55 JST 2018

  System load:  0.1               Processes:           93
  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.254.0.7:/shares/share-0f06fefe-96b0-47b3-9b39-1230eb5db2e3 /mnt

ubuntu@ubuntu-1804:~$
df -hT

Filesystem                                                    Type      Size  Used Avail Use% Mounted on
udev                                                          devtmpfs  967M     0  967M   0% /dev
tmpfs                                                         tmpfs     200M  644K  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.254.0.7:/shares/share-0f06fefe-96b0-47b3-9b39-1230eb5db2e3 nfs4      4.8G   10M  4.6G   1% /mnt
Matched Content