Huawei storage driverHuawei 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.Supported operationsOceanStor T series unified storage supports the
following operations:Create volumeDelete volumeAttach volumeDetach volumeCreate snapshotDelete snapshotCreate volume from snapshotCreate clone volumeCopy image to volumeCopy volume to imageOceanStor Dorado5100 supports the following operations:Create volumeDelete volumeAttach volumeDetach volumeCreate snapshotDelete snapshotCopy image to volumeCopy volume to imageOceanStor Dorado2100 G2 supports the
following operations:Create volumeDelete volumeAttach volumeDetach volumeCopy image to volumeCopy volume to imageOceanStor HVS supports the following operations:Create volumeDelete volumeAttach volumeDetach volumeCreate snapshotDelete snapshotCreate volume from snapshotCreate clone volumeCopy image to volumeCopy volume to imageConfigure Cinder nodesIn /etc/cinder, create the driver
configuration file named
cinder_huawei_conf.xml.You must configure and
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>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 and
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.xmlYou 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 = HuaweiDorado5100ISCSIDriverOceanStor 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 is a QoS policy
created by a user for the HVS storage system.
is the self-defined
volume type. Set the
option to high,
normal, or
low.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 and
can only be set
to high, normal,
or low.Configuration file detailsThis table describes the Huawei storage driver
configuration options:
Huawei storage driver configuration
options
Flag name
Type
Default
Description
Required
Type of a storage product. Valid values
are T,
Dorado, or
HVS.
Required
Type of a protocol. Valid values are
iSCSI or
FC.
Required
IP address of the primary controller (not
required for the HVS)
Required
IP address of the secondary controller
(not required for the HVS)
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
Thick or
Thin.
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
1, indicating write
back.
Optional
1
Cache mirroring policy. The default
value is 1, indicating
that a mirroring policy is used.
Optional
3
Cache prefetch strategy. The strategy
can be constant prefetch, variable
prefetch, or intelligent prefetch. Default
value is 3, which
indicates intelligent prefetch and is not
required for the HVS.
Optional
0
Cache prefetch value.
Required
Name of a storage pool that you want to
use. Not required for the Dorado2100
G2.
Optional
Default IP address of the iSCSI port
provided for compute nodes.
Optional
Name of a compute node initiator.
Optional
IP address of the iSCSI port provided
for Compute nodes.
Optional
Linux
The OS type for a Compute node.
Optional
The IPs for Compute nodes.
You can configure one iSCSI target port for
each or all Compute nodes. The driver checks
whether a target port IP address is configured
for the current Compute node. If not, select
.You can configure multiple storage pools in
one configuration file, which supports the use
of multiple storage pools in a storage system.
(HVS allows configuration of only one storage
pool.)For details about LUN configuration
information, see the
createlun command in
the command-line interface (CLI) documentation
or run the help -c
createlun on the storage system
CLI.After the driver is loaded, the storage
system obtains any modification of the driver
configuration file in real time and you do not
need to restart the cinder-volume
service.