Chapter 13. Install the File Share Service (Technology Preview)

OpenStack’s File Share Service provides the means to easily provision shared file systems that can be consumed by multiple instances. These shared file systems are provisioned from pre-existing back end volumes.

Warning

The OpenStack File Share Service is available in this release as a Technology Preview, and therefore is not fully supported by Red Hat. It should only be used for testing, and should not be deployed in a production environment. For more information about Technology Preview features, see Scope of Coverage Details.
The OpenStack File Share Service can be deployed with either of two drivers:
glusterfs_native
This driver uses the FUSE protocol to mount shares, and can secure access to provisioned shares through TLS authentication and network encryption. With this driver, the File Share Service will require existing Red Hat Gluster volumes to serve as back ends for provisioned shares. You can also create snapshots of shares provisioned through this driver, but only if the back end volumes are created from thinly-provisioned LV bricks.
glusterfs
With this driver, you can provision and serve ready-to-mount shares through NFS or NFS-Ganesha, securing share access through IP-based authentication. The glusterfs driver requires an existing Red Hat Gluster volume as a back end; when provisioning a share, the driver creates a sub-directory in the volume for the share.
Red Hat also provides comprehensive instructions on how to deploy the File Share Service with OpenStack specifically for testing purposes. For more information (including steps on provisioning and managing shares through the file share service), see:

13.1. File Share Service Back End Requirements

The OpenStack File Share Service allows you to create shared file systems on demand. However, the volumes that will serve as back ends for these shares must already exist. This release has been tested successfully with Red Hat Gluster Storage 3.1 volumes serving as share back ends.

13.1.1. glusterfs_native

The glusterfs_native driver uses Red Hat Gluster Storage volumes as storage back end for provisioned shares. These volumes must be created and configured beforehand; each provisioned share uses up a volume. As such, you should anticipate demand with an appropriate number of volumes.
For best results when deploying with the glusterfs_native driver, use thinly-provisioned LV bricks as your share back ends, with one logical volume per brick. These are the only volumes from which the File Share Service can create snapshots. Attempting to create snapshots on any other back end types (particularly, those that don't support snapshots) will fail ungracefully (BZ#1250043). For instructions on how to create volumes from a thin LV brick, see Formatting and Mounting Bricks.
In addition, volumes serving as file share back ends must also follow a naming convention that allows the File Share Service to identify their sizes. For the purposes of this chapter, we will use the naming convention manila-share-volume-VOLSIZEG-VOLNUM, where VOLSIZE is the size of the volume (in gigabytes) and VOLNUM is a simple unique identifier. For example, manila-share-volume-1G-01 would be the name of the first 1GB volume available for use.
Lastly, if you are enabling TLS authentication on the Red Hat Gluster Storage back end, use I/O Encryption instead of Management Encryption. For more information, see Configuring Network Encryption in Red Hat Gluster Storage.

13.1.2. glusterfs

With the glusterfs driver, the File Share Service can provision shares that can be mounted through either NFS or NFS-Ganesha. This driver, however, only requires one pre-configured Red Hat Gluster Storage volume from one storage pool to serve as back end for all provisioned shares. By contrast, the glusterfs_native driver requires one volume per provisioned share.
When provisioning a share, the glusterfs driver creates a sub-directory in the back end volume to serve as storage for the share. In addition, the driver also controls access to each share through IP authentication.
Shares provisioned through the glusterfs driver are served through NFS or NFS-Ganesha. As such, you should have either service already configured on the Red Hat Gluster Storage host. For instructions on how to set up either service, see NFS and NFS-Ganesha.