IBM GPFS driver

IBM GPFS driver

The GPFS driver uses IBM General Parallel File System (GPFS), a high-performance, clustered file system, developed by IBM, as the storage back end for serving file shares to the Shared File Systems service clients.

Supported shared filesystems and operations

The driver supports NFS shares.

The following operations are supported:

  • Create a share.

  • Delete a share.

  • Allow share access.

    Note the following limitations:

    • Only IP access type is supported.
    • Only read-write access level is supported.
  • Deny share access.

  • Create a snapshot.

  • Delete a snapshot.

  • Create a share from a snapshot.

Requirements

  • Install GPFS with server license, version >= 2.0, on the storage back end.
  • Install Kernel NFS or Ganesha NFS server on the storage back-end servers.
  • If using Ganesha NFS, currently NFS Ganesha v1.5 and v2.0 are supported.
  • Create a GPFS cluster and create a filesystem on the cluster, that will be used to create the Shared File Systems service shares.
  • Enable quotas for the GPFS file system, use mmchfs -Q yes.
  • Establish network connection between the Shared File Systems service host and the storage back end.

Shared File Systems service driver configuration setting

The following parameters in the Shared File Systems service configuration file need to be set:

share_driver = manila.share.drivers.ibm.gpfs.GPFSShareDriver
gpfs_share_export_ip = <IP to be added to GPFS export string>

If the back-end GPFS server is not running on the Shared File Systems service host machine, the following options are required to SSH to the remote GPFS back-end server:

gpfs_ssh_login = <GPFS server SSH login name>

Also one of the following settings is required to execute commands over SSH:

gpfs_ssh_private_key = <path to GPFS server SSH private key for login>

or:

gpfs_ssh_password = <GPFS server SSH login password>

Known restrictions

  • The driver does not support a segmented-network multi-tenancy model but instead works over a flat network where the tenants share a network.
  • While using remote GPFS node, with Ganesha NFS, gpfs_ssh_private_key for remote login to the GPFS node must be specified and there must be a passwordless authentication already setup between the manila-share service and the remote GPFS node.

Driver options

The following table contains the configuration options specific to the share driver.

Description of IBM GPFS Share Driver configuration options
Configuration option = Default value Description
[DEFAULT]  
gpfs_mount_point_base = $state_path/mnt (String) Base folder where exported shares are located.
gpfs_nfs_server_list = None (List) A list of the fully qualified NFS server names that make up the OpenStack Manila configuration.
gpfs_nfs_server_type = KNFS (String) NFS Server type. Valid choices are “KNFS” (kernel NFS) or “CES” (Ganesha NFS).
gpfs_share_export_ip = None (String) IP to be added to GPFS export string.
gpfs_share_helpers = KNFS=manila.share.drivers.ibm.gpfs.KNFSHelper, CES=manila.share.drivers.ibm.gpfs.CESHelper (List) Specify list of share export helpers.
gpfs_ssh_login = None (String) GPFS server SSH login name.
gpfs_ssh_password = None (String) GPFS server SSH login password. The password is not needed, if ‘gpfs_ssh_private_key’ is configured.
gpfs_ssh_port = 22 (Port number) GPFS server SSH port.
gpfs_ssh_private_key = None (String) Path to GPFS server SSH private key for login.
is_gpfs_node = False (Boolean) True:when Manila services are running on one of the Spectrum Scale node. False:when Manila services are not running on any of the Spectrum Scale node.
knfs_export_options = rw,sync,no_root_squash,insecure,no_wdelay,no_subtree_check (String) DEPRECATED: Options to use when exporting a share using kernel NFS server. Note that these defaults can be overridden when a share is created by passing metadata with key name export_options. This option isn’t used any longer. Please use share-type extra specs for export options.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.