Set the volume driver to the Storwize family and SVC
driver by setting the volume_driver
option in cinder.conf
as
follows:
volume_driver = cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver
The following options specify default values for all volumes. Some can be over-ridden using volume types, which are described below.
Flag name | Type | Default | Description | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Required |
Management IP or host name |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
22 |
Management port |
||||||||||||||||||||||||||||||||||||||||||||||
|
Required |
Management login username |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Required [a] |
Management login password |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Required [a] |
Management login SSH private key |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Required |
Default pool name for volumes |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
2 |
Initial physical allocation (percentage) [b] |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
0 (disabled) |
Space allocation warning threshold (percentage) [b] |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
True |
Enable or disable volume auto expand [c] |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
256 |
Volume grain size [b] in KB |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
False |
Enable or disable Real-time Compression [d] |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
True |
Enable or disable Easy Tier [e] |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
0 |
The I/O group in which to allocate vdisks |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
120 |
FlashCopy timeout threshold [f] (seconds) |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
iSCSI |
Connection protocol to use (currently supports 'iSCSI' or 'FC') |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
True |
Configure CHAP authentication for iSCSI connections |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
False |
Enable multipath for FC connections [g] |
||||||||||||||||||||||||||||||||||||||||||||||
|
Optional |
True |
Enable mapping vdisks to multiple hosts [h] |
||||||||||||||||||||||||||||||||||||||||||||||
[a] The authentication requires
either a password
( [b] The driver creates
thin-provisioned volumes by
default. The
[c] Defines whether
thin-provisioned volumes can be
auto expanded by the storage
system, a value of
[d] Defines whether Real-time Compression is used for the volumes created with OpenStack. Details on Real-time Compression can be found in the Storwize family and SVC documentation. The Storwize or SVC system must have compression enabled for this feature to work. [e] Defines whether Easy Tier is used for the volumes created with OpenStack. Details on EasyTier can be found in the Storwize family and SVC documentation. The Storwize or SVC system must have Easy Tier enabled for this feature to work. [f] The driver wait timeout threshold when creating an OpenStack snapshot. This is actually the maximum amount of time that the driver waits for the Storwize family or SVC system to prepare a new FlashCopy mapping. The driver accepts a maximum wait time of 600 seconds (10 minutes). [g] Multipath for iSCSI connections requires no storage-side configuration and is enabled if the compute host has multipath configured. [h] This option allows the driver to map a vdisk to more than one host at a time. This scenario occurs during migration of a virtual machine with an attached volume; the volume is simultaneously mapped to both the source and destination compute hosts. If your deployment does not require attaching vdisks to multiple hosts, setting this flag to False will provide added safety. |
Configuration option = Default value | Description |
---|---|
[DEFAULT] | |
storwize_svc_connection_protocol = iSCSI | (StrOpt) Connection protocol (iSCSI/FC) |
storwize_svc_flashcopy_timeout = 120 | (IntOpt) Maximum number of seconds to wait for FlashCopy to be prepared. Maximum value is 600 seconds (10 minutes) |
storwize_svc_iscsi_chap_enabled = True | (BoolOpt) Configure CHAP authentication for iSCSI connections (Default: Enabled) |
storwize_svc_multihostmap_enabled = True | (BoolOpt) Allows vdisk to multi host mapping |
storwize_svc_multipath_enabled = False | (BoolOpt) Connect with multipath (FC only; iSCSI multipath is controlled by Nova) |
storwize_svc_vol_autoexpand = True | (BoolOpt) Storage system autoexpand parameter for volumes (True/False) |
storwize_svc_vol_compression = False | (BoolOpt) Storage system compression option for volumes |
storwize_svc_vol_easytier = True | (BoolOpt) Enable Easy Tier for volumes |
storwize_svc_vol_grainsize = 256 | (IntOpt) Storage system grain size parameter for volumes (32/64/128/256) |
storwize_svc_vol_iogrp = 0 | (IntOpt) The I/O group in which to allocate volumes |
storwize_svc_vol_rsize = 2 | (IntOpt) Storage system space-efficiency parameter for volumes (percentage) |
storwize_svc_vol_warning = 0 | (IntOpt) Storage system threshold for volume capacity warnings (percentage) |
storwize_svc_volpool_name = volpool | (StrOpt) Storage system storage pool for volumes |
The IBM Storwize/SVC driver exposes capabilities
that can be added to the extra
specs
of volume types, and used by the
filter scheduler to determine placement of new
volumes. Make sure to prefix these keys with
capabilities:
to indicate that
the scheduler should use them. The following
extra specs
are
supported:
capabilities:volume_back-end_name - Specify a specific back-end where the volume should be created. The back-end name is a concatenation of the name of the IBM Storwize/SVC storage system as shown in
lssystem
, an underscore, and the name of the pool (mdisk group). For example:capabilities:volume_back-end_name=myV7000_openstackpool
capabilities:compression_support - Specify a back-end according to compression support. A value of
True
should be used to request a back-end that supports compression, and a value ofFalse
will request a back-end that does not support compression. If you do not have constraints on compression support, do not set this key. Note that specifyingTrue
does not enable compression; it only requests that the volume be placed on a back-end that supports compression. Example syntax:capabilities:compression_support='<is> True'
capabilities:easytier_support - Similar semantics as the
compression_support
key, but for specifying according to support of the Easy Tier feature. Example syntax:capabilities:easytier_support='<is> True'
capabilities:storage_protocol - Specifies the connection protocol used to attach volumes of this type to instances. Legal values are
iSCSI
andFC
. Thisextra specs
value is used for both placement and setting the protocol used for this volume. In the example syntax, note <in> is used as opposed to <is> used in the previous examples.capabilities:storage_protocol='<in> FC'
Volume types can also be used to pass options to the IBM Storwize/SVC driver, which over-ride the default values set in the configuration file. Contrary to the previous examples where the "capabilities" scope was used to pass parameters to the Cinder scheduler, options can be passed to the IBM Storwize/SVC driver with the "drivers" scope.
The following extra specs
keys
are supported by the IBM Storwize/SVC driver:
rsize
warning
autoexpand
grainsize
compression
easytier
multipath
iogrp
These keys have the same semantics as their
counterparts in the configuration file. They are set
similarly; for example, rsize=2
or
compression=False
.
In the following example, we create a volume type to specify a controller that supports iSCSI and compression, to use iSCSI when attaching the volume, and to enable compression:
$ cinder type-create compressed $ cinder type-key compressed set capabilities:storage_protocol='<in> iSCSI' capabilities:compression_support='<is> True' drivers:compression=True
We can then create a 50GB volume using this type:
$ cinder create --display-name "compressed volume" --volume-type compressed 50
Volume types can be used, for example, to provide users with different
performance levels (such as, allocating entirely on an HDD tier, using Easy Tier for an HDD-SDD mix, or allocating entirely on an SSD tier)
resiliency levels (such as, allocating volumes in pools with different RAID levels)
features (such as, enabling/disabling Real-time Compression)