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 four share types (which map to three 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 on critical power
- use "Meyrin CephFS B" when you're interested in snapshot functionality. At the moment is considered for testing usage.
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, which has the tools installed.
Once logged onto lxplus, obtain your OpenStack credentials and create 1 GB share called 'myshare01' with
If you'd like to create a share on the test cluster:
[lxplus]$ openstack share create --name myshare01 --share-type "Geneva CephFS Testing" CephFS 1
If you'd like to create a share on the production cluster:
[lxplus]$ openstack share create --name myshare01 --share-type "Meyrin CephFS" CephFS 1
In order to check to which share types you have access you can use:
[lxplus]$ openstack share type list
3. Define the access rules for the share
Still on lxplus8, grant access to the share called
myshare01 to the cephx id
[lxplus]$ openstack share access create 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]$ openstack share 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]$ openstack share show myshare01 -c export_locations
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.