Dell PowerVault ME Series Fibre Channel and iSCSI drivers

The PVMEFCDriver and PVMEISCSIDriver Cinder drivers allow the Dell PowerVault ME Series storage arrays to be used for Block Storage in OpenStack deployments.

System requirements

To use the PowerVault ME Series drivers, the following are required:

  • PowerVault ME5 Series storage array with I200 or later firmware, or

  • PowerVault ME4 Series storage array with G280 or later firmware

  • iSCSI or Fibre Channel host interfaces

  • Network connectivity between the OpenStack hosts and the array’s embedded management interface

  • The HTTPS protocol must be enabled on the array

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.

Configuring the array

  1. Verify that the array can be managed via an HTTPS connection. HTTP can also be used if driver_use_ssl is set to False in the cinder.conf file.

    Confirm that virtual pools A and B are already present on the array. If they are missing, create them.

  2. Edit the cinder.conf file to define a storage back-end entry for each storage pool on the array that will be managed by OpenStack. Each entry consists of a unique section name, surrounded by square brackets, followed by options specified in a key=value format.

    • The pvme_pool_name value specifies the name of the storage pool or vdisk on the array.

    • The volume_backend_name option value can be a unique value, if you wish to be able to assign volumes to a specific storage pool on the array, or a name that is shared among multiple storage pools to let the volume scheduler choose where new volumes are allocated.

  3. The following cinder.conf options generally have identical values for each backend section on the array:

    • volume_driver specifies the Cinder driver name.

    • san_ip specifies the IP addresses or host names of the array’s management controllers.

    • san_login and san_password specify the username and password of an array user account with manage privileges

    • driver_use_ssl must be set to True to enable use of the HTTPS protocol.

    • pvme_iscsi_ips specifies the iSCSI IP addresses for the array if using the iSCSI transport protocol

    In the examples below, two back ends are defined, one for pool A and one for pool B, and a common volume_backend_name is used so that a single volume type definition can be used to allocate volumes from both pools.

    iSCSI example back-end entries

    [pool-a]
    pvme_pool_name = A
    volume_backend_name = pvme-array
    volume_driver = cinder.volume.drivers.dell_emc.powervault.iscsi.PVMEISCSIDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    pvme_iscsi_ips = 10.2.3.4,10.2.3.5
    driver_use_ssl = true
    
    [pool-b]
    pvme_pool_name = B
    volume_backend_name = pvme-array
    volume_driver = cinder.volume.drivers.dell_emc.powervault.iscsi.PVMEISCSIDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    pvme_iscsi_ips = 10.2.3.4,10.2.3.5
    driver_use_ssl = true
    

    Fibre Channel example back-end entries

    [pool-a]
    pvme_pool_name = A
    volume_backend_name = pvme-array
    volume_driver = cinder.volume.drivers.dell_emc.powervault.fc.PVMEFCDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    driver_use_ssl = true
    
    [pool-b]
    pvme_pool_name = B
    volume_backend_name = pvme-array
    volume_driver = cinder.volume.drivers.dell_emc.powervault.fc.PVMEFCDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    driver_use_ssl = true
    
  4. If HTTPS is enabled, you can enable certificate verification with the option driver_ssl_cert_verify = True. You may also use the driver_ssl_cert_path parameter to specify the path to a CA_BUNDLE file containing CAs other than those in the default list.

  5. Modify the [DEFAULT] section of the cinder.conf file to add an enabled_backends parameter specifying the backend entries you added, and a default_volume_type parameter specifying the name of a volume type that you will create in the next step.

    Example of [DEFAULT] section changes

    [DEFAULT]
    enabled_backends = pool-a,pool-b
    default_volume_type = pvme
    
  6. Create a new volume type for each distinct volume_backend_name value that you added in the cinder.conf file. The example below assumes that the same volume_backend_name=pvme-array option was specified in all of the entries, and specifies that the volume type pvme can be used to allocate volumes from any of them.

    Example of creating a volume type

    $ openstack volume type create pvme
    $ openstack volume type set --property volume_backend_name=pvme-array pvme
    
  7. After modifying the cinder.conf file, restart the cinder-volume service.

Driver-specific options

The following table contains the configuration options that are specific to the PowerVault ME Series drivers.

Description of PowerVault ME Series configuration options

Configuration option = Default value

Description

pvme_iscsi_ips = []

(List of String) List of comma-separated target iSCSI IP addresses.

pvme_pool_name = A

(String) Pool or Vdisk name to use for volume creation.