openstack-manuals/doc/admin-guide-cloud/source/blockstorage_nfs_backend.rst
Joseph Robinson 8e9507bf9a Moving .rst format files to main admin-guide-cloud folder
This change moves the .rst files into the main adming-guide-cloud
folder now conversion is complete. changes to the project config
and to the openstack manuals to stop sync of .xml files
are also needed.

Change-Id: I498e8d6ac3cb80da413e23b14a0959abd58e7d79
Implements: blueprint reorganise-user-guides
2015-08-21 09:37:08 +02:00

5.0 KiB

Configure an NFS storage back end

This section explains how to configure OpenStack Block Storage to use NFS storage. You must be able to access the NFS shares from the server that hosts the cinder volume service.

Note

The cinder volume service is named openstack-cinder-volume on the following distributions:

  • CentOS
  • Fedora
  • openSUSE
  • Red Hat Enterprise Linux
  • SUSE Linux Enterprise

In Ubuntu and Debian distributions, the cinder volume service is named cinder-volume.

Configure Block Storage to use an NFS storage back end

  1. Log in as root to the system hosting the cinder volume service.

  2. Create a text file named nfsshares in /etc/cinder/.

  3. Add an entry to /etc/cinder/nfsshares for each NFS share that the cinder volume service should use for back end storage. Each entry should be a separate line, and should use the following format:

    HOST:SHARE

    Where:

    • HOST is the IP address or host name of the NFS server.
    • SHARE is the absolute path to an existing and accessible NFS share.
  4. Set /etc/cinder/nfsshares to be owned by the root user and the cinder group:

    # chown root:cinder /etc/cinder/nfsshares
  5. Set /etc/cinder/nfsshares to be readable by members of the cinder group:

    # chmod 0640 /etc/cinder/nfsshares
  6. Configure the cinder volume service to use the /etc/cinder/nfsshares file created earlier. To do so, open the /etc/cinder/cinder.conf configuration file and set the nfs_shares_config configuration key to /etc/cinder/nfsshares.

    On distributions that include openstack-config, you can configure this by running the following command instead:

    # openstack-config --set /etc/cinder/cinder.conf \
      DEFAULT nfs_shares_config /etc/cinder/nfsshares

    The following distributions include openstack-config:

    • CentOS
    • Fedora
    • openSUSE
    • Red Hat Enterprise Linux
    • SUSE Linux Enterprise
  7. Optionally, provide any additional NFS mount options required in your environment in the nfs_mount_options configuration key of /etc/cinder/cinder.conf. If your NFS shares do not require any additional mount options (or if you are unsure), skip this step.

    On distributions that include openstack-config, you can configure this by running the following command instead:

    # openstack-config --set /etc/cinder/cinder.conf \
      DEFAULT nfs_mount_options OPTIONS

    Replace OPTIONS with the mount options to be used when accessing NFS shares. See the manual page for NFS for more information on available mount options (man nfs).

  8. Configure the cinder volume service to use the correct volume driver, namely cinder.volume.drivers.nfs.NfsDriver. To do so, open the /etc/cinder/cinder.conf configuration file and set the volume_driver configuration key to cinder.volume.drivers.nfs.NfsDriver.

    On distributions that include openstack-config, you can configure this by running the following command instead:

    # openstack-config --set /etc/cinder/cinder.conf \
      DEFAULT volume_driver cinder.volume.drivers.nfs.NfsDriver
  9. You can now restart the service to apply the configuration.

    To restart the cinder volume service on CentOS, Fedora, openSUSE, Red Hat Enterprise Linux, or SUSE Linux Enterprise, run:

    # service openstack-cinder-volume restart

    To restart the cinder volume service on Ubuntu or Debian, run:

    # service cinder-volume restart

    Note

    The nfs_sparsed_volumes configuration key determines whether volumes are created as sparse files and grown as needed or fully allocated up front. The default and recommended value is true, which ensures volumes are initially created as sparse files.

    Setting nfs_sparsed_volumes to false will result in volumes being fully allocated at the time of creation. This leads to increased delays in volume creation.

    However, should you choose to set nfs_sparsed_volumes to false, you can do so directly in /etc/cinder/cinder.conf.

    On distributions that include openstack-config, you can configure this by running the following command instead:

    # openstack-config --set /etc/cinder/cinder.conf \
      DEFAULT nfs_sparsed_volumes false

    Warning

    If a client host has SELinux enabled, the virt_use_nfs boolean should also be enabled if the host requires access to NFS volumes on an instance. To enable this boolean, run the following command as the root user:

    # setsebool -P virt_use_nfs on

    This command also makes the boolean persistent across reboots. Run this command on all client hosts that require access to NFS volumes on an instance. This includes all compute nodes.