openstack-manuals/doc/config-reference/block-storage/drivers/hp-3par-driver.xml
Kurt Martin 1d6b08d8fe 3PAR: Narrow the focus of required client package
This restricts the range of the supported hp3parclient pypi
package to what will actually work with the 3PAR Block Storage
driver. This matches the versions specified in the
global-requirements.txt file as part of patch:
https://review.openstack.org/#/c/73727/1/global-requirements.txt

Change-Id: I30171f00a21687784050fcab9c5b5a43f8823b35
2014-03-06 08:47:55 -08:00

394 lines
17 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<section xml:id="hp-3par-driver" 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">
<title>HP 3PAR Fibre Channel and iSCSI drivers</title>
<para>The <filename>HP3PARFCDriver</filename> and
<filename>HP3PARISCSIDriver</filename> drivers, which are
based on the Block Storage Service (Cinder) plug-in
architecture, run volume operations by communicating with the
HP 3PAR storage system over HTTP, HTTPS, and SSH connections.
The HTTP and HTTPS communications use
<package>hp3parclient</package>, which is part of the
Python standard library.</para>
<para>For information about how to manage HP 3PAR storage systems,
see the HP 3PAR user documentation.</para>
<section xml:id="hp-3par-sys-reqs">
<title>System requirements</title>
<para>To use the HP 3PAR drivers, install the following
software and components on the HP 3PAR storage
system:</para>
<itemizedlist>
<listitem>
<para>HP 3PAR Operating System software version 3.1.3
or higher</para>
</listitem>
<listitem>
<para>HP 3PAR Web Services API Server must be enabled
and running</para>
</listitem>
<listitem>
<para>One Common Provisioning Group (CPG)</para>
</listitem>
<listitem>
<para>Additionally, you must install the
<package>hp3parclient</package> version 3.0 or
newer from the Python standard library on the
system with the enabled Block Storage Service
volume drivers.</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="hp-3par-supported-ops">
<title>Supported operations</title>
<itemizedlist>
<listitem>
<para>Create volumes.</para>
</listitem>
<listitem>
<para>Delete volumes.</para>
</listitem>
<listitem>
<para>Extend volumes.</para>
</listitem>
<listitem>
<para>Attach volumes.</para>
</listitem>
<listitem>
<para>Detach volumes.</para>
</listitem>
<listitem>
<para>Create snapshots.</para>
</listitem>
<listitem>
<para>Delete snapshots.</para>
</listitem>
<listitem>
<para>Create volumes from snapshots.</para>
</listitem>
<listitem>
<para>Create cloned volumes.</para>
</listitem>
<listitem>
<para>Copy images to volumes.</para>
</listitem>
<listitem>
<para>Copy volumes to images.</para>
</listitem>
<listitem>
<para>Volume migration(backend assisted).</para>
</listitem>
</itemizedlist>
<para>Volume type support for both HP 3PAR drivers includes
the ability to set the following capabilities in the
OpenStack Block Storage API
<filename>cinder.api.contrib.types_extra_specs</filename>
volume type extra specs extension module:</para>
<itemizedlist>
<listitem>
<para><literal>hp3par:cpg</literal></para>
</listitem>
<listitem>
<para><literal>hp3par:snap_cpg</literal></para>
</listitem>
<listitem>
<para><literal>hp3par:provisioning</literal></para>
</listitem>
<listitem>
<para><literal>hp3par:persona</literal></para>
</listitem>
<listitem>
<para><literal>hp3par:vvs</literal></para>
</listitem>
</itemizedlist>
<para>To work with the default filter scheduler, the key
values are case sensitive and scoped with
<literal>hp3par:</literal>.
For information about how to set the key-value pairs and
associate them with a volume type, run the following
command:
<screen><prompt>$</prompt> <userinput>cinder help type-key</userinput></screen>
</para>
<note>
<para>Volumes that are cloned only support extra specs
keys cpg, snap_cpg, provisioning and vvs. The others
are ignored. In addition the comments section of the
cloned volume in the HP 3PAR StoreServ storage array
is not populated.</para>
</note>
<para>If volume types are not used or a particular key is not
set for a volume type, the following defaults are
used.</para>
<itemizedlist>
<listitem>
<para><literal>hp3par:cpg</literal> - Defaults to the
<literal>hp3par_cpg</literal> setting in the
<filename>cinder.conf</filename> file.</para>
</listitem>
<listitem>
<para><literal>hp3par:snap_cpg</literal> - Defaults to
the <literal>hp3par_snap</literal> setting in the
<filename>cinder.conf</filename> file. If
<literal>hp3par_snap</literal> is not set, it
defaults to the <literal>hp3par_cpg</literal>
setting.</para>
</listitem>
<listitem>
<para><literal>hp3par:provisioning</literal> -
Defaults to thin provisioning, the valid values
are <literal>thin</literal> and
<literal>full</literal>.</para>
</listitem>
<listitem>
<para><literal>hp3par:persona</literal> - Defaults to
the <literal>1 - Generic</literal> persona. The
valid values are, <literal>1 - Generic</literal>,
<literal>2 - Generic-ALUA</literal>,
<literal>6 - Generic-legacy</literal>,
<literal>7 - HPUX-legacy</literal>, <literal>8
- AIX-legacy</literal>, <literal>9 -
EGENERA</literal>, <literal>10 -
ONTAP-legacy</literal>, <literal>11 -
VMware</literal>, <literal>12 -
OpenVMS</literal>, <literal>13 - HPUX</literal>,
and <literal>15 - WindowsServer</literal>.</para>
</listitem>
</itemizedlist>
<para>QoS support for both HP 3PAR drivers includes
the ability to set the following capabilities in the
OpenStack Block Storage API
<filename>cinder.api.contrib.qos_specs_manage</filename>
qos specs extension module:</para>
<itemizedlist>
<listitem>
<para><literal>minBWS</literal></para>
</listitem>
<listitem>
<para><literal>maxBWS</literal></para>
</listitem>
<listitem>
<para><literal>minIOPS</literal></para>
</listitem>
<listitem>
<para><literal>maxIOPS</literal></para>
</listitem>
<listitem>
<para><literal>latency</literal></para>
</listitem>
<listitem>
<para><literal>priority</literal></para>
</listitem>
</itemizedlist>
<para>The qos keys above no longer require to be scoped
but must be created and associated to a volume type.
For information about how to set the key-value pairs and
associate them with a volume type, run the following
commands:
<screen><prompt>$</prompt> <userinput>cinder help qos-create</userinput></screen>
<screen><prompt>$</prompt> <userinput>cinder help qos-key</userinput></screen>
<screen><prompt>$</prompt> <userinput>cinder help qos-associate</userinput></screen>
</para>
<para>The following keys require that the HP 3PAR StoreServ
storage array has a Priority Optimization license
installed.</para>
<itemizedlist>
<listitem>
<para><literal>hp3par:vvs</literal> - The virtual
volume set name that has been predefined by the
Administrator with Quality of Service (QoS) rules
associated to it. If you specify extra_specs
<literal>hp3par:vvs</literal>, the
qos_specs <literal>minIOPS</literal>,
<literal>maxIOPS</literal>, <literal>minBWS</literal>,
and <literal>maxBWS</literal> settings are
ignored.</para>
</listitem>
<listitem>
<para><literal>minBWS</literal> - The QoS I/O
issue bandwidth minimum goal in MBs. If not set, the I/O
issue bandwidth rate has no minimum goal.</para>
</listitem>
<listitem>
<para><literal>maxBWS</literal> - The QoS I/O
issue bandwidth rate limit in MBs. If not set, the I/O
issue bandwidth rate has no limit.</para>
</listitem>
<listitem>
<para><literal>minIOPS</literal> - The QoS I/O
issue count minimum goal. If not set, the I/O issue
count has no minimum goal.</para>
</listitem>
<listitem>
<para><literal>maxIOPS</literal> - The QoS I/O
issue count rate limit. If not set, the I/O issue
count rate has no limit.</para>
</listitem>
<listitem>
<para><literal>latency</literal> - The latency
goal in milliseconds.</para>
</listitem>
<listitem>
<para><literal>priority</literal> - The priority of
the QoS rule over other rules. If not set, the
priority is normal, valid values are low, normal
and high.</para>
</listitem>
</itemizedlist>
<note>
<para>Since the Icehouse release, minIOPS and maxIOPS must
be used together to set I/O limits. Similarly, minBWS
and maxBWS must be used together. If only one is set
the other will be set to the same value.</para>
</note>
</section>
<section xml:id="enable-hp-3par-fibre-channel">
<title>Enable the HP 3PAR Fibre Channel and iSCSI
drivers</title>
<para>The <filename>HP3PARFCDriver</filename> and
<filename>HP3PARISCSIDriver</filename> are installed
with the OpenStack software.</para>
<procedure>
<step>
<para>Install the <filename>hp3parclient</filename>
Python package on the OpenStack Block Storage
system.
<screen><prompt>$</prompt> <userinput>sudo pip install 'hp3parclient&gt;=3.0,&lt;4.0'</userinput></screen>
</para>
</step>
<step>
<para>Verify that the HP 3PAR Web Services API server
is enabled and running on the HP 3PAR storage
system.</para>
<substeps>
<step>
<para>Log onto the HP 3PAR storage system with
administrator
access.</para>
<screen><prompt>$</prompt> <userinput>ssh 3paradm@<replaceable>&lt;HP 3PAR IP Address&gt;</replaceable></userinput></screen>
</step>
<step>
<para>View the current state of the Web
Services API Server.</para>
<screen><prompt>#</prompt> <userinput>showwsapi</userinput>
<computeroutput>-Service- -State- -HTTP_State- HTTP_Port -HTTPS_State- HTTPS_Port -Version-
Enabled Active Enabled 8008 Enabled 8080 1.1</computeroutput></screen>
</step>
<step>
<para>If the Web Services API Server is
disabled, start
it.
</para>
<screen><prompt>#</prompt> <userinput>startwsapi</userinput></screen>
</step>
</substeps>
</step>
<step>
<para>If the HTTP or HTTPS state is disabled, enable
one of
them.
<screen><prompt>#</prompt> <userinput>setwsapi -http enable</userinput></screen>
or <screen><prompt>#</prompt> <userinput>setwsapi -https enable</userinput></screen>
</para>
<note>
<para>To stop the Web Services API Server, use
the stopwsapi command. For other options
run the <command>setwsapi h</command>
command.</para>
</note>
</step>
<step>
<para>If you are not using an existing CPG, create a
CPG on the HP 3PAR storage system to be used as
the default location for creating volumes.</para>
</step>
<step>
<para>Make the following changes in the
<filename>/etc/cinder/cinder.conf</filename>
file.</para>
<programlisting language="ini"><emphasis role="bold">## REQUIRED SETTINGS</emphasis>
# 3PAR WS API Server URL
hp3par_api_url=https://10.10.0.141:8080/api/v1
# 3PAR Super user username
hp3par_username=3paradm
# 3PAR Super user password
hp3par_password=3parpass
# 3PAR CPG to use for volume creation
hp3par_cpg=OpenStackCPG_RAID5_NL
# IP address of SAN controller for SSH access to the array
san_ip=10.10.22.241
# Username for SAN controller for SSH access to the array
san_login=3paradm
# Password for SAN controller for SSH access to the array
san_password=3parpass
# FIBRE CHANNEL(uncomment the next line to enable the FC driver)
# volume_driver=cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver
# iSCSI (uncomment the next line to enable the iSCSI driver and
# hp3par_iscsi_ips or iscsi_ip_address)
#volume_driver=cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver
# iSCSI multiple port configuration
# hp3par_iscsi_ips=10.10.220.253:3261,10.10.222.234
# Still available for single port iSCSI configuration
#iscsi_ip_address=10.10.220.253
<emphasis role="bold">## OPTIONAL SETTINGS</emphasis>
# Enable HTTP debugging to 3PAR
hp3par_debug=False
# The CPG to use for Snapshots for volumes. If empty hp3par_cpg will be used.
hp3par_snap_cpg=OpenStackSNAP_CPG
# Time in hours to retain a snapshot. You can't delete it before this expires.
hp3par_snapshot_retention=48
# Time in hours when a snapshot expires and is deleted. This must be larger than retention.
hp3par_snapshot_expiration=72</programlisting>
<note>
<para>You can enable only one driver on each
cinder instance unless you enable multiple
back-end support. See the Cinder multiple
back-end support instructions to enable this
feature.</para>
</note>
<note>
<para>You can configure one or more iSCSI
addresses by using the
<option>hp3par_iscsi_ips</option> option.
When you configure multiple addresses, the
driver selects the iSCSI port with the fewest
active volumes at attach time. The IP address
might include an IP port by using a colon
(<literal>:</literal>) to separate the
address from port. If you do not define an IP
port, the default port 3260 is used. Separate
IP addresses with a comma
(<literal>,</literal>). The
<option>iscsi_ip_address</option>/<option>iscsi_port</option>
options might be used as an alternative to
<option>hp3par_iscsi_ips</option> for
single port iSCSI configuration.</para>
</note>
</step>
<step>
<para>Save the changes to the
<filename>cinder.conf</filename> file and
restart the <systemitem class="service"
>cinder-volume</systemitem> service.</para>
</step>
</procedure>
<para>The HP 3PAR Fibre Channel and iSCSI drivers are now
enabled on your OpenStack system. If you experience
problems, review the Block Storage Service log files for
errors.</para>
</section>
</section>