It was discovered today that the 'config-reference' directory was supposed to have been renamed to 'configuration'. The doc team was expecting it to be at that location so that they could automatically link to it from contributor/index.html . This patch just moves the directory. I am going to be submitting a subsequent patch that properly sets out the framework for the additional directories so that we don't have addition problems in the future. Change-Id: I6729aaf4593a0b089277f6d7d0aa50fee3ca340f
14 KiB
Huawei volume driver
Huawei volume driver can be used to provide functions such as the logical volume and snapshot for virtual machines (VMs) in the OpenStack Block Storage driver that supports iSCSI and Fibre Channel protocols.
Version mappings
The following table describes the version mappings among the Block Storage driver, Huawei storage system and OpenStack:
| Description | Storage System Version |
|---|---|
Create, delete, expand, attach, detach, manage and unmanage volumes Create volumes with assigned storage pools Create volumes with assigned disk types Create, delete and update a consistency group Copy an image to a volume Copy a volume to an image Auto Zoning SmartThin Volume Migration Replication V2.1 Create, delete, manage, unmanage and backup snapshots Create and delete a cgsnapshot |
OceanStor T series V2R2 C00/C20/C30 OceanStor V3 V3R1C10/C20 V3R2C10 V3R3C00/C10/C20 OceanStor 2200V3 V300R005C00 OceanStor 2600V3 V300R005C00 OceanStor 18500/18800 V1R1C00/C20/C30 V3R3C00 OceanStor Dorado V300R001C00 OceanStor V3 V300R006C00 OceanStor 2200V3 V300R006C00 OceanStor 2600V3 V300R006C00 |
Clone a volume Create volume from snapshot Retype SmartQoS SmartTier SmartCache Thick |
OceanStor T series V2R2 C00/C20/C30 OceanStor V3 V3R1C10/C20 V3R2C10 V3R3C00/C10/C20 OceanStor 2200V3 V300R005C00 OceanStor 2600V3 V300R005C00 OceanStor 18500/18800V1R1C00/C20/C30 OceanStor V3 V300R006C00 OceanStor 2200V3 V300R006C00 OceanStor 2600V3 V300R006C00 |
SmartPartition |
OceanStor T series V2R2 C00/C20/C30 OceanStor V3 V3R1C10/C20 V3R2C10 V3R3C00/C10/C20 OceanStor 2600V3 V300R005C00 OceanStor 18500/18800V1R1C00/C20/C30 OceanStor V3 V300R006C00 OceanStor 2600V3 V300R006C00 |
Hypermetro Hypermetro consistency group |
OceanStor V3 V3R3C00/C10/C20 OceanStor 2600V3 V3R5C00 OceanStor 18500/18800 V3R3C00 OceanStor Dorado V300R001C00 OceanStor V3 V300R006C00 OceanStor 2600V3 V300R006C00 |
Volume driver configuration
This section describes how to configure the Huawei volume driver for either iSCSI storage or Fibre Channel storage.
Pre-requisites
When creating a volume from image, install the multipath
tool and add the following configuration keys in the
[DEFAULT] configuration group of the
/etc/cinder/cinder.conf file:
use_multipath_for_image_xfer = True
enforce_multipath_for_image_xfer = TrueTo configure the volume driver, follow the steps below:
In
/etc/cinder, create a Huawei-customized driver configuration file. The file format is XML.Change the name of the driver configuration file based on the site requirements, for example,
cinder_huawei_conf.xml.Configure parameters in the driver configuration file.
Each product has its own value for the
Productparameter under theStoragexml block. The full xml file with the appropriateProductparameter is as below:<?xml version="1.0" encoding="UTF-8"?> <config> <Storage> <Product>PRODUCT</Product> <Protocol>PROTOCOL</Protocol> <UserName>xxxxxxxx</UserName> <UserPassword>xxxxxxxx</UserPassword> <RestURL>https://x.x.x.x:8088/deviceManager/rest/</RestURL> </Storage> <LUN> <LUNType>xxx</LUNType> <WriteType>xxx</WriteType> <Prefetch Type="xxx" Value="xxx" /> <StoragePool>xxx</StoragePool> </LUN> <iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI> <Host OSType="Linux" HostIP="x.x.x.x, x.x.x.x"/> </config> The corresponding ``Product`` values for each product are as below:For T series V2
<Product>TV2</Product>For V3
<Product>V3</Product>For OceanStor 18000 series
<Product>18000</Product>For OceanStor Dorado series
<Product>Dorado</Product>
The
Protocolvalue to be used isiSCSIfor iSCSI andFCfor Fibre Channel as shown below:# For iSCSI <Protocol>iSCSI</Protocol> # For Fibre channel <Protocol>FC</Protocol>Note
For details about the parameters in the configuration file, see the Configuration file parameters section.
Configure the
cinder.conffile.In the
[default]block of/etc/cinder/cinder.conf, enable theVOLUME_BACKEND:enabled_backends = VOLUME_BACKENDAdd a new block
[VOLUME_BACKEND], and add the following contents:[VOLUME_BACKEND] volume_driver = VOLUME_DRIVER cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml volume_backend_name = Huawei_Storagevolume_driverindicates the loaded driver.cinder_huawei_conf_fileindicates the specified Huawei-customized configuration file.volume_backend_nameindicates the name of the backend.
Add information about remote devices in
/etc/cinder/cinder.confin target backend block forHypermetro.[VOLUME_BACKEND] volume_driver = VOLUME_DRIVER cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml volume_backend_name = Huawei_Storage metro_san_user = xxx metro_san_password = xxx metro_domain_name = xxx metro_san_address = https://x.x.x.x:8088/deviceManager/rest/ metro_storage_pools = xxxAdd information about remote devices in
/etc/cinder/cinder.confin target backend block forReplication.[VOLUME_BACKEND] volume_driver = VOLUME_DRIVER cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml volume_backend_name = Huawei_Storage replication_device = backend_id: xxx, storage_pool :xxx, san_address: https://x.x.x.x:8088/deviceManager/rest/, san_user: xxx, san_passowrd: xxx, iscsi_default_target_ip: x.x.x.xNote
By default, the value for
HypermetroandReplicationisNone. For details about the parameters in the configuration file, see the Configuration file parameters section.The
volume-drivervalue for every product is as below:# For iSCSI volume_driver = cinder.volume.drivers.huawei.huawei_driver.HuaweiISCSIDriver # For FC volume_driver = cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriverRun the
service cinder-volume restartcommand to restart the Block Storage service.
Configuring iSCSI Multipathing
To configure iSCSI Multipathing, follow the steps below:
Add the port group settings in the Huawei-customized driver configuration file and configure the port group name needed by an initiator.
<iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxx" TargetPortGroup="xxxx" /> </iSCSI>Enable the multipathing switch of the Compute service module.
Add
volume_use_multipath = Truein[libvirt]of/etc/nova/nova.conf.Run the
service nova-compute restartcommand to restart thenova-computeservice.
Configuring FC Multipathing
To configure FC Multipathing, follow the steps below:
Enable the multipathing switch of the Compute service module.
Add
volume_use_multipath = Truein[libvirt]of/etc/nova/nova.conf.Run the
service nova-compute restartcommand to restart thenova-computeservice.
Configuring CHAP and ALUA
On a public network, any application server whose IP address resides
on the same network segment as that of the storage systems iSCSI host
port can access the storage system and perform read and write operations
in it. This poses risks to the data security of the storage system. To
ensure the storage systems access security, you can configure
CHAP authentication to control application servers access
to the storage system.
Adjust the driver configuration file as follows:
<Initiator ALUA="xxx" CHAPinfo="xxx" Name="xxx" TargetIP="x.x.x.x"/>ALUA indicates a multipathing mode. 0 indicates that
ALUA is disabled. 1 indicates that ALUA is
enabled. CHAPinfo indicates the user name and password
authenticated by CHAP. The format is
mmuser; mm-user@storage. The user name and password are
separated by semicolons (;).
Configuring multiple storage
Multiple storage systems configuration example:
enabled_backends = v3_fc, 18000_fc
[v3_fc]
volume_driver = cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriver
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_v3_fc.xml
volume_backend_name = huawei_v3_fc
[18000_fc]
volume_driver = cinder.volume.drivers.huawei.huawei_driver.HuaweiFCDriver
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_18000_fc.xml
volume_backend_name = huawei_18000_fcConfiguration file parameters
This section describes mandatory and optional configuration file parameters of the Huawei volume driver.
| Parameter | Default value | Description | Applicable to |
|---|---|---|---|
| Product | - |
Type of a storage product. Possible values are TV2,
18000 and V3. |
All |
| Protocol | - |
Type of a connection protocol. The possible value is either
'iSCSI' or 'FC'. |
All |
| RestURL | - |
Access address of the REST interface,
https://x.x.x.x/devicemanager/rest/. The value
x.x.x.x indicates the management IP address. OceanStor
18000 uses the preceding setting, and V2 and V3 requires you to add port
number 8088, for example,
https://x.x.x.x:8088/deviceManager/rest/. If you need to
configure multiple RestURL, separate them by semicolons (;). |
All |
| UserName | - |
User name of a storage administrator. | All |
| UserPassword | - |
Password of a storage administrator. | All |
| StoragePool | - |
Name of a storage pool to be used. If you need to configure multiple
storage pools, separate them by semicolons (;). |
All |
Note
The value of StoragePool cannot contain Chinese
characters.
| Parameter | Default value | Description | Applicable to |
|---|---|---|---|
| LUNType | Thick | Type of the LUNs to be created. The value can be Thick
or Thin. Dorado series only support Thin
LUNs. |
All |
| WriteType | 1 | Cache write type, possible values are: 1 (write back),
2 (write through), and 3 (mandatory write
back). |
All |
| LUNcopyWaitInterval | 5 | After LUN copy is enabled, the plug-in frequently queries the copy progress. You can set a value to specify the query interval. | All |
| Timeout | 432000 | Timeout interval for waiting LUN copy of a storage device to complete. The unit is second. | All |
| Initiator Name | - |
Name of a compute node initiator. | All |
| Initiator TargetIP | - |
IP address of the iSCSI port provided for compute nodes. | All |
| Initiator TargetPortGroup | - |
IP address of the iSCSI target port that is provided for compute nodes. | All |
| DefaultTargetIP | - |
Default IP address of the iSCSI target port that is provided for compute nodes. | All |
| OSType | Linux | Operating system of the Nova compute node's host. | All |
| HostIP | - |
IP address of the Nova compute node's host. | All |
| metro_san_user | - |
User name of a storage administrator of hypermetro remote device. | V3R3/2600 V3R5/18000 V3R3 |
| metro_san_password | - |
Password of a storage administrator of hypermetro remote device. | V3R3/2600 V3R5/18000 V3R3 |
| metro_domain_name | - |
Hypermetro domain name configured on ISM. | V3R3/2600 V3R5/18000 V3R3 |
| metro_san_address | - |
Access address of the REST interface, https://x.x.x.x/devicemanager/rest/. The value x.x.x.x indicates the management IP address. | V3R3/2600 V3R5/18000 V3R3 |
| metro_storage_pools | - |
Remote storage pool for hypermetro. | V3R3/2600 V3R5/18000 V3R3 |
| backend_id | - |
Target device ID. | All |
| storage_pool | - |
Pool name of target backend when failover for replication. | All |
| san_address | - |
Access address of the REST interface, https://x.x.x.x/devicemanager/rest/. The value x.x.x.x indicates the management IP address. | All |
| san_user | - |
User name of a storage administrator of replication remote device. | All |
| san_password | - |
Password of a storage administrator of replication remote device. | All |
| iscsi_default_target_ip | - |
Remote transacton port IP. | All |
Important
The Initiator Name, Initiator TargetIP, and
Initiator TargetPortGroup are ISCSI parameters
and therefore not applicable to FC.