Shared Filesystems as a Service¶
This feature deploys Manila, the OpenStack Shared Filesystems service. It enables the user to create NFS Shared Filesystems on the Ceph storage backend.
Enabling Shared Filesystems¶
This feature requires the storage role. To enable this feature, run the following command:
sunbeam enable shared-filesystem
Note
This feature requires the microceph charm channel to be on
squid/beta or newer.
The openstack CLI can now be used to create and manage CephFS NFS Shared Filesystems. See the upstream Manila CLI documentation for details.
Disabling Shared Filesystems¶
To disable this feature, run the following command:
sunbeam disable shared-filesystem
Usage¶
Administrators need to create a share type suitable for CephFS NFS share:
openstack share type create cephfsnfstype false
+----------------------+--------------------------------------+
| Field | Value |
+----------------------+--------------------------------------+
| id | 8fa7d7ff-16de-44c4-97c2-627b608970bd |
| name | cephfsnfstype |
| visibility | public |
| is_default | False |
| required_extra_specs | driver_handles_share_servers : False |
| optional_extra_specs | |
| description | None |
+----------------------+--------------------------------------+
openstack share type set cephfsnfstype --extra-specs vendor_name=Ceph storage_protocol=NFS
Shares can then be created with the following command:
openstack share create --share-type cephfsnfstype --name cephnfsshare1 nfs 1
+---------------------------------------+--------------------------------------+
| Field | Value |
+---------------------------------------+--------------------------------------+
| access_rules_status | active |
| availability_zone | None |
| create_share_from_snapshot_support | False |
| created_at | 2025-08-18T07:19:04.825882 |
| description | None |
| has_replicas | False |
| host | |
| id | 9ad6e4f1-26c2-47b0-944a-957c973e8260 |
| is_public | False |
| is_soft_deleted | False |
| metadata | {} |
| mount_snapshot_support | False |
| name | cephnfsshare2 |
| progress | None |
| project_id | 59e4d08bafeb42a2987d0dd7ef477764 |
| replication_type | None |
| revert_to_snapshot_support | False |
| scheduled_to_be_deleted_at | None |
| share_group_id | None |
| share_network_id | None |
| share_proto | NFS |
| share_server_id | None |
| share_type | 89a7c4c9-9f01-4051-a1f2-407c63387e68 |
| share_type_name | cephfsnfstype |
| size | 1 |
| snapshot_id | None |
| snapshot_support | False |
| source_backup_id | None |
| source_share_group_snapshot_member_id | None |
| status | creating |
| task_state | None |
| user_id | 03ed09d378be484cade24f5731bb820d |
| volume_type | cephfsnfstype |
+---------------------------------------+--------------------------------------+
The created share should be available:
openstack share list
+--------------------------------------+---------------+------+-------------+-----------+-----------+-----------------+--------------------------------+-------------------+
| ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone |
+--------------------------------------+---------------+------+-------------+-----------+-----------+-----------------+--------------------------------+-------------------+
| 5c156c74-43bf-432b-af2e-bddc82f5c6f9 | cephnfsshare1 | 1 | NFS | available | False | cephfsnfstype | manila-cephfs-0@cephnfs#cephfs | nova |
+--------------------------------------+---------------+------+-------------+-----------+-----------+-----------------+--------------------------------+-------------------+
Note the export location of the share:
openstack share export location list cephnfsshare1
+--------------------------------------+------------------------------------------------------------------------------------------------------------+-----------+
| ID | Path | Preferred |
+--------------------------------------+------------------------------------------------------------------------------------------------------------+-----------+
| 96f2ae5a-7fdf-4457-a65d-6b8579635dd0 | 192.168.137.10:/volumes/_nogroup/5692f246-d3d0-4567-81a6-3f590d1957a4/aa0c7383-b5e1-48ab-984c-15b6219c48e7 | True |
+--------------------------------------+------------------------------------------------------------------------------------------------------------+-----------+
The export location of the share contains the bind IP address of the NFS Ganesha server and the path to be mounted.