cinder/doc/source/configuration/block-storage/drivers/lenovo-driver.rst
zhufl 65eb010708 Fix some typos in docs
This is to fix the following typos in docs:
  modfied
  certficate
  transacton
  specfies
  Pasive
  prefferably
  depoying
  resered
  preferrable
  readiblity

Change-Id: I1a5c62654d2c6da3704113299a13b5a593a40d71
2020-01-21 08:30:11 +08:00

6.0 KiB

Lenovo Fibre Channel and iSCSI drivers

The LenovoFCDriver and LenovoISCSIDriver Cinder drivers allow Lenovo S-Series arrays to be used for block storage in OpenStack deployments.

System requirements

To use the Lenovo drivers, the following are required:

  • Lenovo S2200, S3200, DS2200, DS4200 or DS6200 array with:
    • iSCSI or FC host interfaces
    • G22x firmware or later
  • Network connectivity between the OpenStack host and the array management interfaces
  • HTTPS or HTTP 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.

Note

The generic grouping functionality supported in the G265 and later firmware is not supported by OpenStack Cinder due to differences in the grouping models used in Cinder and the S-Series firmware.

Configuring the array

  1. Verify that the array can be managed using an HTTPS connection. HTTP can also be used if hpmsa_api_protocol=http is placed into the appropriate sections of the cinder.conf file, but this option is deprecated and will be removed in a future release.

    Confirm that virtual pools A and B are present if you plan to use virtual pools for OpenStack storage.

  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 key=value format.

    • The lenovo_pool_name value specifies the name of the storage pool 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 rest of the options will be repeated for each storage pool in a given 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 should be set to true to enable use of the HTTPS protocol.
      • lenovo_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.

    Example: iSCSI example back-end entries

    [pool-a]
    lenovo_pool_name = A
    volume_backend_name = lenovo-array
    volume_driver = cinder.volume.drivers.lenovo.lenovo_iscsi.LenovoISCSIDriver
    san_ip = 10.1.2.3
    san_login = manage
    san_password = !manage
    lenovo_iscsi_ips = 10.2.3.4,10.2.3.5
    driver_use_ssl = true
    
    [pool-b]
    lenovo_pool_name = B
    volume_backend_name = lenovo-array
    volume_driver = cinder.volume.drivers.lenovo.lenovo_iscsi.LenovoISCSIDriver
    san_ip = 10.1.2.3
    san_login = manage
    san_password = !manage
    lenovo_iscsi_ips = 10.2.3.4,10.2.3.5
    driver_use_ssl = true

    Example: Fibre Channel example back-end entries

    [pool-a]
    lenovo_pool_name = A
    volume_backend_name = lenovo-array
    volume_driver = cinder.volume.drivers.lenovo.lenovo_fc.LenovoFCDriver
    san_ip = 10.1.2.3
    san_login = manage
    san_password = !manage
    driver_use_ssl = true
    
    [pool-b]
    lenovo_pool_name = B
    volume_backend_name = lenovo-array
    volume_driver = cinder.volume.drivers.lenovo.lenovo_fc.LenovoFCDriver
    san_ip = 10.1.2.3
    san_login = manage
    san_password = !manage
    driver_use_ssl = true
  3. If HTTPS is not enabled in the array, add lenovo_api_protocol = http in each of the back-end definitions.

  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 option 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 back-end 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: [DEFAULT] section changes

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

    Example: Creating a volume type

    $ openstack volume type create lenovo
    $ openstack volume type set --property volume_backend_name=lenovo-array lenovo
  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 Lenovo drivers.

cinder.volume.drivers.lenovo.lenovo_common