openstack-manuals/doc/config-reference/block-storage/drivers/dothill-driver.xml
Chris Maio 3255b46acc Vendor docs for Dot Hill, HP MSA and Lenovo arrays
This patch adds config-reference sections for Dot Hill, HP MSA and
Lenovo drivers that are being introduced in the Liberty release.

Closes-bug: #1465700
Closes-bug: #1488800
Change-Id: I1b2ffe2392b4f2b97fd54b8e05b51ba408bd0336
2015-09-08 09:09:40 -07:00

272 lines
9.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section version="5.0" xml:id="dothill-driver"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:ns5="http://www.w3.org/1999/xhtml"
xmlns:ns4="http://www.w3.org/1998/Math/MathML"
xmlns:ns3="http://www.w3.org/2000/svg"
xmlns:ns="http://docbook.org/ns/docbook">
<title>Dot Hill AssuredSAN Fibre Channel and iSCSI drivers</title>
<para>The <filename>DotHillFCDriver</filename> and
<filename>DotHillISCSIDriver</filename> Cinder drivers allow Dot Hill arrays
to be used for block storage in OpenStack deployments.</para>
<simplesect xml:id="dothill-sys-reqs">
<title>System requirements</title>
<para>To use the Dot Hill drivers, the following are required:</para>
<itemizedlist>
<listitem>
<para>Dot Hill AssuredSAN array with:</para>
<itemizedlist>
<listitem>
<para>iSCSI or FC host interfaces</para>
</listitem>
<listitem>
<para>G22x firmware or later</para>
</listitem>
<listitem>
<para>Appropriate licenses for the snapshot and copy volume
features</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Network connectivity between the OpenStack host and the array
management interfaces</para>
</listitem>
<listitem>
<para>HTTPS or HTTP must be enabled on the array</para>
</listitem>
</itemizedlist>
</simplesect>
<simplesect xml:id="dothill-supported-ops">
<title>Supported operations</title>
<itemizedlist>
<listitem>
<para>Create, delete, attach, and detach volumes.</para>
</listitem>
<listitem>
<para>Create, list, and delete volume snapshots.</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>
<listitem>
<para>Extend a volume.</para>
</listitem>
<listitem>
<para>Migrate a volume with back-end assistance.</para>
</listitem>
<listitem>
<para>Retype a volume.</para>
</listitem>
<listitem>
<para>Manage and unmanage a volume.</para>
</listitem>
</itemizedlist>
</simplesect>
<simplesect xml:id="configure-dothill-array">
<title>Configuring the array</title>
<procedure>
<step>
<para>Verify that the array can be managed via an HTTPS connection.
HTTP can also be used if <literal>dothill_api_protocol=http</literal>
is placed into the appropriate sections of the
<filename>cinder.conf</filename> file.</para>
<para>Confirm that virtual pools A and B are present if you plan to
use virtual pools for OpenStack storage.</para>
<para>If you plan to use vdisks instead of virtual pools, create or
identify one or more vdisks to be used for OpenStack storage;
typically this will mean creating or setting aside one disk group for
each of the A and B controllers.</para>
</step>
<step>
<para>Edit the <filename>cinder.conf</filename> file to define an
storage backend entry for each storage pool on the array that will be
managed by OpenStack. Each entry consists of a unique section name,
surrounded by square brackets, followed by options specified in
<literal>key=value</literal> format.</para>
<para><itemizedlist>
<listitem>
<para>The <literal>dothill_backend_name</literal> value
specifies the name of the storage pool or vdisk on the
array.</para>
</listitem>
<listitem>
<para>The <literal>volume_backend_name</literal> option value
can be a unique value, if you wish to be able to assign volumes
to a specific storage pool on the array, or a name that's shared
among multiple storage pools to let the volume scheduler choose
where new volumes are allocated.</para>
</listitem>
<listitem>
<para>The rest of the options will be repeated for each storage
pool in a given array: the appropriate Cinder driver name; IP
address or hostname of the array management interface; the
username and password of an array user account with
<literal>manage</literal> privileges; and the iSCSI IP addresses
for the array if using the iSCSI transport protocol.</para>
</listitem>
</itemizedlist></para>
<para>In the examples below, two backends are defined, one for pool A
and one for pool B, and a common
<literal>volume_backend_name</literal> is used so that a single volume
type definition can be used to allocate volumes from both
pools.</para>
<example>
<title>iSCSI example backend entries</title>
<programlisting>[pool-a]
dothill_backend_name = A
volume_backend_name = dothill-array
volume_driver = cinder.volume.drivers.dothill.dothill_iscsi.DotHillISCSIDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
dothill_iscsi_ips = 10.2.3.4,10.2.3.5
[pool-b]
dothill_backend_name = B
volume_backend_name = dothill-array
volume_driver = cinder.volume.drivers.dothill.dothill_iscsi.DotHillISCSIDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
dothill_iscsi_ips = 10.2.3.4,10.2.3.5</programlisting>
</example>
<example>
<title>Fibre Channel example backend entries</title>
<programlisting>[pool-a]
dothill_backend_name = A
volume_backend_name = dothill-array
volume_driver = cinder.volume.drivers.dothill.dothill_fc.DotHillFCDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage
[pool-b]
dothill_backend_name = B
volume_backend_name = dothill-array
volume_driver = cinder.volume.drivers.dothill.dothill_fc.DotHillFCDriver
san_ip = 10.1.2.3
san_login = manage
san_password = !manage</programlisting>
</example>
</step>
<step>
<para>If any <literal>volume_backend_name</literal> value refers to a
vdisk rather than a virtual pool, add an additional statement
<literal>dothill_backend_type = linear</literal> to that backend
entry.</para>
</step>
<step>
<para>If HTTPS is not enabled in the array, include
<literal>dothill_api_protocol = http</literal> in each of the backend
definitions.</para>
</step>
<step>
<para>If HTTPS is enabled, you can enable certificate verification
with the option <literal>dothill_verify_certificate=True</literal>.
You may also use the
<literal>dothill_verify_certificate_path</literal> parameter to
specify the path to a CA_BUNDLE file containing CAs other than those
in the default list.</para>
</step>
<step>
<para>Modify the <literal>[DEFAULT]</literal> section of the
<filename>cinder.conf</filename> file to add an
<literal>enabled_backends</literal> parameter specifying the backend
entries you added, and a <literal>default_volume_type</literal>
parameter specifying the name of a volume type that you will create in
the next step.</para>
<example>
<title>[DEFAULT] section changes</title>
<programlisting>[DEFAULT]
...
enabled_backends = pool-a,pool-b
default_volume_type = dothill
...</programlisting>
</example>
</step>
<step>
<para>Create a new volume type for each distinct
<literal>volume_backend_name</literal> value that you added to
cinder.conf. The example below assumes that the same
<literal>volume_backend_name=dothill-array</literal> option was
specified in all of the entries, and specifies that the volume type
<literal>dothill</literal> can be used to allocate volumes from any of
them. <example>
<title>Creating a volume type</title>
<para>$ <userinput>cinder type-create dothill</userinput></para>
<para>$ <userinput>cinder type-key dothill set
volume_backend_name=dothill-array</userinput></para>
</example></para>
</step>
<step>
<para>After modifying <filename>cinder.conf</filename>, restart the
<systemitem class="service">cinder-volume</systemitem> service.</para>
</step>
</procedure>
</simplesect>
<simplesect xml:id="dothill-specific-options">
<title>Driver-specific options</title>
<para>The following table contains the configuration options that are
specific to the Dot Hill drivers.</para>
<xi:include href="../../../common/tables/cinder-dothill.xml"/>
</simplesect>
</section>