
Switch to using dynamic generation using config-table. Change-Id: I02eb65683ecc3ee00ae0af994c410ff83ce94c9c
196 lines
5.4 KiB
ReStructuredText
196 lines
5.4 KiB
ReStructuredText
========================================
|
|
INFINIDAT InfiniBox Block Storage driver
|
|
========================================
|
|
|
|
The INFINIDAT Block Storage volume driver provides iSCSI and Fibre Channel
|
|
support for INFINIDAT InfiniBox storage systems.
|
|
|
|
This section explains how to configure the INFINIDAT driver.
|
|
|
|
Supported operations
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* Create, delete, attach, and detach volumes.
|
|
* Create, list, and delete volume snapshots.
|
|
* Create a volume from a snapshot.
|
|
* Copy a volume to an image.
|
|
* Copy an image to a volume.
|
|
* Clone a volume.
|
|
* Extend a volume.
|
|
* Get volume statistics.
|
|
* Create, modify, delete, and list consistency groups.
|
|
* Create, modify, delete, and list snapshots of consistency groups.
|
|
* Create consistency group from consistency group or consistency group
|
|
snapshot.
|
|
|
|
External package installation
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The driver requires the ``infinisdk`` package for communicating with
|
|
InfiniBox systems. Install the package from PyPI using the following command:
|
|
|
|
.. code-block:: console
|
|
|
|
$ pip install infinisdk
|
|
|
|
Setting up the storage array
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Create a storage pool object on the InfiniBox array in advance.
|
|
The storage pool will contain volumes managed by OpenStack.
|
|
Refer to the InfiniBox manuals for details on pool management.
|
|
|
|
Driver configuration
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Edit the ``cinder.conf`` file, which is usually located under the following
|
|
path ``/etc/cinder/cinder.conf``.
|
|
|
|
* Add a section for the INFINIDAT driver back end.
|
|
|
|
* Under the ``[DEFAULT]`` section, set the ``enabled_backends`` parameter with
|
|
the name of the new back-end section.
|
|
|
|
Configure the driver back-end section with the parameters below.
|
|
|
|
* Configure the driver name by setting the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
volume_driver = cinder.volume.drivers.infinidat.InfiniboxVolumeDriver
|
|
|
|
* Configure the management IP of the InfiniBox array by adding the following
|
|
parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
san_ip = InfiniBox management IP
|
|
|
|
* Configure user credentials.
|
|
|
|
The driver requires an InfiniBox user with administrative privileges.
|
|
We recommend creating a dedicated OpenStack user account
|
|
that holds an administrative user role.
|
|
Refer to the InfiniBox manuals for details on user account management.
|
|
Configure the user credentials by adding the following parameters:
|
|
|
|
.. code-block:: ini
|
|
|
|
san_login = infinibox_username
|
|
san_password = infinibox_password
|
|
|
|
* Configure the name of the InfiniBox pool by adding the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
infinidat_pool_name = Pool defined in InfiniBox
|
|
|
|
* The back-end name is an identifier for the back end.
|
|
We recommend using the same name as the name of the section.
|
|
Configure the back-end name by adding the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
volume_backend_name = back-end name
|
|
|
|
* Thin provisioning.
|
|
|
|
The INFINIDAT driver supports creating thin or thick provisioned volumes.
|
|
Configure thin or thick provisioning by adding the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
san_thin_provision = true/false
|
|
|
|
This parameter defaults to ``true``.
|
|
|
|
* Configure the connectivity protocol.
|
|
|
|
The InfiniBox driver supports connection to the InfiniBox system in both
|
|
the fibre channel and iSCSI protocols.
|
|
Configure the desired protocol by adding the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
infinidat_storage_protocol = iscsi/fc
|
|
|
|
This parameter defaults to ``fc``.
|
|
|
|
* Configure iSCSI netspaces.
|
|
|
|
When using the iSCSI protocol to connect to InfiniBox systems, you must
|
|
configure one or more iSCSI network spaces in the InfiniBox storage array.
|
|
Refer to the InfiniBox manuals for details on network space management.
|
|
Configure the names of the iSCSI network spaces to connect to by adding
|
|
the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
infinidat_iscsi_netspaces = iscsi_netspace
|
|
|
|
Multiple network spaces can be specified by a comma separated string.
|
|
|
|
This parameter is ignored when using the FC protocol.
|
|
|
|
* Configure CHAP
|
|
|
|
InfiniBox supports CHAP authentication when using the iSCSI protocol. To
|
|
enable CHAP authentication, add the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
use_chap_auth = true
|
|
|
|
To manually define the username and password, add the following parameters:
|
|
|
|
.. code-block:: ini
|
|
|
|
chap_username = username
|
|
chap_password = password
|
|
|
|
If the CHAP username or password are not defined, they will be
|
|
auto-generated by the driver.
|
|
|
|
The CHAP parameters are ignored when using the FC protocol.
|
|
|
|
* Volume compression
|
|
|
|
Volume compression is disabled by default.
|
|
To enable volume compression, add the following parameter:
|
|
|
|
.. code-block:: ini
|
|
|
|
infinidat_use_compression = true
|
|
|
|
Volume compression is available on InfiniBox 3.0 onward.
|
|
|
|
Configuration example
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. code-block:: ini
|
|
|
|
[DEFAULT]
|
|
enabled_backends = infinidat-pool-a
|
|
|
|
[infinidat-pool-a]
|
|
volume_driver = cinder.volume.drivers.infinidat.InfiniboxVolumeDriver
|
|
volume_backend_name = infinidat-pool-a
|
|
san_ip = 10.1.2.3
|
|
san_login = openstackuser
|
|
san_password = openstackpass
|
|
san_thin_provision = true
|
|
infinidat_pool_name = pool-a
|
|
infinidat_storage_protocol = iscsi
|
|
infinidat_iscsi_netspaces = default_iscsi_space
|
|
|
|
Driver-specific options
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The following table contains the configuration options that are specific
|
|
to the INFINIDAT driver.
|
|
|
|
.. config-table::
|
|
:config-target: INFINIDAT InfiniBox
|
|
|
|
cinder.volume.drivers.infinidat
|