c939bff0f2
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
598 lines
23 KiB
XML
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><?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></programlisting>
|
|
<para>The driver configuration file of OceanStor Dorado5100 is
|
|
shown as follows:</para>
|
|
<programlisting><?xml version='1.0' encoding='UTF-8'?>
|
|
<config>
|
|
<Storage>
|
|
<Product>Dorado</Product>
|
|
<Protocol>iSCSI</Protocol>
|
|
<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>
|
|
<Host OSType=”Linux” HostIP=”x.x.x.x, x.x.x.x”/>
|
|
</config></programlisting>
|
|
<para>The driver configuration file of OceanStor Dorado2100 G2
|
|
is shown as follows:</para>
|
|
<programlisting><?xml version='1.0' encoding='UTF-8'?>
|
|
<config>
|
|
<Storage>
|
|
<Product>Dorado</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>
|
|
<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>
|
|
<Host OSType=”Linux” HostIP=”x.x.x.x, x.x.x.x”/>
|
|
</config></programlisting>
|
|
<para>The driver configuration file of OceanStor HVS is shown
|
|
as follows:</para>
|
|
<para>
|
|
<programlisting><?xml version='1.0' encoding='UTF-8'?>
|
|
<config>
|
|
<Storage>
|
|
<Product>HVS</Product>
|
|
<Protocol>iSCSI</Protocol>
|
|
<HVSURL>https://x.x.x.x:8088/deviceManager/rest/</HVSURL>
|
|
<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></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> <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>
|
|
<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="<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="<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>
|