Seagate Array Fibre Channel 和 iSCSI 驱动程序

STXFCDriverSTXISCSIDriver Cinder 驱动程序允许在 OpenStack 部署中使用 Seagate Technology (STX) 存储阵列进行块存储。

系统要求

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

  • Seagate 存储阵列,具有

    • iSCSI 或 FC 主机接口

    • G28x 或更高版本的固件

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

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

支持的操作

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

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

  • 从快照创建卷。

  • 将镜像复制到卷。

  • 将卷复制到镜像。

  • 克隆卷。

  • 扩展卷。

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

  • 重新类型化卷。

  • 管理和取消管理卷。

配置阵列

  1. 验证是否可以通过 HTTPS 连接管理阵列。如果 driver_use_sslcinder.conf 文件中设置为(或默认为)False,则也可以使用 HTTP。

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

    如果您计划使用 vdisk 而不是虚拟池,请创建或识别一个或多个 vdisk 用于 OpenStack 存储;通常这意味着为 A 和 B 控制器中的每一个创建或保留一个磁盘组。

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

    • seagate_pool_name 值指定阵列上的存储池或 vdisk 的名称。

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

  3. 以下 cinder.conf 选项通常对于阵列上的每个后端节具有相同的值

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

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

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

    • driver_use_ssl 必须设置为 True 以启用 HTTPS 协议的使用。

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

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

    iSCSI 示例后端条目

    [pool-a]
    seagate_pool_name = A
    volume_backend_name = seagate-array
    volume_driver = cinder.volume.drivers.stx.iscsi.STXISCSIDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    seagate_iscsi_ips = 10.2.3.4,10.2.3.5
    driver_use_ssl = true
    
    [pool-b]
    seagate_backend_name = B
    volume_backend_name = seagate-array
    volume_driver = cinder.volume.drivers.stx.iscsi.STXISCSIDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    seagate_iscsi_ips = 10.2.3.4,10.2.3.5
    driver_use_ssl = true
    

    光纤通道示例后端条目

    [pool-a]
    seagate_backend_name = A
    volume_backend_name = seagate-array
    volume_driver = cinder.volume.drivers.stx.fc.STXFCDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    driver_use_ssl = true
    
    [pool-b]
    seagate_backend_name = B
    volume_backend_name = seagate-array
    volume_driver = cinder.volume.drivers.stx.fc.STXFCDriver
    san_ip = 10.1.2.3,10.1.2.4
    san_login = manage
    san_password = !manage
    driver_use_ssl = true
    
  4. 如果任何 volume_backend_name 值引用的是 vdisk 而不是虚拟池,请添加额外的语句 seagate_backend_type = linear 到该后端条目。

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

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

    [DEFAULT] 部分更改示例

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

    创建卷类型的示例

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

特定驱动程序的选项

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

Seagate 配置选项说明

配置选项 = 默认值

描述

seagate_iscsi_ips = []

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

seagate_pool_name = A

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

seagate_pool_type = virtual

(字符串(选项=[‘linear’, ‘virtual’]))线性(用于 vdisk)或虚拟(用于虚拟池)。