Merge "[config-ref] Convert HPE 3PAR driver to RST"
This commit is contained in:
@@ -1,3 +1,369 @@
|
||||
=======================================
|
||||
HP 3PAR Fibre Channel and iSCSI drivers
|
||||
=======================================
|
||||
========================================
|
||||
HPE 3PAR Fibre Channel and iSCSI drivers
|
||||
========================================
|
||||
|
||||
The ``HPE3PARFCDriver`` and ``HPE3PARISCSIDriver`` drivers, which are based on
|
||||
the Block Storage service (Cinder) plug-in architecture, run volume operations
|
||||
by communicating with the HPE 3PAR storage system over HTTP, HTTPS, and SSH
|
||||
connections. The HTTP and HTTPS communications use ``python-3parclient``,
|
||||
which is part of the Python standard library.
|
||||
|
||||
For information about how to manage HPE 3PAR storage systems, see the HPE 3PAR
|
||||
user documentation.
|
||||
|
||||
System requirements
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To use the HPE 3PAR drivers, install the following software and components on
|
||||
the HPE 3PAR storage system:
|
||||
|
||||
* HPE 3PAR Operating System software version 3.1.3 MU1 or higher.
|
||||
|
||||
* Deduplication provisioning requires SSD disks and HPE 3PAR Operating
|
||||
System software version 3.2.1 MU1 or higher.
|
||||
|
||||
* Enabling Flash Cache Policy requires the following:
|
||||
|
||||
* Array must contain SSD disks.
|
||||
|
||||
* HPE 3PAR Operating System software version 3.2.1 MU2 or higher.
|
||||
|
||||
* python-3parclient version 4.0.0 or newer.
|
||||
|
||||
* Array must have the Adaptive Flash Cache license installed.
|
||||
|
||||
* Flash Cache must be enabled on the array with the CLI command
|
||||
:command:`createflashcache SIZE`, where size must be in 16 GB increments.
|
||||
For example, :command:`createflashcache 128g` will create 128 GB of Flash
|
||||
Cache for each node pair in the array.
|
||||
|
||||
* 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:`retype` and :command:`manage`
|
||||
commands.
|
||||
|
||||
* The Virtual Copy License is required to support any feature that involves
|
||||
volume snapshots. This applies to the volume :command:`snapshot-*`
|
||||
commands.
|
||||
|
||||
* HPE 3PAR Web Services API Server must be enabled and running.
|
||||
|
||||
* One Common Provisioning Group (CPG).
|
||||
|
||||
* Additionally, you must install the ``python-3parclient`` version 4.0.0 or
|
||||
newer from the Python standard library on the system with the enabled Block
|
||||
Storage service volume drivers.
|
||||
|
||||
Supported operations
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Create, delete, attach, and detach volumes.
|
||||
|
||||
* Create, list, and delete volume snapshots.
|
||||
|
||||
* Create a volume from a snapshot.
|
||||
|
||||
* Copy an image to a volume.
|
||||
|
||||
* Copy a volume to an image.
|
||||
|
||||
* Clone a volume.
|
||||
|
||||
* Extend a volume.
|
||||
|
||||
* Migrate a volume with back-end assistance.
|
||||
|
||||
* Retype a volume.
|
||||
|
||||
* Manage and unmanage a volume.
|
||||
|
||||
Volume type support for both HPE 3PAR drivers includes the ability to set the
|
||||
following capabilities in the OpenStack Block Storage API
|
||||
``cinder.api.contrib.types_extra_specs`` volume type extra specs extension
|
||||
module:
|
||||
|
||||
* ``hpe3par:cpg``
|
||||
|
||||
.. warning::
|
||||
|
||||
This setting is ignored as of Kilo. Instead, use the ``hpe3par_cpg``
|
||||
setting in ``cinder.conf`` to list the valid CPGs for a backend. CPGs
|
||||
should now be controlled by configuring separate backends with pools.
|
||||
|
||||
* ``hpe3par:snap_cpg``
|
||||
|
||||
* ``hpe3par:provisioning``
|
||||
|
||||
* ``hpe3par:persona``
|
||||
|
||||
* ``hpe3par:vvs``
|
||||
|
||||
* ``hpe3par:flash_cache``
|
||||
|
||||
To work with the default filter scheduler, the key values are case sensitive
|
||||
and scoped with ``hpe3par:``. For information about how to set the key-value
|
||||
pairs and associate them with a volume type, run the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cinder help type-key
|
||||
|
||||
.. note::
|
||||
|
||||
Volumes that are cloned only support the extra specs keys cpg, snap_cpg,
|
||||
provisioning and vvs. The others are ignored. In addition the comments
|
||||
section of the cloned volume in the HPE 3PAR StoreServ storage array is
|
||||
not populated.
|
||||
|
||||
If volume types are not used or a particular key is not set for a volume type,
|
||||
the following defaults are used:
|
||||
|
||||
* ``hpe3par:cpg`` - Defaults to the ``hpe3par_cpg`` setting in the
|
||||
``cinder.conf`` file.
|
||||
|
||||
* ``hpe3par:snap_cpg`` - Defaults to the ``hpe3par_snap`` setting in
|
||||
the ``cinder.conf`` file. If ``hpe3par_snap`` is not set, it defaults
|
||||
to the ``hpe3par_cpg`` setting.
|
||||
|
||||
* ``hpe3par:provisioning`` - Defaults to ``thin`` provisioning, the valid
|
||||
values are ``thin``, ``full``, and ``dedup``.
|
||||
|
||||
* ``hpe3par:persona`` - Defaults to the ``2 - Generic-ALUA`` persona. The
|
||||
valid values are:
|
||||
|
||||
* ``1 - Generic``
|
||||
* ``2 - Generic-ALUA``
|
||||
* ``3 - Generic-legacy``
|
||||
* ``4 - HPUX-legacy``
|
||||
* ``5 - AIX-legacy``
|
||||
* ``6 - EGENERA``
|
||||
* ``7 - ONTAP-legacy``
|
||||
* ``8 - VMware``
|
||||
* ``9 - OpenVMS``
|
||||
* ``10 - HPUX``
|
||||
* ``11 - WindowsServer``
|
||||
|
||||
* ``hpe3par:flash_cache`` - Defaults to ``false``, the valid values are
|
||||
``true`` and ``false``.
|
||||
|
||||
QoS support for both HPE 3PAR drivers includes the ability to set the
|
||||
following capabilities in the OpenStack Block Storage API
|
||||
``cinder.api.contrib.qos_specs_manage`` qos specs extension module:
|
||||
|
||||
* ``minBWS``
|
||||
|
||||
* ``maxBWS``
|
||||
|
||||
* ``minIOPS``
|
||||
|
||||
* ``maxIOPS``
|
||||
|
||||
* ``latency``
|
||||
|
||||
* ``priority``
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cinder help qos-create
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cinder help qos-key
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cinder help qos-associate
|
||||
|
||||
|
||||
The following keys require that the HPE 3PAR StoreServ storage array has a
|
||||
Priority Optimization license installed.
|
||||
|
||||
* ``hpe3par:vvs`` - 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 ``hpe3par:vvs``, the qos_specs ``minIOPS``,
|
||||
``maxIOPS``, ``minBWS``, and ``maxBWS`` settings are ignored.
|
||||
|
||||
* ``minBWS`` - The QoS I/O issue bandwidth minimum goal in MBs. If not set,
|
||||
the I/O issue bandwidth rate has no minimum goal.
|
||||
|
||||
* ``maxBWS`` - The QoS I/O issue bandwidth rate limit in MBs. If not set, the
|
||||
I/O issue bandwidth rate has no limit.
|
||||
|
||||
* ``minIOPS`` - The QoS I/O issue count minimum goal. If not set, the I/O
|
||||
issue count has no minimum goal.
|
||||
|
||||
* ``maxIOPS`` - The QoS I/O issue count rate limit. If not set, the I/O issue
|
||||
count rate has no limit.
|
||||
|
||||
* ``latency`` - The latency goal in milliseconds.
|
||||
|
||||
* ``priority`` - The priority of the QoS rule over other rules. If not
|
||||
set, the priority is ``normal``, valid values are ``low``, ``normal`` and
|
||||
``high``.
|
||||
|
||||
.. note::
|
||||
|
||||
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.
|
||||
|
||||
The following key requires that the HPE 3PAR StoreServ storage array has an
|
||||
Adaptive Flash Cache license installed.
|
||||
|
||||
* ``hpe3par:flash_cache`` - The flash-cache policy, which can be turned on and
|
||||
off by setting the value to ``true`` or ``false``.
|
||||
|
||||
Enable the HPE 3PAR Fibre Channel and iSCSI drivers
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``HPE3PARFCDriver`` and ``HPE3PARISCSIDriver`` are installed with the
|
||||
OpenStack software.
|
||||
|
||||
#. Install the ``python-3parclient`` Python package on the OpenStack Block
|
||||
Storage system.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ pip install 'python-3parclient>=4.0,<5.0'
|
||||
|
||||
|
||||
#. Verify that the HPE 3PAR Web Services API server is enabled and running on
|
||||
the HPE 3PAR storage system.
|
||||
|
||||
a. Log onto the HP 3PAR storage system with administrator access.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ ssh 3paradm@<HP 3PAR IP Address>
|
||||
|
||||
b. View the current state of the Web Services API Server.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ showwsapi
|
||||
-Service- -State- -HTTP_State- HTTP_Port -HTTPS_State- HTTPS_Port -Version-
|
||||
Enabled Active Enabled 8008 Enabled 8080 1.1
|
||||
|
||||
c. If the Web Services API Server is disabled, start it.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ startwsapi
|
||||
|
||||
#. If the HTTP or HTTPS state is disabled, enable one of them.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ setwsapi -http enable
|
||||
|
||||
or
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ setwsapi -https enable
|
||||
|
||||
.. note::
|
||||
|
||||
To stop the Web Services API Server, use the :command:`stopwsapi` command. For
|
||||
other options run the :command:`setwsapi –h` command.
|
||||
|
||||
#. If you are not using an existing CPG, create a CPG on the HPE 3PAR storage
|
||||
system to be used as the default location for creating volumes.
|
||||
|
||||
#. Make the following changes in the ``/etc/cinder/cinder.conf`` file.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
# 3PAR WS API Server URL
|
||||
hpe3par_api_url=https://10.10.0.141:8080/api/v1
|
||||
|
||||
# 3PAR username with the 'edit' role
|
||||
hpe3par_username=edit3par
|
||||
|
||||
# 3PAR password for the user specified in hpe3par_username
|
||||
hpe3par_password=3parpass
|
||||
|
||||
# 3PAR CPG to use for volume creation
|
||||
hpe3par_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.hpe.hpe_3par_fc.HPE3PARFCDriver
|
||||
|
||||
# iSCSI (uncomment the next line to enable the iSCSI driver and
|
||||
# hpe3par_iscsi_ips or iscsi_ip_address)
|
||||
#volume_driver=cinder.volume.drivers.hpe.hpe_3par_iscsi.HPE3PARISCSIDriver
|
||||
|
||||
# iSCSI multiple port configuration
|
||||
# hpe3par_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
|
||||
|
||||
|
||||
# Enable HTTP debugging to 3PAR
|
||||
hpe3par_debug=False
|
||||
|
||||
# Enable CHAP authentication for iSCSI connections.
|
||||
hpe3par_iscsi_chap_enabled=false
|
||||
|
||||
# The CPG to use for Snapshots for volumes. If empty hpe3par_cpg will be
|
||||
# used.
|
||||
hpe3par_snap_cpg=OpenStackSNAP_CPG
|
||||
|
||||
# Time in hours to retain a snapshot. You can't delete it before this
|
||||
# expires.
|
||||
hpe3par_snapshot_retention=48
|
||||
|
||||
# Time in hours when a snapshot expires and is deleted. This must be
|
||||
# larger than retention.
|
||||
hpe3par_snapshot_expiration=72
|
||||
|
||||
# The ratio of oversubscription when thin provisioned volumes are
|
||||
# involved. Default ratio is 20.0, this means that a provisioned
|
||||
# capacity can be 20 times of the total physical capacity.
|
||||
max_over_subscription_ratio=20.0
|
||||
|
||||
# This flag represents the percentage of reserved back-end capacity.
|
||||
reserved_percentage=15
|
||||
|
||||
.. note::
|
||||
|
||||
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.
|
||||
|
||||
.. note::
|
||||
|
||||
You can configure one or more iSCSI addresses by using the
|
||||
``hpe3par_iscsi_ips`` 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 (``:``)
|
||||
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 (``,``).
|
||||
The ``iscsi_ip_address``/``iscsi_port`` options might be used as an
|
||||
alternative to ``hpe3par_iscsi_ips`` for single port iSCSI configuration.
|
||||
|
||||
#. Save the changes to the ``cinder.conf`` file and restart the cinder-volume
|
||||
service.
|
||||
|
||||
The HPE 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.
|
||||
|
||||
The following table contains all the configuration options supported by
|
||||
the HPE 3PAR Fibre Channel and iSCSI drivers.
|
||||
|
||||
.. include:: ../../tables/cinder-hpe3par.rst
|
||||
|
Reference in New Issue
Block a user