openstack-manuals/doc/config-reference/block-storage/drivers/huawei-storage-driver.xml
Tom Fifield c939bff0f2 Reorganise compute config reference
This patch
* Removes content that is covered by installation (adding group,
   fixing file permissions, multiple compute nodes)
* Removes empty section (hypervisors)
* Merges duplicate content (overview/explanation of nova.conf)
* Flattens section structure, and removes "post-install config"
   section label that was a legacy of previous structure
* Addresses outdated reference to Xen configuration info.

Closes-bug: 1095095
Change-Id: I8922606fe38d30d5ac6288901a866c635c686fbe
2014-01-09 16:12:25 -06:00

598 lines
23 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>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.</para>
<simplesect>
<title>Supported operations</title>
<para>OceanStor T series unified storage supports the
following operations:<itemizedlist>
<listitem>
<para>Create volume</para>
</listitem>
<listitem>
<para>Delete volume</para>
</listitem>
<listitem>
<para>Attach volume</para>
</listitem>
<listitem>
<para>Detach volume</para>
</listitem>
<listitem>
<para>Create snapshot</para>
</listitem>
<listitem>
<para>Delete snapshot</para>
</listitem>
<listitem>
<para>Create volume from snapshot</para>
</listitem>
<listitem>
<para>Create clone volume</para>
</listitem>
<listitem>
<para>Copy image to volume</para>
</listitem>
<listitem>
<para>Copy volume to image</para>
</listitem>
</itemizedlist>OceanStor Dorado5100 supports the following operations:<itemizedlist>
<listitem>
<para>Create volume</para>
</listitem>
<listitem>
<para>Delete volume</para>
</listitem>
<listitem>
<para>Attach volume</para>
</listitem>
<listitem>
<para>Detach volume</para>
</listitem>
<listitem>
<para>Create snapshot</para>
</listitem>
<listitem>
<para>Delete snapshot</para>
</listitem>
<listitem>
<para>Copy image to volume</para>
</listitem>
<listitem>
<para>Copy volume to image</para>
</listitem>
</itemizedlist>OceanStor Dorado2100 G2 supports the
following operations:<itemizedlist>
<listitem>
<para>Create volume</para>
</listitem>
<listitem>
<para>Delete volume</para>
</listitem>
<listitem>
<para>Attach volume</para>
</listitem>
<listitem>
<para>Detach volume</para>
</listitem>
<listitem>
<para>Copy image to volume</para>
</listitem>
<listitem>
<para>Copy volume to image</para>
</listitem>
</itemizedlist>OceanStor HVS supports the following operations:<itemizedlist>
<listitem>
<para>Create volume</para>
</listitem>
<listitem>
<para>Delete volume</para>
</listitem>
<listitem>
<para>Attach volume</para>
</listitem>
<listitem>
<para>Detach volume</para>
</listitem>
<listitem>
<para>Create snapshot</para>
</listitem>
<listitem>
<para>Delete snapshot</para>
</listitem>
<listitem>
<para>Create volume from snapshot</para>
</listitem>
<listitem>
<para>Create clone volume</para>
</listitem>
<listitem>
<para>Copy image to volume</para>
</listitem>
<listitem>
<para>Copy volume to image</para>
</listitem>
</itemizedlist></para>
</simplesect>
<simplesect>
<title>Configure Cinder nodes</title>
<para>In <filename>/etc/cinder</filename>, create the driver
configuration file named
<filename>cinder_huawei_conf.xml</filename>.</para>
<para>You must configure <option>Product</option> and
<option>Protocol</option> 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:</para>
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?>
&lt;config>
&lt;Storage>
&lt;Product>T&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;LUNType>Thick&lt;/LUNType>
&lt;StripUnitSize>64&lt;/StripUnitSize>
&lt;WriteType>1&lt;/WriteType>
&lt;MirrorSwitch>1&lt;/MirrorSwitch>
&lt;Prefetch Type="3" value="0"/>
&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 Dorado5100 is
shown as follows:</para>
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?>
&lt;config>
&lt;Storage>
&lt;Product>Dorado&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 Dorado2100 G2
is shown as follows:</para>
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?>
&lt;config>
&lt;Storage>
&lt;Product>Dorado&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;LUNType>Thick&lt;/LUNType>
&lt;WriteType>1&lt;/WriteType>
&lt;MirrorSwitch>1&lt;/MirrorSwitch>
&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 HVS is shown
as follows:</para>
<para>
<programlisting>&lt;?xml version='1.0' encoding='UTF-8'?>
&lt;config>
&lt;Storage>
&lt;Product>HVS&lt;/Product>
&lt;Protocol>iSCSI&lt;/Protocol>
&lt;HVSURL>https://x.x.x.x:8088/deviceManager/rest/&lt;/HVSURL>
&lt;UserName>xxxxxxxx&lt;/UserName>
&lt;UserPassword>xxxxxxxx&lt;/UserPassword>
&lt;/Storage>
&lt;LUN>
&lt;LUNType>Thick&lt;/LUNType>
&lt;WriteType>1&lt;/WriteType>
&lt;MirrorSwitch>1&lt;/MirrorSwitch>
&lt;StoragePool>xxxxxxxx&lt;/StoragePool>
&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>
<note>
<para>You do not need to configure the iSCSI target IP
address for the Fibre Channel driver. In the prior
example, delete the iSCSI configuration:</para>
</note>
</para>
<programlisting> &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></programlisting>
<para>To add <option>volume_driver</option> and
<option>cinder_huawei_conf_file</option> items, you
can modify the <filename>cinder.conf</filename>
configuration file as follows:</para>
<programlisting>volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver
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, 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</programlisting>
<para>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:</para>
<programlisting>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="&lt;is> True" drivers:flow_strategy=OpenStack_QoS_high drivers:io_priority=high</programlisting>
<note>
<para><option>OpenStack_QoS_high</option> is a QoS policy
created by a user for the HVS storage system.
<option>QoS_high</option> is the self-defined
volume type. Set the <option>io_priority</option>
option to <literal>high</literal>,
<literal>normal</literal>, or
<literal>low</literal>.</para>
</note>
<para>OceanStor HVS storage system supports the SmartTier
function. SmartTier has three tiers. You can create the
volume type to enable SmartTier as follows:</para>
<programlisting>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="&lt;is> True" drivers:distribute_policy=high drivers:transfer_strategy=high</programlisting>
<note>
<para><option>distribute_policy</option> and
<option>transfer_strategy</option> can only be set
to <literal>high</literal>, <literal>normal</literal>,
or <literal>low</literal>.</para>
</note>
</simplesect>
<simplesect>
<title>Configuration file details</title>
<para>This table describes the Huawei storage driver
configuration options:</para>
<table rules="all">
<caption>Huawei storage driver configuration
options</caption>
<col width="35%"/>
<col width="14%"/>
<col width="16%"/>
<col width="35%"/>
<col width="2%"/>
<thead>
<tr>
<td>Flag name</td>
<td>Type</td>
<td>Default</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<para><option>Product</option></para>
</td>
<td>
<para>Required</para>
</td>
<td>
<para/>
</td>
<td>
<para>Type of a storage product. Valid values
are <literal>T</literal>,
<literal>Dorado</literal>, or
<literal>HVS</literal>.</para>
</td>
</tr>
<tr>
<td><option>Protocol</option></td>
<td>Required</td>
<td>
<para/>
</td>
<td>Type of a protocol. Valid values are
<literal>iSCSI</literal> or
<literal>FC</literal>.</td>
<td/>
</tr>
<tr>
<td><option>ControllerIP0</option></td>
<td>Required</td>
<td>
<para/>
</td>
<td>IP address of the primary controller (not
required for the HVS)</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 HVS)</para>
</td>
</tr>
<tr>
<td><option>HVSURL</option></td>
<td>Required</td>
<td>
<para/>
</td>
<td>Access address of the Rest port (required only
for the HVS)</td>
</tr>
<tr>
<td>
<para><option>UserName</option></para>
</td>
<td>
<para>Required</para>
</td>
<td>
<para/>
</td>
<td>
<para>User name of an administrator</para>
</td>
</tr>
<tr>
<td>
<para><option>UserPassword</option>
</para>
</td>
<td>
<para>Required</para>
</td>
<td>
<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 HVS.</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>StoragePool</option></td>
<td>Required</td>
<td>
<para/>
</td>
<td>
<para>Name of a storage pool that you want to
use. Not required for the Dorado2100
G2.</para>
</td>
</tr>
<tr>
<td><option>DefaultTargetIP</option></td>
<td>Optional</td>
<td>
<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/>
</td>
<td>
<para>Name of a compute node initiator.</para>
</td>
</tr>
<tr>
<td><option>Initiator TargetIP</option></td>
<td>Optional</td>
<td>
<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/>
</td>
<td>The IPs for Compute nodes.</td>
</tr>
</tbody>
</table>
<note>
<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>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.)</para>
</listitem>
<listitem>
<para>For details about LUN configuration
information, see the
<command>createlun</command> command in
the command-line interface (CLI) documentation
or run the <command>help -c
createlun</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>
</simplesect>
</section>