Atom feed of this document
  
Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse -  Icehouse - 

 Huawei storage driver

The Huawei driver supports the iSCSI and Fibre Channel connections and enables OceanStor T series unified storage and OceanStor 18000 high-end storage to provide block storage services for OpenStack.

 Supported operations

OceanStor T series unified storage supports these operations:

  • Create, delete, attach, and detach volumes.

  • Create, list, and delete volume snapshots.

  • Create a volume from a snapshot.

  • Copy an image to a volume.

  • Copy a volume to an image.

  • Clone a volume.

OceanStor 18000 supports these operations:

  • Create, delete, attach, and detach volumes.

  • Create, list, and delete volume snapshots.

  • Copy an image to a volume.

  • Copy a volume to an image.

  • Create a volume from a snapshot.

  • Clone a volume.

 Configure Block Storage 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 18000 is shown as follows:

<?xml version='1.0' encoding='UTF-8'?>
<config>
    <Storage>
        <Product>18000</Product>
        <Protocol>iSCSI</Protocol>
        <RestURL>https://x.x.x.x:8088/deviceManager/rest/</RestURL>
        <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 for Fibre Channel driver configuration

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, 18000_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
[18000_iscsi]
volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_18000_iscsi.xml
volume_backend_name = Huawei18000ISCSIDriver

 Configuration file details

This table describes the Huawei storage driver configuration options:

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

Product

Required

Type of a storage product. Valid values are Tor 18000.

Protocol Required Type of a protocol. Valid values are iSCSI or FC.
ControllerIP0 Required IP address of the primary controller (not required for the 18000)

ControllerIP1

Required

IP address of the secondary controller (not required for the 18000)

RestURL Required Access address of the Rest port (required only for the 18000)

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.

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

Prefetch Value Optional

0

Cache prefetch value.

StoragePool Required

Name of a storage pool that you want to use.

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 for the configuration
  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. (The 18000 driver 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.

  5. The driver does not support the iSCSI multipath scenarios.

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...