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 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.

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

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 myauthid01

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

AQAdFCNYDCrpKRAANuK/CiEKbogx9fR5+t2dcQ==

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

/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.