Skip to content

Quickstart

Quickstart

Four basic steps are required to set up a CephFS share with Manila:

  1. Obtain quota for file shares
  2. Create a file share
  3. Define the access rules for the share
  4. 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 Share tab.

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.

Alternatively, you can install the client tools yourself or use a pre-configured Docker image.

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 myauthid01

[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:

AQAdFCNYDCrpKRAANuK/CiEKbogx9fR5+t2dcQ==

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

/volumes/_nogroup/1234f761-8261-42d8-8f55-c1a8f688721d

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.

... manually

Otherwise, this tutorial explains how to install a cephfs client on a self-managed machine.