The HPE 3PAR driver supports all consistency group related operations. This patch adds said operations to the list of supported ones. Change-Id: I42a5ccb92d8b520796eb36e4887a7ccf19a1ed61 Closes-Bug: 1544780
12 KiB
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.1.0 or newer.
- Array must have the Adaptive Flash Cache license installed.
- Flash Cache must be enabled on the array with the CLI command
createflashcache SIZE
, where size must be in 16 GB increments. For example,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
migrate
,retype
andmanage
commands. - The Virtual Copy License is required to support any feature that
involves volume snapshots. This applies to the volume
snapshot-*
commands.
- HPE 3PAR drivers will now check the licenses installed on the array and disable driver capabilities based on available licenses. This will apply to thin provisioning, QoS support and volume replication.
- 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.
- Manage and unmanage a snapshot.
- Replicate volumes to managed and unmanaged targets.
- Fail-over volumes to managed and unmanaged targets.
- Create, delete, update, snapshot, and clone consistency groups.
- Create and delete consistency group snapshots.
- Create a consistency group from a consistency group snapshot or another group.
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: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:
$ 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 thehpe3par_cpg
setting in thecinder.conf
file.hpe3par:snap_cpg
- Defaults to thehpe3par_snap
setting in thecinder.conf
file. Ifhpe3par_snap
is not set, it defaults to thehpe3par_cpg
setting.hpe3par:provisioning
- Defaults tothin
provisioning, the valid values arethin
,full
, anddedup
.hpe3par:persona
- Defaults to the2 - 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 tofalse
, the valid values aretrue
andfalse
.
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:
$ cinder help qos-create
$ cinder help qos-key
$ 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_specsminIOPS
,maxIOPS
,minBWS
, andmaxBWS
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 arelow
,normal
andhigh
.
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 totrue
orfalse
.
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.$ 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.
Log onto the HP 3PAR storage system with administrator access.
$ ssh 3paradm@<HP 3PAR IP Address>
View the current state of the Web Services API Server.
$ showwsapi -Service- -State- -HTTP_State- HTTP_Port -HTTPS_State- HTTPS_Port -Version- Enabled Active Enabled 8008 Enabled 8080 1.1
If the Web Services API Server is disabled, start it.
$ startwsapi
If the HTTP or HTTPS state is disabled, enable one of them.
$ setwsapi -http enable
or
$ setwsapi -https enable
Note
To stop the Web Services API Server, use the
stopwsapi
command. For other options run thesetwsapi –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.# 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 (,
). Theiscsi_ip_address
/iscsi_port
options might be used as an alternative tohpe3par_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.