Atom feed of this document
 

 Huawei storage driver

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.

 Supported operations

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

 Configure Cinder nodes

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]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]Note

OpenStack_QoS_high is a QoS policy created by a user for the HVS storage system. QoS_high is the self-defined volume type. Set the io_priority 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
[Note]Note

distribute_policy and transfer_strategy can only be set to high, normal, or low.

 Configuration file details

This table describes the Huawei storage driver configuration options:

Table 7.7. Huawei storage driver configuration options
Flag name Type Default Description

Product

Required

Type of a storage product. Valid values are T, Dorado, or HVS.

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)

ControllerIP1

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)

UserName

Required

User name of an administrator

UserPassword

Required

Password of an administrator

LUNType

Optional

Thin

Type of a created LUN. Valid values are Thick or Thin.

StripUnitSize

Optional

64

Stripe depth of a created LUN. The value is expressed in KB.

[Note]Note

This flag is not valid for a thin LUN.

WriteType

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.

MirrorSwitch

Optional

1

Cache mirroring policy. The default value is 1, indicating that a mirroring policy is used.

Prefetch Type 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.

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]Note
  1. 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 DefaultTargetIP.

  2. 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.)

  3. 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.

  4. 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.

Log a bug against this page


loading table of contents...