Merge "Update document for Huawei cinder volume driver"
This commit is contained in:
commit
77f5b721c0
@ -5,77 +5,132 @@
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
xml:id="huawei-storage-driver">
|
||||
<title>Huawei Storage Driver</title>
|
||||
<para>Huawei storage drivers integrate OceanStor T series unified storage with OceanStor
|
||||
Dorado high-performance storage to provide block storage services for
|
||||
OpenStack.</para>
|
||||
<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>
|
||||
</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>
|
||||
</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>
|
||||
</itemizedlist></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>Configuring Cinder Nodes</title>
|
||||
<para>In <filename>/etc/cinder</filename>, create the driver configuration file
|
||||
named <filename>cinder_huawei_conf.xml</filename>.</para>
|
||||
<para>For OceanStor T series unified storage, the driver configuration file is shown
|
||||
as follows:</para>
|
||||
<programlisting>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<para>You need to configure <literal>Product</literal> and
|
||||
<literal>Protocol</literal> 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>
|
||||
@ -95,14 +150,15 @@
|
||||
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
||||
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
||||
</iSCSI>
|
||||
</config>
|
||||
</programlisting>
|
||||
<para>For OceanStor Dorado5100, the driver configuration file is shown as
|
||||
follows:</para>
|
||||
<programlisting>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<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>
|
||||
@ -120,14 +176,15 @@
|
||||
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
||||
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
||||
</iSCSI>
|
||||
</config>
|
||||
</programlisting>
|
||||
<para>For OceanStor Dorado2100 G2, the driver configuration file is shown as
|
||||
follows:</para>
|
||||
<programlisting>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<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>
|
||||
@ -143,25 +200,90 @@
|
||||
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
||||
<Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/>
|
||||
</iSCSI>
|
||||
</config>
|
||||
</programlisting>
|
||||
<para>To add <literal>volume-driver</literal> and
|
||||
<literal>cinder_huawei_conf_file</literal> items, you can modify
|
||||
configuration file <filename>cinder.conf</filename> as follows:</para>
|
||||
<programlisting>
|
||||
volume_driver = cinder.volume.drivers.huawei.huawei_iscsi.HuaweiISCSIDriver
|
||||
cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
</programlisting>
|
||||
<xi:include href="../../../common/tables/cinder-huawei.xml"/>
|
||||
<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 <literal>volume_driver</literal> and <literal>cinder_huawei_conf_file</literal>
|
||||
items, you can modify configuration file <filename>cinder.conf</filename> 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 need to 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><literal>OpenStack_QoS_high</literal> is a QoS policy created by a user for the
|
||||
HVS storage system. <literal>QoS_high</literal> is the self-defined volume type.
|
||||
<literal>io_priority</literal> can only be set 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><literal>distribute_policy</literal> and <literal>transfer_strategy</literal> 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>All flags of a configuration file are described as follows:<table rules="all">
|
||||
<caption>List of configuration flags for Huawei Storage Driver</caption>
|
||||
<col width="35%"/>
|
||||
<col width="15%"/>
|
||||
<col width="15%"/>
|
||||
<col width="35%"/>
|
||||
<col width="35%"/>
|
||||
<col width="14%"/>
|
||||
<col width="16%"/>
|
||||
<col width="35%"/>
|
||||
<col width="2%"/>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Flag name</td>
|
||||
@ -173,7 +295,7 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<para><literal>ControllerIP0</literal></para>
|
||||
<para><literal>Product</literal></para>
|
||||
</td>
|
||||
<td>
|
||||
<para>Mandatory</para>
|
||||
@ -182,9 +304,29 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<para/>
|
||||
</td>
|
||||
<td>
|
||||
<para>IP address of a primary controller.</para>
|
||||
<para>Type of a storage product. The value can be
|
||||
<literal>T</literal>, <literal>Dorado</literal>, or
|
||||
<literal>HVS</literal>.</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal>Protocol</literal></td>
|
||||
<td>Mandatory</td>
|
||||
<td>
|
||||
<para/>
|
||||
</td>
|
||||
<td>Type of a protocol. The value can be <literal>iSCSI</literal> or
|
||||
<literal>FC</literal>.</td>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal>ControllerIP0</literal></td>
|
||||
<td>Mandatory</td>
|
||||
<td>
|
||||
<para/>
|
||||
</td>
|
||||
<td>IP address of the primary controller (not required for the HVS)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para><literal>ControllerIP1</literal></para>
|
||||
@ -196,9 +338,18 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<para/>
|
||||
</td>
|
||||
<td>
|
||||
<para>IP address of a secondary controller.</para>
|
||||
<para>IP address of the secondary controller (not required for
|
||||
the HVS)</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal>HVSURL</literal></td>
|
||||
<td>Mandatory</td>
|
||||
<td>
|
||||
<para/>
|
||||
</td>
|
||||
<td>Access address of the Rest port (required only for the HVS)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para><literal>UserName</literal></para>
|
||||
@ -210,7 +361,7 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<para/>
|
||||
</td>
|
||||
<td>
|
||||
<para>Administrator user name.</para>
|
||||
<para>User name of an administrator</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -225,7 +376,7 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<para/>
|
||||
</td>
|
||||
<td>
|
||||
<para>Administrator password.</para>
|
||||
<para>Password of an administrator</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -236,7 +387,7 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<para>Optional</para>
|
||||
</td>
|
||||
<td>
|
||||
<para>Thick</para>
|
||||
<para>Thin</para>
|
||||
</td>
|
||||
<td>
|
||||
<para>Type of a created LUN. The value can be
|
||||
@ -302,9 +453,9 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
</td>
|
||||
<td>
|
||||
<para>Cache prefetch strategy. The strategy can be constant
|
||||
prefetch, variable prefetch, or intelligent prefetch. The
|
||||
default value is <literal>3</literal>, indicating
|
||||
intelligent prefetch.</para>
|
||||
prefetch, variable prefetch, or intelligent prefetch. The default
|
||||
value is <literal>3</literal>, indicating intelligent prefetch. (not
|
||||
required for the HVS)</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -324,12 +475,13 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
<para/>
|
||||
</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. (not required
|
||||
for the Dorado2100 G2)</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal>DefaultTargetIP</literal></td>
|
||||
<td>Mandatory</td>
|
||||
<td>Optional</td>
|
||||
<td>
|
||||
<para/>
|
||||
</td>
|
||||
@ -359,19 +511,38 @@ cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
|
||||
nodes.</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal>OSType</literal></td>
|
||||
<td>Optional</td>
|
||||
<td>
|
||||
<para>Linux</para>
|
||||
</td>
|
||||
<td>The OS type of Nova computer node.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><literal>HostIP</literal></td>
|
||||
<td>Optional</td>
|
||||
<td>
|
||||
<para/>
|
||||
</td>
|
||||
<td>The IPs of Nova computer nodes.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><note>
|
||||
<para>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.</para>
|
||||
<para>Multiple storage pools can be configured in one configuration file,
|
||||
supporting multiple storage pools in a storage system.</para>
|
||||
<para>For more details, see command <literal>createlun</literal> in a
|
||||
specific command-line interface (CLI) reference or run <command>help -c
|
||||
createlun</command> in a storage system CLI.</para>
|
||||
<para>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 <systemitem class="service">cinder-volume</systemitem> service.</para>
|
||||
<para>1. You can configure one iSCSI target port for each computing node or for all
|
||||
computing nodes. The driver will check whether a target port IP address is
|
||||
configured for the current computing node. If such an IP address is not
|
||||
configured, select <literal>DefaultTargetIP</literal>.</para>
|
||||
<para>2. Multiple storage pools can be configured in one configuration file,
|
||||
supporting the use of multiple storage pools in a storage system. (HVS allows
|
||||
configuring only one StoragePool.)</para>
|
||||
<para>3. For details about LUN configuration information, see command
|
||||
<literal>createlun</literal> in the specific command-line interface (CLI)
|
||||
document for reference or run <command>help -c createlun</command> on the
|
||||
storage system CLI.</para>
|
||||
<para>4. 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>
|
||||
</note></para>
|
||||
</simplesect>
|
||||
</section>
|
||||
|
Loading…
Reference in New Issue
Block a user