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.
External package installation
The driver requires the
infinisdk
package for communicating with InfiniBox systems. Install the package from PyPI using the following command:
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 theenabled_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:
volume_driver = cinder.volume.drivers.infinidat.InfiniboxVolumeDriver
Configure the management IP of the InfiniBox array by adding the following parameter:
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 a pool admin user role. Refer to the InfiniBox manuals for details on user account management. Configure the user credentials by adding the following parameters:
san_login = infinibox_username san_password = infinibox_password
Configure the name of the InfiniBox pool by adding the following parameter:
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:
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:
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:
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:
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:
use_chap_auth = true
To manually define the username and password, add the following parameters:
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.
Configuration example
[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
If this is the first time you configure cinder backend on the system, you should also create the new volume-type using the commands:
- cinder type-create
- cinder type-key
To verify run:
cinder extra-specs-list