联想光纤通道和 iSCSI 驱动程序

LenovoFCDriverLenovoISCSIDriver Cinder 驱动程序允许在 OpenStack 部署中使用联想 S 系列阵列进行块存储。

系统要求

要使用联想驱动程序,需要以下条件

  • 联想 S2200、S3200、DS2200、DS4200 或 DS6200 阵列,配备

    • iSCSI 或 FC 主机接口

    • G22x 固件或更高版本

  • OpenStack 主机与阵列管理接口之间的网络连接

  • 必须在阵列上启用 HTTPS 或 HTTP

支持的操作

  • 创建、删除、附加和分离卷。

  • 创建、列出和删除卷快照。

  • 从快照创建卷。

  • 将镜像复制到卷。

  • 将卷复制到镜像。

  • 克隆卷。

  • 扩展卷。

  • 迁移带有后端协助的卷。

  • 重新类型化卷。

  • 管理和取消管理卷。

注意

由于 Cinder 和 S 系列固件使用的分组模型不同,G265 及更高版本固件中支持的通用分组功能不被 OpenStack Cinder 支持。

配置阵列

  1. 验证是否可以使用 HTTPS 连接来管理阵列。如果将 hpmsa_api_protocol=http 放置在 cinder.conf 文件的适当部分中,也可以使用 HTTP,但此选项已被弃用,将在未来的版本中删除。

    如果计划为 OpenStack 存储使用虚拟池,请确认存在虚拟池 A 和 B。

  2. 编辑 cinder.conf 文件,为阵列上将由 OpenStack 管理的每个存储池定义一个存储后端条目。每个条目由一个唯一的节名称组成,用方括号括起来,后跟以 key=value 格式指定的选项。

    • lenovo_pool_name 值指定阵列上的存储池名称。

    • volume_backend_name 选项值可以是唯一值,如果您希望能够将卷分配给阵列上的特定存储池,也可以是多个存储池共享的名称,以便卷调度程序选择在哪里分配新卷。

    • 对于给定阵列中的每个存储池,将重复其余选项

      • volume_driver 指定 Cinder 驱动程序名称。

      • san_ip 指定阵列管理控制器的 IP 地址或主机名。

      • san_loginsan_password 指定具有 manage 权限的阵列用户帐户的用户名和密码。

      • driver_use_ssl 应设置为 true 以启用 HTTPS 协议的使用。

      • lenovo_iscsi_ips 指定使用 iSCSI 传输协议时阵列的 iSCSI IP 地址。

    在下面的示例中,定义了两个后端,一个用于池 A,一个用于池 B,并且使用了通用的 volume_backend_name,以便可以使用单个卷类型定义从两个池分配卷。

    示例:iSCSI 示例后端条目

    [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
    

    示例:光纤通道示例后端条目

    [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. 如果阵列中未启用 HTTPS,请在每个后端定义中添加 lenovo_api_protocol = http

  4. 如果启用了 HTTPS,可以使用选项 driver_ssl_cert_verify = True 启用证书验证。您还可以使用 driver_ssl_cert_path 选项指定包含默认列表之外的 CA 的 CA_BUNDLE 文件的路径。

  5. 修改 cinder.conf 文件的 [DEFAULT] 部分,以添加一个 enabled_backends 参数,指定您添加的后端条目,以及一个 default_volume_type 参数,指定您将在下一步创建的卷类型的名称。

    示例:[DEFAULT] 部分更改

    [DEFAULT]
    # ...
    enabled_backends = pool-a,pool-b
    default_volume_type = lenovo
    
  6. 为添加到 cinder.conf 文件中的每个不同的 volume_backend_name 值创建一个新的卷类型。下面的示例假定在所有条目中都指定了相同的 volume_backend_name=lenovo-array 选项,并指定卷类型 lenovo 可用于从任何一个分配卷。

    示例:创建卷类型

    $ openstack volume type create lenovo
    $ openstack volume type set --property volume_backend_name=lenovo-array lenovo
    
  7. 修改 cinder.conf 文件后,重新启动 cinder-volume 服务。

特定驱动程序的选项

下表包含联想驱动程序特定的配置选项。

联想配置选项说明

配置选项 = 默认值

描述

lenovo_iscsi_ips = []

(字符串列表) 以逗号分隔的目标 iSCSI IP 地址列表。

lenovo_pool_name = A

(字符串) 用于卷创建的池或 Vdisk 名称。

lenovo_pool_type = virtual

(字符串(选项=[‘linear’, ‘virtual’])) linear(用于 VDisk)或 virtual(用于 Pool)。

lenovo_api_protocol = https

(字符串(选项=[‘http’, ‘https’])) 联想 api 接口协议。已弃用

lenovo_verify_certificate = False

(布尔值) 是否验证联想阵列 SSL 证书。已弃用

lenovo_verify_certificate_path = None

(字符串) 联想阵列 SSL 证书路径。已弃用