Debian 13 trixie

OpenStack Epoxy : Manila 利用 (ローカルデバイス)2025/09/01

 

OpenStack Shared File System(Manila)による共有の設定です。

当例では以下のような環境を例に Manila をインストールして設定しています。

例として、Storage ノードのローカルブロックデバイスを LVM バックエンドの共有ストレージとして設定し、インスタンスから利用できるようにします。 よって、前提として Storage ノードに空きブロックデバイスがある必要があります。

------------+--------------------------+--------------------------+------------
            |                          |                          |
        eth0|10.0.0.30             eth0|10.0.0.50             eth0|10.0.0.51
+-----------+-----------+  +-----------+-----------+  +-----------+-----------+
|   [ dlp.srv.world ]   |  | [ network.srv.world ] |  |  [ node01.srv.world ] |
|     (Control Node)    |  |     (Network Node)    |  |     (Compute Node)    |
|                       |  |                       |  |                       |
|  MariaDB    RabbitMQ  |  |  Neutron L2/L3 Agent  |  |        Libvirt        |
|  Memcached  Nginx     |  |   Neutron Metadata    |  |      Nova Compute     |
|  Keystone   httpd     |  |     Open vSwitch      |  |    Neutron L2 Agent   |
|  Glance     Nova API  |  |     iSCSI Target      |  |      Open vSwitch     |
|  Neutron Server       |  |     Cinder Volume     |  |                       |
|  Neutron Metadata     |  |     Manila Share      |  |                       |
| Cinder API Manila API |  |                       |  |                       |
+-----------------------+  +-----------------------+  +-----------------------+

[1] Storage ノードの設定です。
root@network:~#
apt -y install lvm2 nfs-kernel-server
# 空きデバイスに Manila 用ボリューム作成

root@network:~#
pvcreate /dev/sdc1

  Physical volume "/dev/sdc1" successfully created
root@network:~#
vgcreate manila-volumes /dev/sdc1

  Volume group "manila-volumes" successfully created
root@network:~#
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 = $my_ip
root@network:~#
systemctl restart manila-share nfs-server

root@network:~#
systemctl enable manila-share nfs-server
[2] デフォルトの共有タイプを作成します。作業は、どこでもよいですが、当例ではコントロールノード上で行います。
root@dlp ~(keystone)#
openstack share type create default_share_type False

+----------------------+--------------------------------------+
| Field                | Value                                |
+----------------------+--------------------------------------+
| id                   | 40c46367-f006-4d83-9f10-d2fc98d8a9af |
| name                 | default_share_type                   |
| visibility           | public                               |
| is_default           | True                                 |
| required_extra_specs | driver_handles_share_servers : False |
| optional_extra_specs |                                      |
| description          | None                                 |
+----------------------+--------------------------------------+

root@dlp ~(keystone)#
openstack share type list

+----------+----------+------------+------------+----------------------+----------------------+-------------+
| ID       | Name     | Visibility | Is Default | Required Extra Specs | Optional Extra Specs | Description |
+----------+----------+------------+------------+----------------------+----------------------+-------------+
| 40c46367 | default_ | public     | True       | driver_handles_share |                      | None        |
| -f006-   | share_ty |            |            | _servers : False     |                      |             |
| 4d83-    | pe       |            |            |                      |                      |             |
| 9f10-    |          |            |            |                      |                      |             |
| d2fc98d8 |          |            |            |                      |                      |             |
| a9af     |          |            |            |                      |                      |             |
+----------+----------+------------+------------+----------------------+----------------------+-------------+
[3] 共有を作成して自身が所有するインスタンスで利用したい任意のユーザーで、NFS 共有を作成します。
debian@dlp ~(keystone)$
openstack share create NFS 10 --name share01 --share-type default_share_type

+---------------------------------------+--------------------------------------+
| Field                                 | Value                                |
+---------------------------------------+--------------------------------------+
| id                                    | 4d4c9ead-c572-453e-88d7-dac2863ffca2 |
| size                                  | 10                                   |
| availability_zone                     | None                                 |
| created_at                            | 2025-09-01T03:41:50.992450           |
| status                                | creating                             |
| name                                  | share01                              |
| description                           | None                                 |
| project_id                            | ecfa98ba82de421e8f16c3d862b5ab04     |
| snapshot_id                           | None                                 |
| share_network_id                      | None                                 |
| share_proto                           | NFS                                  |
| metadata                              | {}                                   |
| share_type                            | 40c46367-f006-4d83-9f10-d2fc98d8a9af |
| volume_type                           | default_share_type                   |
| 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                               | da64c3c335434563b66eb2e8af260392     |
| 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                                 |
| is_soft_deleted                       | False                                |
| scheduled_to_be_deleted_at            | None                                 |
| source_backup_id                      | None                                 |
+---------------------------------------+--------------------------------------+

# Status が [available] になれば作成完了

debian@dlp ~(keystone)$
openstack share list

+----------+---------+------+-------------+----------+-----------+-----------------+------+-------------------+
| ID       | Name    | Size | Share Proto | Status   | Is Public | Share Type Name | Host | Availability Zone |
+----------+---------+------+-------------+----------+-----------+-----------------+------+-------------------+
| 4d4c9ead | share01 |   10 | NFS         | availabl | False     | default_share_t |      | nova              |
| -c572-   |         |      |             | e        |           | ype             |      |                   |
| 453e-    |         |      |             |          |           |                 |      |                   |
| 88d7-    |         |      |             |          |           |                 |      |                   |
| dac2863f |         |      |             |          |           |                 |      |                   |
| fca2     |         |      |             |          |           |                 |      |                   |
+----------+---------+------+-------------+----------+-----------+-----------------+------+-------------------+
[4] 以上で、共有を作成したユーザーが所有するインスタンスから Manila の共有サービスを利用することができます。
debian@dlp ~(keystone)$
openstack server list

+----------------+-----------+---------+-----------------+----------+----------+
| ID             | Name      | Status  | Networks        | Image    | Flavor   |
+----------------+-----------+---------+-----------------+----------+----------+
| 2deabceb-e220- | Debian-13 | SHUTOFF | private=10.0.0. | Debian13 | m1.small |
| 4e5c-b8dd-     |           |         | 249,            |          |          |
| 320683d0bf0b   |           |         | 192.168.100.39  |          |          |
+----------------+-----------+---------+-----------------+----------+----------+

# アクセス許可の設定 (インスタンスの IP アドレス または インスタンスが属するサブネットを指定)

debian@dlp ~(keystone)$
openstack share access create share01 ip 10.0.0.0/24 --access-level rw

+--------------+--------------------------------------+
| Field        | Value                                |
+--------------+--------------------------------------+
| id           | 008385b5-4fec-4bdb-8aab-363ebd332f98 |
| share_id     | 4d4c9ead-c572-453e-88d7-dac2863ffca2 |
| access_level | rw                                   |
| access_to    | 10.0.0.0/24                          |
| access_type  | ip                                   |
| state        | queued_to_apply                      |
| access_key   | None                                 |
| created_at   | 2025-09-01T03:42:52.647938           |
| updated_at   | None                                 |
| properties   |                                      |
+--------------+--------------------------------------+

# State が [active] であれば OK

debian@dlp ~(keystone)$
openstack share access list share01

+----------+-------------+-----------+--------------+--------+------------+------------+------------+
| ID       | Access Type | Access To | Access Level | State  | Access Key | Created At | Updated At |
+----------+-------------+-----------+--------------+--------+------------+------------+------------+
| 008385b5 | ip          | 10.0.0.0/ | rw           | active | None       | 2025-09-   | 2025-09-   |
| -4fec-   |             | 24        |              |        |            | 01T03:42:5 | 01T03:42:5 |
| 4bdb-    |             |           |              |        |            | 2.647938   | 4.588911   |
| 8aab-    |             |           |              |        |            |            |            |
| 363ebd33 |             |           |              |        |            |            |            |
| 2f98     |             |           |              |        |            |            |            |
+----------+-------------+-----------+--------------+--------+------------+------------+------------+

debian@dlp ~(keystone)$
openstack server start Debian-13

# アクセス Path 確認

debian@dlp ~(keystone)$
openstack share show share01 | grep path | cut -d'|' -f3

 path = 10.0.0.50:/var/lib/manila/mnt/share-a89304d5-426b-4d9c-b1a6-a4bd62c044d0

debian@dlp ~(keystone)$
ssh debian@10.0.0.249

Linux debian-13 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Aug 29 04:29:29 2025 from 10.0.0.30
debian@debian-13:~$

# Manila 共有ストレージをマウント

debian@debian-13:~$
sudo mount -t nfs \
10.0.0.50:/var/lib/manila/mnt/share-a89304d5-426b-4d9c-b1a6-a4bd62c044d0 /mnt

debian@debian-13:~$
df -hT

Filesystem                                                               Type      Size  Used Avail Use% Mounted on
udev                                                                     devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                                                                    tmpfs     392M  600K  392M   1% /run
/dev/vda1                                                                ext4      9.7G  931M  8.3G  10% /
tmpfs                                                                    tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                                                                    tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs                                                                    tmpfs     2.0G     0  2.0G   0% /tmp
tmpfs                                                                    tmpfs     1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
tmpfs                                                                    tmpfs     1.0M     0  1.0M   0% /run/credentials/systemd-resolved.service
tmpfs                                                                    tmpfs     1.0M     0  1.0M   0% /run/credentials/systemd-networkd.service
/dev/vda15                                                               vfat      124M  8.7M  116M   8% /boot/efi
tmpfs                                                                    tmpfs     1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
tmpfs                                                                    tmpfs     1.0M     0  1.0M   0% /run/credentials/serial-getty@ttyS0.service
tmpfs                                                                    tmpfs     392M  4.0K  392M   1% /run/user/1000
10.0.0.50:/var/lib/manila/mnt/share-a89304d5-426b-4d9c-b1a6-a4bd62c044d0 nfs4      9.8G  2.0M  9.3G   1% /mnt
関連コンテンツ