OpenStack Ussuri : Manila 利用方法 (ローカルデバイス)2020/06/10 |
|
OpenStack Shared File System(Manila)による共有の設定です。
当例では以下のような環境を例に Manila をインストールして設定しています。
例として、Storage ノードのローカルブロックデバイスを
LVM バックエンドの共有ストレージとして設定し、インスタンスから利用できるようにします。
よって、前提として Storage ノードに空きブロックデバイスがある必要があります。
------------+---------------------------+---------------------------+------------
| | |
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 | | L2 Agent | | Nova Compute |
| Keystone Glance | | L3 Agent | | Open vSwitch |
| Nova API | | Metadata Agent | | L2 Agent |
| Neutron Server | | Manila Share | | |
| Metadata Agent | | | | |
| Manila API | | | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [1] | Storage ノードの設定です。 |
|
[root@storage ~]#
dnf -y install nfs-utils nfs4-acl-tools # 空きデバイスに Manila 用ボリューム作成 [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 # [DEFAULT] セクション内の任意の場所へ追記
enabled_share_backends = lvm
# 最終行へ追記 [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 enable --now openstack-manila-share nfs-server
|
| [2] | デフォルトの共有タイプを作成します。作業は、どこでもよいですが、当例ではコントロールノード上で行います。 |
|
[root@dlp ~(keystone)]# manila type-create default_share_type False +----------------------+--------------------------------------+ | Property | Value | +----------------------+--------------------------------------+ | ID | 4f721763-0a1b-4065-87eb-eba2cdb56a51 | | 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 | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ | 4f721763-0a1b-4065-87eb-eba2cdb56a51 | default_share_type | public | YES | driver_handles_share_servers : False | | None | +--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+ |
| [3] | 共有を作成して自身が所有するインスタンスで利用したい任意のユーザーで、NFS 共有を作成します。 |
|
[cent@dlp ~(keystone)]$ manila create NFS 10 --name share01
+---------------------------------------+--------------------------------------+
| Property | Value |
+---------------------------------------+--------------------------------------+
| id | 4b852672-6c69-42c3-977e-ef96966848d6 |
| size | 10 |
| availability_zone | None |
| created_at | 2020-06-10T02:24:23.000000 |
| status | creating |
| name | share01 |
| description | None |
| project_id | d9c8c215499949cfb249b28bdaba848a |
| snapshot_id | None |
| share_network_id | None |
| share_proto | NFS |
| metadata | {} |
| share_type | 4f721763-0a1b-4065-87eb-eba2cdb56a51 |
| 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 | 0e4117de456a4bbaa5aac2cc6507be91 |
| 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 |
+---------------------------------------+--------------------------------------+
# Status が [available] になれば作成完了 [cent@dlp ~(keystone)]$ manila list +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ | 4b852672-6c69-42c3-977e-ef96966848d6 | share01 | 10 | NFS | available | False | default_share_type | | nova | +--------------------------------------+---------+------+-------------+-----------+-----------+--------------------+------+-------------------+ |
| [4] | 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。 |
|
[cent@dlp ~(keystone)]$ openstack server list +--------------------------------------+----------+---------+------------------------------------+---------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+----------+---------+------------------------------------+---------+----------+ | 2929c442-26c4-41cb-b95f-98c3adceb3ef | CentOS_8 | SHUTOFF | int_net=192.168.100.24, 10.0.0.247 | CentOS8 | m1.small | +--------------------------------------+----------+---------+------------------------------------+---------+----------+ # アクセス許可の設定 (IP にはインスタンスの IPアドレス または インスタンスが属するサブネットを指定) [cent@dlp ~(keystone)]$ manila access-allow share01 ip 10.0.0.0/24 --access-level rw
+--------------+--------------------------------------+
| Property | Value |
+--------------+--------------------------------------+
| id | fa98830f-e62c-4027-86b9-99eb55084572 |
| share_id | 4b852672-6c69-42c3-977e-ef96966848d6 |
| access_level | rw |
| access_to | 10.0.0.0/24 |
| access_type | ip |
| state | queued_to_apply |
| access_key | None |
| created_at | 2020-06-10T02:28:46.000000 |
| updated_at | None |
| metadata | {} |
+--------------+--------------------------------------+
# State が [active] であれば問題なし [cent@dlp ~(keystone)]$ manila access-list share01 +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | id | access_type | access_to | access_level | state | access_key | created_at | updated_at | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+ | fa98830f-e62c-4027-86b9-99eb55084572 | ip | 10.0.0.0/24 | rw | active | None | 2020-06-10T02:28:46.000000 | None | +--------------------------------------+-------------+-------------+--------------+--------+------------+----------------------------+------------+
[cent@dlp ~(keystone)]$
openstack server start CentOS_8 # アクセス Path 確認 [cent@dlp ~(keystone)]$ manila show share01 | grep path | cut -d'|' -f3 path = 10.0.0.50:/var/lib/manila/mnt/share-3544d5a3-7157-4c10-aaa3-edd4b6fd2512
[cent@dlp ~(keystone)]$
ssh centos@10.0.0.247 Last login: Mon Jun 8 03:57:42 2020 from 10.0.0.30 [centos@centos-8 ~]$ # Manila 共有ストレージをマウント [centos@centos-8 ~]$ sudo mount -t nfs \ 10.0.0.50:/var/lib/manila/mnt/share-3544d5a3-7157-4c10-aaa3-edd4b6fd2512 /mnt [centos@centos-8 ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 901M 0 901M 0% /dev tmpfs tmpfs 915M 0 915M 0% /dev/shm tmpfs tmpfs 915M 17M 899M 2% /run tmpfs tmpfs 915M 0 915M 0% /sys/fs/cgroup /dev/vda4 xfs 7.4G 1.4G 6.1G 18% / /dev/vda2 ext4 976M 120M 790M 14% /boot tmpfs tmpfs 183M 0 183M 0% /run/user/1000 10.0.0.50:/var/lib/manila/mnt/share-3544d5a3-7157-4c10-aaa3-edd4b6fd2512 nfs4 9.8G 36M 9.3G 1% /mnt |
| Sponsored Link |
|
|