Liberty -  Liberty -  Liberty -  Liberty -  Liberty -  Liberty -  Liberty -  Liberty - 

 Configure the Storwize family and SVC driver

 Enable the Storwize family and SVC driver

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
 Storwize family and SVC driver options in cinder.conf

The following options specify default values for all volumes. Some can be over-ridden using volume types, which are described below.

Table 2.21. List of configuration flags for Storwize storage and SVC driver
Flag name Type Default Description

san_ip

Required

Management IP or host name

san_ssh_port

Optional

22

Management port

san_login

Required

Management login username

san_password

Required [a]

Management login password

san_private_key

Required [a]

Management login SSH private key

storwize_svc_volpool_name

Required

Default pool name for volumes

storwize_svc_vol_rsize

Optional

2

Initial physical allocation (percentage) [b]

storwize_svc_vol_warning

Optional

0 (disabled)

Space allocation warning threshold (percentage) [b]

storwize_svc_vol_autoexpand

Optional

True

Enable or disable volume auto expand [c]

storwize_svc_vol_grainsize

Optional

256

Volume grain size [b] in KB

storwize_svc_vol_compression

Optional

False

Enable or disable Real-time Compression [d]

storwize_svc_vol_easytier

Optional

True

Enable or disable Easy Tier [e]

storwize_svc_vol_iogrp

Optional

0

The I/O group in which to allocate vdisks

storwize_svc_flashcopy_timeout

Optional

120

FlashCopy timeout threshold [f] (seconds)

storwize_svc_connection_protocol

Optional

iSCSI

Connection protocol to use (currently supports 'iSCSI' or 'FC')

storwize_svc_iscsi_chap_enabled

Optional

True

Configure CHAP authentication for iSCSI connections

storwize_svc_multipath_enabled

Optional

False

Enable multipath for FC connections [g]

storwize_svc_multihost_enabled

Optional

True

Enable mapping vdisks to multiple hosts [h]

storwize_svc_vol_nofmtdisk

Optional

False

Enable or disable fast format [i]

[a] The authentication requires either a password (san_password) or SSH private key (san_private_key). One must be specified. If both are specified, the driver uses only the SSH private key.

[b] The driver creates thin-provisioned volumes by default. The storwize_svc_vol_rsize flag defines the initial physical allocation percentage for thin-provisioned volumes, or if set to -1, the driver creates full allocated volumes. More details about the available options are available in the Storwize family and SVC documentation.

[c] Defines whether thin-provisioned volumes can be auto expanded by the storage system, a value of True means that auto expansion is enabled, a value of False disables auto expansion. Details about this option can be found in the –autoexpand flag of the Storwize family and SVC command line interface mkvdisk command.

[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. Add iscsi_use_multipath = True in [libvirt] of /etc/nova/nova.conf. The configuration should be done at compute nodes (hosts using libvirt).

[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.

[i] Defines whether or not the fast formatting of thick-provisioned volumes is disabled at creation. The default value is False and a value of True means that fast format is disabled. Details about this option can be found in the –nofmtdisk flag of the Storwize family and SVC command line interface mkvdisk command.

Table 2.22. Description of IBM Storwise driver configuration options
Configuration option = Default value Description
[DEFAULT]
storwize_svc_allow_tenant_qos = False (BoolOpt) Allow tenants to specify QOS on create
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.
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_npiv_compatibility_mode = True (BoolOpt) Indicate whether svc driver is compatible for NPIV setup. If it is compatible, it will allow no wwpns being returned on get_conn_fc_wwpns during initialize_connection. It should always be set to True. It will be deprecated and removed in M release.
storwize_svc_stretched_cluster_partner = None (StrOpt) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: "pool2"
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

 Placement with volume types

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 of False 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 specifying True 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 and FC. This extra 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'
 Configure per-volume creation options

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.

 Example: Volume types

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)

 QOS

The Storwize driver provides QOS support for storage volumes by controlling the I/O amount. QOS is enabled by editing the etc/cinder/cinder.conf file and setting the storwize_svc_allow_tenant_qos to True.

There are three ways to set the Storwize IOThrotting parameter for storage volumes:

  • Add the qos:IOThrottling key into a QOS specification and associate it with a volume type.

  • Add the qos:IOThrottling key into an extra specification with a volume type.

  • Add the qos:IOThrottling key to the storage volume metadata.

[Note]Note

If you are changing a volume type with QOS to a new volume type without QOS, the QOS configuration settings will be removed.

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...