The Huawei driver supports the iSCSI and Fibre Channel connections and enables OceanStor T series unified storage, OceanStor Dorado high-performance storage, and OceanStor HVS high-end storage to provide block storage services for OpenStack.
OceanStor T series unified storage supports the following operations:
Create volume
Delete volume
Attach volume
Detach volume
Create snapshot
Delete snapshot
Create volume from snapshot
Create clone volume
Copy image to volume
Copy volume to image
OceanStor Dorado5100 supports the following operations:
Create volume
Delete volume
Attach volume
Detach volume
Create snapshot
Delete snapshot
Copy image to volume
Copy volume to image
OceanStor Dorado2100 G2 supports the following operations:
Create volume
Delete volume
Attach volume
Detach volume
Copy image to volume
Copy volume to image
OceanStor HVS supports the following operations:
Create volume
Delete volume
Attach volume
Detach volume
Create snapshot
Delete snapshot
Create volume from snapshot
Create clone volume
Copy image to volume
Copy volume to image
In /etc/cinder
, create the driver
configuration file named
cinder_huawei_conf.xml
.
You must configure Product
and
Protocol
to specify a storage system
and link type. The following uses the iSCSI driver as an
example. The driver configuration file of OceanStor T
series unified storage is shown as follows:
<?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <Product>T</Product> <Protocol>iSCSI</Protocol> <ControllerIP0>x.x.x.x</ControllerIP0> <ControllerIP1>x.x.x.x</ControllerIP1> <UserName>xxxxxxxx</UserName> <UserPassword>xxxxxxxx</UserPassword> </Storage> <LUN> <LUNType>Thick</LUNType> <StripUnitSize>64</StripUnitSize> <WriteType>1</WriteType> <MirrorSwitch>1</MirrorSwitch> <Prefetch Type="3" value="0"/> <StoragePool Name="xxxxxxxx"/> <StoragePool Name="xxxxxxxx"/> </LUN> <iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI> <Host OSType=”Linux” HostIP=”x.x.x.x, x.x.x.x”/> </config>
The driver configuration file of OceanStor Dorado5100 is shown as follows:
<?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <Product>Dorado</Product> <Protocol>iSCSI</Protocol> <ControllerIP0>x.x.x.x</ControllerIP0> <ControllerIP1>x.x.x.x</ControllerIP1> <UserName>xxxxxxxx</UserName> <UserPassword>xxxxxxxx</UserPassword> </Storage> <LUN> <StripUnitSize>64</StripUnitSize> <WriteType>1</WriteType> <MirrorSwitch>1</MirrorSwitch> <StoragePool Name="xxxxxxxx"/> <StoragePool Name="xxxxxxxx"/> </LUN> <iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI> <Host OSType=”Linux” HostIP=”x.x.x.x, x.x.x.x”/> </config>
The driver configuration file of OceanStor Dorado2100 G2 is shown as follows:
<?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <Product>Dorado</Product> <Protocol>iSCSI</Protocol> <ControllerIP0>x.x.x.x</ControllerIP0> <ControllerIP1>x.x.x.x</ControllerIP1> <UserName>xxxxxxxx</UserName> <UserPassword>xxxxxxxx</UserPassword> </Storage> <LUN> <LUNType>Thick</LUNType> <WriteType>1</WriteType> <MirrorSwitch>1</MirrorSwitch> </LUN> <iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI> <Host OSType=”Linux” HostIP=”x.x.x.x, x.x.x.x”/> </config>
The driver configuration file of OceanStor HVS is shown as follows:
<?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <Product>HVS</Product> <Protocol>iSCSI</Protocol> <HVSURL>https://x.x.x.x:8088/deviceManager/rest/</HVSURL> <UserName>xxxxxxxx</UserName> <UserPassword>xxxxxxxx</UserPassword> </Storage> <LUN> <LUNType>Thick</LUNType> <WriteType>1</WriteType> <MirrorSwitch>1</MirrorSwitch> <StoragePool>xxxxxxxx</StoragePool> </LUN> <iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI> <Host OSType=”Linux” HostIP=”x.x.x.x, x.x.x.x”/> </config>
Note | |
---|---|
You do not need to configure the iSCSI target IP address for the Fibre Channel driver. In the prior example, delete the iSCSI configuration: |
<iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI>
To add volume_driver
and
cinder_huawei_conf_file
items, you
can modify the cinder.conf
configuration file as follows:
volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
You can configure multiple Huawei back-end storages as follows:
enabled_backends = t_iscsi, dorado5100_iscsi [t_iscsi] volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_t_iscsi.xml volume_backend_name = HuaweiTISCSIDriver [dorado5100_iscsi] volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_dorado5100_iscsi.xml volume_backend_name = HuaweiDorado5100ISCSIDriver
OceanStor HVS storage system supports the QoS function. You must create a QoS policy for the HVS storage system and create the volume type to enable QoS as follows:
Create volume type: QoS_high cinder type-create QoS_high Configure extra_specs for QoS_high: cinder type-key QoS_high set capabilities:QoS_support="<is> True" drivers:flow_strategy=OpenStack_QoS_high drivers:io_priority=high
Note | |
---|---|
|
OceanStor HVS storage system supports the SmartTier function. SmartTier has three tiers. You can create the volume type to enable SmartTier as follows:
Create volume type: Tier_high cinder type-create Tier_high Configure extra_specs for Tier_high: cinder type-key Tier_high set capabilities:Tier_support="<is> True" drivers:distribute_policy=high drivers:transfer_strategy=high
Note | |
---|---|
|
This table describes the Huawei storage driver configuration options:
Flag name | Type | Default | Description | |
---|---|---|---|---|
|
Required |
Type of a storage product. Valid values
are |
||
Protocol |
Required | Type of a protocol. Valid values are
iSCSI or
FC . |
||
ControllerIP0 |
Required | IP address of the primary controller (not required for the HVS) | ||
|
Required |
IP address of the secondary controller (not required for the HVS) |
||
HVSURL |
Required | Access address of the Rest port (required only for the HVS) | ||
|
Required |
User name of an administrator |
||
|
Required |
Password of an administrator |
||
|
Optional |
Thin |
Type of a created LUN. Valid values are
|
|
|
Optional |
64 |
Stripe depth of a created LUN. The value is expressed in KB. This flag is not valid for a thin LUN. |
|
|
Optional |
1 |
Cache write method. The method can be
write back, write through, or Required
write back. The default value is
|
|
|
Optional |
1 |
Cache mirroring policy. The default
value is |
|
Prefetch Type |
Optional |
3 |
Cache prefetch strategy. The strategy
can be constant prefetch, variable
prefetch, or intelligent prefetch. Default
value is |
|
Prefetch Value |
Optional |
0 |
Cache prefetch value. |
|
StoragePool |
Required |
Name of a storage pool that you want to use. Not required for the Dorado2100 G2. |
||
DefaultTargetIP |
Optional |
Default IP address of the iSCSI port provided for compute nodes. |
||
Initiator Name |
Optional |
Name of a compute node initiator. |
||
Initiator TargetIP |
Optional |
IP address of the iSCSI port provided for compute nodes. |
||
OSType |
Optional |
Linux |
The OS type for a compute node. | |
HostIP |
Optional | The IPs for compute nodes. |
Note | |
---|---|
|