Update huawei driver configuration

We have updated huawei driver configuration.

Closes-Bug: #1415417
Change-Id: Iad4ad0d9af4e75faac2f9070b79ad40ae28b3d24
This commit is contained in:
Bob-OpenStack 2015-02-04 19:14:07 -08:00 committed by Christian Berendt
parent e4c3cde0b5
commit b7415cac5c

View File

@ -1,65 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook" <section xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="huawei-storage-driver">
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="huawei-storage-driver">
<title>Huawei storage driver</title> <title>Huawei storage driver</title>
<para>The Huawei driver supports the iSCSI and Fibre Channel connections and enables OceanStor T <para>The Huawei driver supports the iSCSI and Fibre Channel connections and enables OceanStor T
series unified storage, OceanStor TV3 storage, and OceanStor 18000 high-end storage to series V200R002, OceanStor 18000 series V100R001 and OceanStor V3 series V300R002 storage to
provide block storage services for OpenStack.</para> provide block storage services for OpenStack.</para>
<simplesect> <simplesect>
<title>Supported operations</title> <title>Supported operations</title>
<para>OceanStor T series unified storage supports these
operations:
</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Create, delete, attach, and detach volumes.</para> <para>Create, delete, expand, attach, and detach volumes.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Create, list, and delete volume snapshots.</para> <para>Create and delete a snapshot.</para>
</listitem>
<listitem>
<para>Create a volume from a snapshot.</para>
</listitem>
<listitem>
<para>Copy an image to a volume.</para>
</listitem>
<listitem>
<para>Copy a volume to an image.</para>
</listitem>
<listitem>
<para>Clone a volume.</para>
</listitem>
</itemizedlist>
<para>OceanStor V3 supports these operations:</para>
<itemizedlist>
<listitem>
<para>Create, delete, attach, and detach volumes.</para>
</listitem>
<listitem>
<para>Create, list, and delete volume snapshots.</para>
</listitem>
<listitem>
<para>Copy an image to a volume.</para>
</listitem>
<listitem>
<para>Copy a volume to an image.</para>
</listitem>
<listitem>
<para>Create a volume from a snapshot.</para>
</listitem>
<listitem>
<para>Clone a volume.</para>
</listitem>
</itemizedlist>
<para>OceanStor 18000 supports these operations:</para>
<itemizedlist>
<listitem>
<para>Create, delete, attach, and detach volumes.</para>
</listitem>
<listitem>
<para>Create, list, and delete volume snapshots.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Copy an image to a volume.</para> <para>Copy an image to a volume.</para>
@ -76,82 +29,58 @@
</itemizedlist> </itemizedlist>
</simplesect> </simplesect>
<simplesect> <simplesect>
<title>Configure Block Storage nodes</title> <title>Configure block storage nodes</title>
<para>In <filename>/etc/cinder</filename>, create the driver <procedure>
configuration file named <step>
<filename>cinder_huawei_conf.xml</filename>.</para> <para>Modify the <filename>cinder.conf</filename> configuration file and add
<para>You must configure <option>Product</option> and <option>volume_driver</option> and <option>cinder_huawei_conf_file
<option>Protocol</option> to specify a storage system items</option>.<itemizedlist>
and link type. The following uses the iSCSI driver as an <listitem>
example. The driver configuration file of OceanStor T <para>Example for configuring a storage system:</para>
series unified storage is shown as follows:</para> <programlisting language="ini">volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?> cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml</programlisting>
&lt;config> </listitem>
&lt;Storage> </itemizedlist><itemizedlist>
&lt;Product>T&lt;/Product> <listitem>
&lt;Protocol>iSCSI&lt;/Protocol> <para>Example for configuring multiple storage systems:</para>
&lt;ControllerIP0>x.x.x.x&lt;/ControllerIP0> <programlisting language="ini">enabled_backends = t_iscsi, 18000_iscsi
&lt;ControllerIP1>x.x.x.x&lt;/ControllerIP1> [t_iscsi]
&lt;UserName>xxxxxxxx&lt;/UserName> volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver
&lt;UserPassword>xxxxxxxx&lt;/UserPassword> cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_t_iscsi.xml
&lt;/Storage> volume_backend_name = HuaweiTISCSIDriver
&lt;LUN>
&lt;LUNType>Thick&lt;/LUNType> [18000_iscsi]
&lt;StripUnitSize>64&lt;/StripUnitSize> volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver
&lt;WriteType>1&lt;/WriteType> cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf_18000_iscsi.xml
&lt;MirrorSwitch>1&lt;/MirrorSwitch> volume_backend_name = Huawei18000ISCSIDriver</programlisting>
&lt;Prefetch Type="3" value="0"/> </listitem>
&lt;StoragePool Name="xxxxxxxx"/> </itemizedlist></para>
&lt;StoragePool Name="xxxxxxxx"/> </step>
&lt;/LUN> <step>
&lt;iSCSI> <para>In <filename>/etc/cinder</filename>, create a driver configuration file. The
&lt;DefaultTargetIP>x.x.x.x&lt;/DefaultTargetIP> driver configuration file name must be the same as the <literal>cinder_huawei_conf_file</literal>
&lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> item in the <filename>cinder_conf</filename> configuration file.</para>
&lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </step>
&lt;/iSCSI> <step>
&lt;Host OSType="Linux" HostIP="x.x.x.x, x.x.x.x"/> <title>Configure product and protocol.</title>
&lt;/config></programlisting> <para>Product and Protocol indicate the storage system type and link type
<para>The driver configuration file of OceanStor V3 is respectively. For the OceanStor 18000 series V100R001 storage systems, the
shown as follows:</para> driver configuration file is as follows:</para>
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?> <programlisting language="xml">&lt;?xml version='1.0' encoding='UTF-8'?>
&lt;config>
&lt;Storage>
&lt;Product>V3&lt;/Product>
&lt;Protocol>iSCSI&lt;/Protocol>
&lt;ControllerIP0>x.x.x.x&lt;/ControllerIP0>
&lt;ControllerIP1>x.x.x.x&lt;/ControllerIP1>
&lt;UserName>xxxxxxxx&lt;/UserName>
&lt;UserPassword>xxxxxxxx&lt;/UserPassword>
&lt;/Storage>
&lt;LUN>
&lt;StripUnitSize>64&lt;/StripUnitSize>
&lt;WriteType>1&lt;/WriteType>
&lt;MirrorSwitch>1&lt;/MirrorSwitch>
&lt;StoragePool Name="xxxxxxxx"/>
&lt;StoragePool Name="xxxxxxxx"/>
&lt;/LUN>
&lt;iSCSI>
&lt;DefaultTargetIP>x.x.x.x&lt;/DefaultTargetIP>
&lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
&lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
&lt;/iSCSI>
&lt;Host OSType="Linux" HostIP="x.x.x.x, x.x.x.x"/>
&lt;/config></programlisting>
<para>The driver configuration file of OceanStor 18000 is shown as follows:</para>
<para>
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?>
&lt;config> &lt;config>
&lt;Storage> &lt;Storage>
&lt;Product>18000&lt;/Product> &lt;Product>18000&lt;/Product>
&lt;Protocol>iSCSI&lt;/Protocol> &lt;Protocol>iSCSI&lt;/Protocol>
&lt;RestURL>https://x.x.x.x:8088/deviceManager/rest/&lt;/RestURL> &lt;RestURL>https://x.x.x.x/deviceManager/rest/&lt;/RestURL>
&lt;UserName>xxxxxxxx&lt;/UserName> &lt;UserName>xxxxxxxx&lt;/UserName>
&lt;UserPassword>xxxxxxxx&lt;/UserPassword> &lt;UserPassword>xxxxxxxx&lt;/UserPassword>
&lt;/Storage> &lt;/Storage>
&lt;LUN> &lt;LUN>
&lt;LUNType>Thick&lt;/LUNType> &lt;LUNType>Thick&lt;/LUNType>
&lt;WriteType>1&lt;/WriteType> &lt;WriteType>1&lt;/WriteType>
&lt;MirrorSwitch>1&lt;/MirrorSwitch> &lt;MirrorSwitch>0&lt;/MirrorSwitch>
&lt;LUNcopyWaitInterval>5&lt;/LUNcopyWaitInterval>
&lt;Timeout>432000&lt;/Timeout>
&lt;StoragePool>xxxxxxxx&lt;/StoragePool> &lt;StoragePool>xxxxxxxx&lt;/StoragePool>
&lt;/LUN> &lt;/LUN>
&lt;iSCSI> &lt;iSCSI>
@ -161,51 +90,38 @@
&lt;/iSCSI> &lt;/iSCSI>
&lt;Host OSType="Linux" HostIP="x.x.x.x, x.x.x.x"/> &lt;Host OSType="Linux" HostIP="x.x.x.x, x.x.x.x"/>
&lt;/config></programlisting> &lt;/config></programlisting>
<para>
<note> <note>
<title>Note for Fibre Channel driver configuration</title> <itemizedlist>
<para>You do not need to configure the iSCSI target IP <title>Note for fibre channel driver configuration</title>
address for the Fibre Channel driver. In the prior <listitem>
example, delete the iSCSI configuration:</para> <para>In the configuration files of OceanStor T series V200R002 and
</note> OceanStor V3 V300R002, parameter configurations are the same
</para> with the exception of the RestURL parameter. The following
<programlisting> &lt;iSCSI> describes how to configure the RestURL parameter:</para>
<programlisting language="xml">&lt;RestURL>https://x.x.x.x:8088/deviceManager/rest/&lt;/RestURL></programlisting>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem>
<para>For a Fibre Channel driver, you do not need to configure an
iSCSI target IP address. Delete the iSCSI configuration from the
preceding examples.</para>
<programlisting language="xml">&lt;iSCSI>
&lt;DefaultTargetIP>x.x.x.x&lt;/DefaultTargetIP> &lt;DefaultTargetIP>x.x.x.x&lt;/DefaultTargetIP>
&lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> &lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
&lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> &lt;Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
&lt;/iSCSI></programlisting> &lt;/iSCSI></programlisting>
<para>To add <option>volume_driver</option> and </listitem>
<option>cinder_huawei_conf_file</option> items, you </itemizedlist>
can modify the <filename>cinder.conf</filename> </note>
configuration file as follows:</para> </para>
<programlisting>volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver <para>This table describes the Huawei storage driver configuration options:</para>
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml</programlisting>
<para>You can configure multiple Huawei back-end storages as
follows:</para>
<programlisting>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</programlisting>
</simplesect>
<simplesect>
<title>Configuration file details</title>
<para>This table describes the Huawei storage driver
configuration options:</para>
<table rules="all"> <table rules="all">
<caption>Huawei storage driver configuration <caption>Huawei storage driver configuration options</caption>
options</caption>
<col width="35%"/>
<col width="14%"/>
<col width="16%"/>
<col width="35%"/>
<col width="2%"/>
<thead> <thead>
<tr> <tr>
<th>Flag name</th> <th>Property</th>
<th>Type</th> <th>Type</th>
<th>Default</th> <th>Default</th>
<th>Description</th> <th>Description</th>
@ -217,70 +133,44 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<para><option>Product</option></para> <para><option>Product</option></para>
</td> </td>
<td> <td>
<para>Required</para> <para>Mandatory</para>
</td> </td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td> <td>
<para>Type of a storage product. Valid values <para>Type of a storage product. Valid values are
are <literal>T</literal>, <literal>T</literal>, <literal>TV3</literal>, or
<literal>TV3</literal>, or <literal>18000</literal>.</para> <literal>18000</literal>.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td><option>Protocol</option></td> <td><option>Protocol</option></td>
<td>Required</td> <td>Mandatory</td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td>Type of a protocol. Valid values are <td>Type of a protocol. Valid values are <literal>iSCSI</literal> or
<literal>iSCSI</literal> or
<literal>FC</literal>.</td> <literal>FC</literal>.</td>
<td/> <td/>
</tr> </tr>
<tr>
<td><option>ControllerIP0</option></td>
<td>Required</td>
<td>
<para/>
</td>
<td>IP address of the primary controller (not
required for the 18000)</td>
</tr>
<tr>
<td>
<para><option>ControllerIP1</option></para>
</td>
<td>
<para>Required</para>
</td>
<td>
<para/>
</td>
<td>
<para>IP address of the secondary controller
(not required for the 18000)</para>
</td>
</tr>
<tr> <tr>
<td><option>RestURL</option></td> <td><option>RestURL</option></td>
<td>Required</td> <td>Mandatory</td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td>Access address of the Rest port (required only <td>Access address of the Rest port (required only for the 18000)</td>
for the 18000)</td>
</tr> </tr>
<tr> <tr>
<td> <td>
<para><option>UserName</option></para> <para><option>UserName</option></para>
</td> </td>
<td> <td>
<para>Required</para> <para>Mandatory</para>
</td> </td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td> <td>
<para>User name of an administrator</para> <para>User name of an administrator</para>
@ -292,10 +182,10 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
</para> </para>
</td> </td>
<td> <td>
<para>Required</para> <para>Mandatory</para>
</td> </td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td> <td>
<para>Password of an administrator</para> <para>Password of an administrator</para>
@ -313,8 +203,7 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
</td> </td>
<td> <td>
<para>Type of a created LUN. Valid values are <para>Type of a created LUN. Valid values are
<literal>Thick</literal> or <literal>Thick</literal> or <literal>Thin</literal>.</para>
<literal>Thin</literal>.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -329,10 +218,9 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<para>64</para> <para>64</para>
</td> </td>
<td> <td>
<para>Stripe depth of a created LUN. The value <para>Stripe depth of a created LUN. The value is expressed in
is expressed in KB.</para> KB.</para>
<para>This flag is not valid for a thin <para>This flag is not valid for a thin LUN.</para>
LUN.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -347,11 +235,9 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<para>1</para> <para>1</para>
</td> </td>
<td> <td>
<para>Cache write method. The method can be <para>Cache write method. The method can be write back, write
write back, write through, or Required through, or Required write back. The default value is
write back. The default value is <literal>1</literal>, indicating write back.</para>
<literal>1</literal>, indicating write
back.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -365,9 +251,9 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<para>1</para> <para>1</para>
</td> </td>
<td> <td>
<para>Cache mirroring policy. The default <para>Cache mirroring policy. The default value is
value is <literal>1</literal>, indicating <literal>1</literal>, indicating that a mirroring policy is
that a mirroring policy is used.</para> used.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -377,12 +263,10 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<para>3</para> <para>3</para>
</td> </td>
<td> <td>
<para>Cache prefetch strategy. The strategy <para>Cache prefetch strategy. The strategy can be constant
can be constant prefetch, variable prefetch, variable prefetch, or intelligent prefetch. Default
prefetch, or intelligent prefetch. Default value is <literal>3</literal>, which indicates intelligent
value is <literal>3</literal>, which prefetch and is not required for the OceanStor 18000 series.</para>
indicates intelligent prefetch and is not
required for the 18000.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -396,10 +280,33 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
</td> </td>
</tr> </tr>
<tr> <tr>
<td><option>StoragePool</option></td> <td><option>LUNcopyWaitInterval</option></td>
<td>Required</td> <td>Optional</td>
<td> <td>
<para/> <para>5</para>
</td>
<td>
<para>After LUN copy is enabled, the plug-in frequently queries the
copy progress. You can set a value to specify the query
interval.</para>
</td>
</tr>
<tr>
<td><option>Timeout</option></td>
<td>Optional</td>
<td>
<para>432,000</para>
</td>
<td>
<para>Timeout period for waiting LUN copy of an array to
complete.</para>
</td>
</tr>
<tr>
<td><option>StoragePool</option></td>
<td>Mandatory</td>
<td>
<para>-</para>
</td> </td>
<td> <td>
<para>Name of a storage pool that you want to use.</para> <para>Name of a storage pool that you want to use.</para>
@ -409,18 +316,18 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<td><option>DefaultTargetIP</option></td> <td><option>DefaultTargetIP</option></td>
<td>Optional</td> <td>Optional</td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td> <td>
<para>Default IP address of the iSCSI port <para>Default IP address of the iSCSI port provided for compute
provided for compute nodes.</para> nodes.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td><option>Initiator Name</option></td> <td><option>Initiator Name</option></td>
<td>Optional</td> <td>Optional</td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td> <td>
<para>Name of a compute node initiator.</para> <para>Name of a compute node initiator.</para>
@ -430,11 +337,11 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<td><option>Initiator TargetIP</option></td> <td><option>Initiator TargetIP</option></td>
<td>Optional</td> <td>Optional</td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td> <td>
<para>IP address of the iSCSI port provided <para>IP address of the iSCSI port provided for compute
for compute nodes.</para> nodes.</para>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -449,7 +356,7 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<td><option>HostIP</option></td> <td><option>HostIP</option></td>
<td>Optional</td> <td>Optional</td>
<td> <td>
<para/> <para>-</para>
</td> </td>
<td>The IPs for compute nodes.</td> <td>The IPs for compute nodes.</td>
</tr> </tr>
@ -459,41 +366,32 @@ volume_backend_name = Huawei18000ISCSIDriver</programlisting>
<title>Note for the configuration</title> <title>Note for the configuration</title>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>You can configure one iSCSI target port for <para>You can configure one iSCSI target port for each or all compute
each or all compute nodes. The driver checks nodes. The driver checks whether a target port IP address is
whether a target port IP address is configured configured for the current compute node. If not, select
for the current compute node. If not, select
<option>DefaultTargetIP</option>.</para> <option>DefaultTargetIP</option>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>You can configure multiple storage pools in <para>Only one storage pool can be configured.</para>
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.)</para>
</listitem> </listitem>
<listitem> <listitem>
<para>For details about LUN configuration <para>For details about LUN configuration information, see the
information, see the <command>show lun general</command> command in the command-line
<command>createlun</command> command in interface (CLI) documentation or run the <command>help -c show lun
the command-line interface (CLI) documentation general</command> on the storage system CLI.</para>
or run the <command>help -c
createlun</command> on the storage system
CLI.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>After the driver is loaded, the storage <para>After the driver is loaded, the storage system obtains any
system obtains any modification of the driver modification of the driver configuration file in real time and you
configuration file in real time and you do not do not need to restart the <systemitem class="service"
need to restart the <systemitem >cinder-volume</systemitem> service.</para>
class="service">cinder-volume</systemitem>
service.</para>
</listitem>
<listitem>
<para>The driver does not support the
iSCSI multipath scenarios.</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</note> </note>
</step>
<step>
<para>Restart the Cinder service.</para>
</step>
</procedure>
</simplesect> </simplesect>
</section> </section>