468 lines
21 KiB
XML
468 lines
21 KiB
XML
<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>=3.0,<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><HP 3PAR IP Address></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>
|