openstack-manuals/doc/config-reference/block-storage/drivers/hp-3par-driver.xml
Kurt Martin 892d6573a8 Update HP 3PAR supported operations
Manage/unmanage support was added in the Juno release with patch:
https://review.openstack.org/#/c/113729/

This patch is adding the manage and unmanage a volume to the list
of supported operations for the HP 3PAR drivers.

Change-Id: I00aba2b753fa9655031ee49f7ad823b9e6e573a4
2014-10-22 16:55:33 -07:00

391 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 MU1
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.1.1 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, 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>
<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>2 - Generic-ALUA</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>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
# Enable CHAP authentication for iSCSI connections.
hp3par_iscsi_chap_enabled=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>