openstack-manuals/doc/config-reference/block-storage/drivers/hp-3par-driver.xml

468 lines
21 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>
<itemizedlist>
<listitem>
<para>Deduplication provisioning requires SSD disks
and HP 3PAR Operating System software version
3.2.1 MU1 or higher.</para>
</listitem>
<listitem>
<para>Enabling Flash Cache Policy requires the following:
</para>
<itemizedlist>
<listitem>
<para>Array must contain SSD disks.
</para>
</listitem>
<listitem>
<para>HP 3PAR Operating System software version 3.2.1 MU2
or higher.
</para>
</listitem>
<listitem>
<para>hp3parclient version 3.2.0 or newer.
</para>
</listitem>
<listitem>
<para>Array must have the Adaptive Flash Cache license
installed.
</para>
</listitem>
<listitem>
<para>Flash Cache
must be enabled on the array with the CLI command
<command>createflashcache size</command>,
where size must be in 16 GB increments. For
example, <command>createflashcache 128g</command>
will create 128 GB of Flash Cache for each
node pair in the array.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>The Dynamic Optimization license is required to
support any feature that results in a volume
changing provisioning type or CPG. This may
apply to the volume <command>migrate</command>,
<command>retype</command>, and
<command>manage</command> commands.
</para>
</listitem>
</itemizedlist>
</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>
<warning><para>This setting is ignored as of Kilo. Instead,
use the <literal>hp3par_cpg</literal> setting in <filename>
cinder.conf</filename> to list the valid CPGs for a
backend. CPGs should now be controlled by configuring
separate backends with pools.</para></warning>
</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>
<listitem>
<para><literal>hp3par:flash_cache</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>, <literal>full</literal>,
and <literal>dedup</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>3 - Generic-legacy</literal>,
<literal>4 - HPUX-legacy</literal>, <literal>5
- AIX-legacy</literal>, <literal>6 -
EGENERA</literal>, <literal>7 -
ONTAP-legacy</literal>, <literal>8 -
VMware</literal>, <literal>9 -
OpenVMS</literal>, <literal>10 - HPUX</literal>,
and <literal>11 - WindowsServer</literal>.</para>
</listitem>
<listitem>
<para><literal>hp3par:flash_cache</literal> -
Defaults to <literal>false</literal>, the valid values
are <literal>true</literal>
and <literal>false</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>
<para>The following keys require that the HP 3PAR StoreServ
storage array has an Adaptive Flash Cache license
installed.</para>
<itemizedlist>
<listitem>
<para><literal>hp3par:flash_cache</literal> - The
flash-cache policy, which can be turned on and off
by setting the value to <literal>true</literal> or
<literal>false</literal>.</para>
</listitem>
</itemizedlist>
</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 username with the 'edit' role
hp3par_username=edit3par
# 3PAR password for the user specified in hp3par_username
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>