b7415cac5c
We have updated huawei driver configuration. Closes-Bug: #1415417 Change-Id: Iad4ad0d9af4e75faac2f9070b79ad40ae28b3d24
398 lines
19 KiB
XML
398 lines
19 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<section xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="huawei-storage-driver">
|
|
<title>Huawei storage driver</title>
|
|
<para>The Huawei driver supports the iSCSI and Fibre Channel connections and enables OceanStor T
|
|
series V200R002, OceanStor 18000 series V100R001 and OceanStor V3 series V300R002 storage to
|
|
provide block storage services for OpenStack.</para>
|
|
<simplesect>
|
|
<title>Supported operations</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Create, delete, expand, attach, and detach volumes.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create and delete 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>Create a volume from a snapshot.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Clone a volume.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Configure block storage nodes</title>
|
|
<procedure>
|
|
<step>
|
|
<para>Modify the <filename>cinder.conf</filename> configuration file and add
|
|
<option>volume_driver</option> and <option>cinder_huawei_conf_file
|
|
items</option>.<itemizedlist>
|
|
<listitem>
|
|
<para>Example for configuring a storage system:</para>
|
|
<programlisting language="ini">volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver
|
|
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml</programlisting>
|
|
</listitem>
|
|
</itemizedlist><itemizedlist>
|
|
<listitem>
|
|
<para>Example for configuring multiple storage systems:</para>
|
|
<programlisting language="ini">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>
|
|
</listitem>
|
|
</itemizedlist></para>
|
|
</step>
|
|
<step>
|
|
<para>In <filename>/etc/cinder</filename>, create a driver configuration file. The
|
|
driver configuration file name must be the same as the <literal>cinder_huawei_conf_file</literal>
|
|
item in the <filename>cinder_conf</filename> configuration file.</para>
|
|
</step>
|
|
<step>
|
|
<title>Configure product and protocol.</title>
|
|
<para>Product and Protocol indicate the storage system type and link type
|
|
respectively. For the OceanStor 18000 series V100R001 storage systems, the
|
|
driver configuration file is as follows:</para>
|
|
<programlisting language="xml"><?xml version='1.0' encoding='UTF-8'?>
|
|
<config>
|
|
<Storage>
|
|
<Product>18000</Product>
|
|
<Protocol>iSCSI</Protocol>
|
|
<RestURL>https://x.x.x.x/deviceManager/rest/</RestURL>
|
|
<UserName>xxxxxxxx</UserName>
|
|
<UserPassword>xxxxxxxx</UserPassword>
|
|
</Storage>
|
|
<LUN>
|
|
<LUNType>Thick</LUNType>
|
|
<WriteType>1</WriteType>
|
|
<MirrorSwitch>0</MirrorSwitch>
|
|
<LUNcopyWaitInterval>5</LUNcopyWaitInterval>
|
|
<Timeout>432000</Timeout>
|
|
<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></programlisting>
|
|
<para>
|
|
<note>
|
|
<itemizedlist>
|
|
<title>Note for fibre channel driver configuration</title>
|
|
<listitem>
|
|
<para>In the configuration files of OceanStor T series V200R002 and
|
|
OceanStor V3 V300R002, parameter configurations are the same
|
|
with the exception of the RestURL parameter. The following
|
|
describes how to configure the RestURL parameter:</para>
|
|
<programlisting language="xml"><RestURL>https://x.x.x.x:8088/deviceManager/rest/</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"><iSCSI>
|
|
<DefaultTargetIP>x.x.x.x</DefaultTargetIP>
|
|
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
|
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
|
</iSCSI></programlisting>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</note>
|
|
</para>
|
|
<para>This table describes the Huawei storage driver configuration options:</para>
|
|
<table rules="all">
|
|
<caption>Huawei storage driver configuration options</caption>
|
|
<thead>
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Type</th>
|
|
<th>Default</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<para><option>Product</option></para>
|
|
</td>
|
|
<td>
|
|
<para>Mandatory</para>
|
|
</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>
|
|
<para>Type of a storage product. Valid values are
|
|
<literal>T</literal>, <literal>TV3</literal>, or
|
|
<literal>18000</literal>.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>Protocol</option></td>
|
|
<td>Mandatory</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>Type of a protocol. Valid values are <literal>iSCSI</literal> or
|
|
<literal>FC</literal>.</td>
|
|
<td/>
|
|
</tr>
|
|
<tr>
|
|
<td><option>RestURL</option></td>
|
|
<td>Mandatory</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>Access address of the Rest port (required only for the 18000)</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<para><option>UserName</option></para>
|
|
</td>
|
|
<td>
|
|
<para>Mandatory</para>
|
|
</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>
|
|
<para>User name of an administrator</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<para><option>UserPassword</option>
|
|
</para>
|
|
</td>
|
|
<td>
|
|
<para>Mandatory</para>
|
|
</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>
|
|
<para>Password of an administrator</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<para><option>LUNType</option></para>
|
|
</td>
|
|
<td>
|
|
<para>Optional</para>
|
|
</td>
|
|
<td>
|
|
<para>Thin</para>
|
|
</td>
|
|
<td>
|
|
<para>Type of a created LUN. Valid values are
|
|
<literal>Thick</literal> or <literal>Thin</literal>.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<para><option>StripUnitSize</option>
|
|
</para>
|
|
</td>
|
|
<td>
|
|
<para>Optional</para>
|
|
</td>
|
|
<td>
|
|
<para>64</para>
|
|
</td>
|
|
<td>
|
|
<para>Stripe depth of a created LUN. The value is expressed in
|
|
KB.</para>
|
|
<para>This flag is not valid for a thin LUN.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<para><option>WriteType</option>
|
|
</para>
|
|
</td>
|
|
<td>
|
|
<para>Optional</para>
|
|
</td>
|
|
<td>
|
|
<para>1</para>
|
|
</td>
|
|
<td>
|
|
<para>Cache write method. The method can be write back, write
|
|
through, or Required write back. The default value is
|
|
<literal>1</literal>, indicating write back.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<para><option>MirrorSwitch</option></para>
|
|
</td>
|
|
<td>
|
|
<para>Optional</para>
|
|
</td>
|
|
<td>
|
|
<para>1</para>
|
|
</td>
|
|
<td>
|
|
<para>Cache mirroring policy. The default value is
|
|
<literal>1</literal>, indicating that a mirroring policy is
|
|
used.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>Prefetch Type</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>3</para>
|
|
</td>
|
|
<td>
|
|
<para>Cache prefetch strategy. The strategy can be constant
|
|
prefetch, variable prefetch, or intelligent prefetch. Default
|
|
value is <literal>3</literal>, which indicates intelligent
|
|
prefetch and is not required for the OceanStor 18000 series.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>Prefetch Value</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>0</para>
|
|
</td>
|
|
<td>
|
|
<para>Cache prefetch value.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>LUNcopyWaitInterval</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<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>
|
|
<para>Name of a storage pool that you want to use.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>DefaultTargetIP</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>
|
|
<para>Default IP address of the iSCSI port provided for compute
|
|
nodes.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>Initiator Name</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>
|
|
<para>Name of a compute node initiator.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>Initiator TargetIP</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>
|
|
<para>IP address of the iSCSI port provided for compute
|
|
nodes.</para>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>OSType</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>Linux</para>
|
|
</td>
|
|
<td>The OS type for a compute node.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><option>HostIP</option></td>
|
|
<td>Optional</td>
|
|
<td>
|
|
<para>-</para>
|
|
</td>
|
|
<td>The IPs for compute nodes.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<note>
|
|
<title>Note for the configuration</title>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>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
|
|
<option>DefaultTargetIP</option>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Only one storage pool can be configured.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>For details about LUN configuration information, see the
|
|
<command>show lun general</command> command in the command-line
|
|
interface (CLI) documentation or run the <command>help -c show lun
|
|
general</command> on the storage system CLI.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>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 <systemitem class="service"
|
|
>cinder-volume</systemitem> service.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</note>
|
|
</step>
|
|
<step>
|
|
<para>Restart the Cinder service.</para>
|
|
</step>
|
|
</procedure>
|
|
</simplesect>
|
|
</section>
|