Huawei Storage Driver Huawei storage drivers integrate OceanStor T series unified storage with OceanStor Dorado high-performance 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 OceanStor Dorado5100 supports the following operations : Create volume Delete volume Attach volume Detach volume Create snapshot Delete snapshot OceanStor Dorado2100 G2 supports the following operations : Create volume Delete volume Attach volume Detach volume Configuring Cinder Nodes In /etc/cinder, create the driver configuration file named cinder_huawei_conf.xml. For OceanStor T series unified storage, the driver configuration file is shown as follows: <?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <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> </config> For OceanStor Dorado5100, the driver configuration file is shown as follows: <?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <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> </config> For OceanStor Dorado2100 G2, the driver configuration file is shown as follows: <?xml version='1.0' encoding='UTF-8'?> <config> <Storage> <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> </config> To add volume-driver and cinder_huawei_conf_file items, you can modify configuration file cinder.conf as follows: volume_driver = cinder.volume.drivers.huawei.huawei_iscsi.HuaweiISCSIDriver cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml Configuration File Details All flags of a configuration file are described as follows:
List of configuration flags for Huawei Storage Driver
Flag name Type Default Description
ControllerIP0 Mandatory IP address of a primary controller.
ControllerIP1 Mandatory IP address of a secondary controller.
UserName Mandatory Administrator user name.
UserPassword Mandatory Administrator password.
LUNType Optional Thick Type of a created LUN. The value can be Thick or Thin.
StripUnitSize Optional 64 Stripe depth of a created LUN. The value is expressed in KB. Note: This flag is invalid for a thin LUN.
WriteType Optional 1 Cache write method. The method can be write back, write through, or mandatory 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. The default value is 3, indicating intelligent prefetch.
Prefetch Value Optional 0 Cache prefetch value.
StoragePool Mandatory Name of a storage pool that you want to use.
DefaultTargetIP Mandatory 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.
Multiple initiators can be configured in one configuration file, supporting multiple compute nodes. If a compute node initiator is not configured, the compute node connects the default target. Multiple storage pools can be configured in one configuration file, supporting multiple storage pools in a storage system. For more details, see command createlun in a specific command-line interface (CLI) reference or run help -c createlun in a storage system CLI. After a 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.