Four basic steps are required to set up a CephFS share with Manila:
- Obtain quota for file shares
- Create a file share
- Define the access rules for the share
- Mount the share (via Puppet or manually)
In this quickstart guide, share creation and access definition is done with the Manila command line
tools. These steps can of course also be done via the OpenStack GUI via the
NOTE: CephFS shares are available for Linux virtual machines only (via FUSE or the kernel client). There is no Windows driver (or a gateway) available at the moment. If you need more space on a Windows instance, consider attaching a volume or booting from volume instead.
1. Obtain quota for CephFS shares
In order to create CephFS shares via Manila, you'll need to request some quota for your project. This is done via the 'Request Quota Change' from the overview panel in the OpenStack Dashboard. Currently, you can choose from three share types (which map to two different CephFS clusters):
- use "Geneva CephFS Testing" when you'd like to do some functional testing with a CephFS backend
- use "Meyrin CephFS" for production use (after having performed some functional testing)
- use "Meyrin CephFS Vault SSD A" for production usage, backed by an all-SSD cluster
2. Create a share
In order to create share on the CLI, you'll need access to the Manila client tools. We recommend to use lxplus-cloud, a subset of 'lxplus', which has the tools installed.
Once logged onto lxplus-cloud, obtain your OpenStack credentials, e.g. by sourcing your openrc file, and create 1 GB share called 'myshare01' with
If you'd like to create a share on the test cluster:
[lxplus-cloud]$ manila create --share-type "Geneva CephFS Testing" --name myshare01 cephfs 1
If you'd like to create a share on the production cluster:
[lxplus-cloud]$ manila create --share-type "Meyrin CephFS" --name myshare01 cephfs 1
In order to check to which share types you have access you can use:
[lxplus-cloud]$ manila type-list
3. Define the access rules for the share
Still on lxplus-cloud, grant access to the share called
myshare01 to the cephx id
[lxplus-cloud]$ manila access-allow myshare01 cephx myauthid01
The cephx id is not related with your user or the project ID, but is an ID used by the CephFS backend to control access. If the identifier does not exist, it will be created automatically.
4. Mount the share
For mounting, we'll need to gather more cephx and path information to be used when configuring the clients in the next step.
First, get the cephx secret and note this down for later. You can get it with:
[lxplus-cloud]$ manila access-list myshare01
Your secret corresponds with the
access_key column. This will be a random string looking like the following:
Next, get the mount prefix of the share using:
[lxplus-cloud]$ manila share-export-location-list myshare01
You should see the prefix in the 'Path' column; it should look like
You're now ready to mount the share.
... with Puppet
To mount your share on a Puppet-managed machine, you should use the
cephfs module documented here.
Otherwise, this tutorial explains how to install a cephfs client on a self-managed machine.