openstack-manuals/doc/config-reference/source/block-storage/drivers/nimble-volume-driver.rst

139 lines
3.8 KiB
ReStructuredText

============================
Nimble Storage volume driver
============================
Nimble Storage fully integrates with the OpenStack platform through
the Nimble Cinder driver, allowing a host to configure and manage Nimble
Storage array features through Block Storage interfaces.
Support for the Liberty release is available from Nimble OS 2.3.8 or later.
Supported operations
~~~~~~~~~~~~~~~~~~~~
* Create, delete, clone, attach, and detach volumes
* Create and delete volume snapshots
* Create a volume from a snapshot
* Copy an image to a volume
* Copy a volume to an image
* Extend a volume
* Get volume statistics
* Manage and unmanage a volume
* Enable encryption and default performance policy for a volume-type
extra-specs
* Force backup of an in-use volume.
.. note::
The Nimble Storage implementation uses iSCSI only.
Fibre Channel is not supported.
Nimble Storage driver configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update the file ``/etc/cinder/cinder.conf`` with the given configuration.
In case of a basic (single back-end) configuration, add the parameters
within the ``[default]`` section as follows.
.. code-block:: ini
[default]
san_ip = NIMBLE_MGMT_IP
san_login = NIMBLE_USER
san_password = NIMBLE_PASSWORD
volume_driver = cinder.volume.drivers.nimble.NimbleISCSIDriver
In case of multiple back-end configuration, for example, configuration
which supports multiple Nimble Storage arrays or a single Nimble Storage
array with arrays from other vendors, use the following parameters.
.. code-block:: ini
[default]
enabled_backends = Nimble-Cinder
[Nimble-Cinder]
san_ip = NIMBLE_MGMT_IP
san_login = NIMBLE_USER
san_password = NIMBLE_PASSWORD
volume_driver = cinder.volume.drivers.nimble.NimbleISCSIDriver
volume_backend_name = NIMBLE_BACKEND_NAME
In case of multiple back-end configuration, Nimble Storage volume type
is created and associated with a back-end name as follows.
.. note::
Single back-end configuration users do not need to create the volume type.
.. code-block:: console
$ cinder type-create NIMBLE_VOLUME_TYPE
$ cinder type-key NIMBLE_VOLUME_TYPE set volume_backend_name=NIMBLE_BACKEND_NAME
This section explains the variables used above:
NIMBLE_MGMT_IP
Management IP address of Nimble Storage array/group.
NIMBLE_USER
Nimble Storage account login with minimum ``power user`` (admin) privilege
if RBAC is used.
NIMBLE_PASSWORD
Password of the admin account for nimble array.
NIMBLE_BACKEND_NAME
A volume back-end name which is specified in the ``cinder.conf`` file.
This is also used while assigning a back-end name to the Nimble volume type.
NIMBLE_VOLUME_TYPE
The Nimble volume-type which is created from the CLI and associated with
``NIMBLE_BACKEND_NAME``.
.. note::
Restart the ``cinder-api``, ``cinder-scheduler``, and ``cinder-volume``
services after updating the ``cinder.conf`` file.
Nimble driver extra spec options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Nimble volume driver also supports the following extra spec options:
'nimble:encryption'='yes'
Used to enable encryption for a volume-type.
'nimble:perfpol-name'=PERF_POL_NAME
PERF_POL_NAME is the name of a performance policy which exists on the
Nimble array and should be enabled for every volume in a volume type.
'nimble:multi-initiator'='true'
Used to enable multi-initiator access for a volume-type.
These extra-specs can be enabled by using the following command:
.. code-block:: console
$ cinder type-key VOLUME_TYPE set KEY=VALUE
``VOLUME_TYPE`` is the Nimble volume type and ``KEY`` and ``VALUE`` are
the options mentioned above.
Configuration options
~~~~~~~~~~~~~~~~~~~~~
The Nimble storage driver supports these configuration options:
.. include:: ../../tables/cinder-nimble.rst