============================================================== 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 ~~~~~~~~~~~~~~~~~~~~~ #. 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. #. 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. #. 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** .. code-block:: ini [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** .. code-block:: ini [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 #. 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. #. 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** .. code-block:: ini [DEFAULT] enabled_backends = pool-a,pool-b default_volume_type = pvme #. 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** .. code-block:: console $ openstack volume type create pvme $ openstack volume type set --property volume_backend_name=pvme-array pvme #. 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. .. config-table:: :config-target: PowerVault ME Series cinder.volume.drivers.dell_emc.powervault.common