The HDS driver supports the concept of differentiated
services, where volume type can be associated with the
fine-tuned performance characteristics of HDP—the
the dynamic pool where volumes shall be created[1]. For instance, an HDP can consist of fast SSDs
to provide speed. HDP can provide a certain reliability
based on things like its RAID level characteristics. HDS
driver maps volume type to the
volume_type
option in its
configuration file.
Configuration is read from an XML-format file. Examples are shown for single and multi back-end cases.
Note | |
---|---|
|
Configuration option=Default value | Description |
hds_cinder_config_file=/opt/hds/hus/cinder_hus_conf.xml | (StrOpt) configuration file for HDS cinder plugin for HUS |
In a single back-end deployment, only one Cinder instance runs on the Cinder server and controls one HUS array: this setup requires these configuration files:
Set the
hds_cinder_config_file
option in the/etc/cinder/cinder.conf
file to use the HDS volume driver. This option points to a configuration file.[3]volume_driver = cinder.volume.drivers.hds.hds.HUSDriver hds_cinder_config_file = /opt/hds/hus/cinder_hds_conf.xml
Configure
hds_cinder_config_file
at the location specified previously. For example,/opt/hds/hus/cinder_hds_conf.xml
:<?xml version="1.0" encoding="UTF-8" ?> <config> <mgmt_ip0>172.17.44.16</mgmt_ip0> <mgmt_ip1>172.17.44.17</mgmt_ip1> <username>system</username> <password>manager</password> <svc_0> <volume_type>default</volume_type> <iscsi_ip>172.17.39.132</iscsi_ip> <hdp>9</hdp> </svc_0> <snapshot> <hdp>13</hdp> </snapshot> <lun_start> 3000 </lun_start> <lun_end> 4000 </lun_end> </config>
In a multi back-end deployment, more than one Cinder instance runs on the same server. In this example, two HUS arrays are used, possibly providing different storage performance:
Configure
/etc/cinder/cinder.conf
: thehus1
hus2
configuration blocks are created. Set thehds_cinder_config_file
option to point to an unique configuration file for each block. Set thevolume_driver
option for each back-end tocinder.volume.drivers.hds.hds.HUSDriver
enabled_backends=hus1,hus2 [hus1] volume_driver = cinder.volume.drivers.hds.hds.HUSDriver hds_cinder_config_file = /opt/hds/hus/cinder_hus1_conf.xml volume_backend_name=hus-1 [hus2] volume_driver = cinder.volume.drivers.hds.hds.HUSDriver hds_cinder_config_file = /opt/hds/hus/cinder_hus2_conf.xml volume_backend_name=hus-2
Configure
/opt/hds/hus/cinder_hus1_conf.xml
:<?xml version="1.0" encoding="UTF-8" ?> <config> <mgmt_ip0>172.17.44.16</mgmt_ip0> <mgmt_ip1>172.17.44.17</mgmt_ip1> <username>system</username> <password>manager</password> <svc_0> <volume_type>regular</volume_type> <iscsi_ip>172.17.39.132</iscsi_ip> <hdp>9</hdp> </svc_0> <snapshot> <hdp>13</hdp> </snapshot> <lun_start> 3000 </lun_start> <lun_end> 4000 </lun_end> </config>
Configure the
/opt/hds/hus/cinder_hus2_conf.xml
file:<?xml version="1.0" encoding="UTF-8" ?> <config> <mgmt_ip0>172.17.44.20</mgmt_ip0> <mgmt_ip1>172.17.44.21</mgmt_ip1> <username>system</username> <password>manager</password> <svc_0> <volume_type>platinum</volume_type> <iscsi_ip>172.17.30.130</iscsi_ip> <hdp>2</hdp> </svc_0> <snapshot> <hdp>3</hdp> </snapshot> <lun_start> 2000 </lun_start> <lun_end> 3000 </lun_end> </config>
If you use volume types, you must configure them in
the configuration file and set the
volume_backend_name
option to the
appropriate back-end. In the previous multi back-end
example, the platinum
volume type
is served by hus-2, and the regular
volume type is served by hus-1.
cinder type-key regular set volume_backend_name=hus-1 cinder type-key platinum set volume_backend_name=hus-2
You can deploy multiple Cinder instances that each
control a separate HUS array. Each instance has no
volume type associated with it. The Cinder filtering
algorithm selects the HUS array with the largest
available free space. In each configuration file, you
must define the default
volume_type
in the service
labels.