INFINIDAT InfiniBox 块存储驱动¶
INFINIDAT 块存储卷驱动程序提供 iSCSI 和光纤通道支持,用于 INFINIDAT InfiniBox 存储系统。
本节说明如何配置 INFINIDAT 驱动程序。
支持的操作¶
创建、删除、附加和分离卷。
创建、列出和删除卷快照。
从快照创建卷。
将卷复制到镜像。
将镜像复制到卷。
克隆卷。
扩展卷。
获取卷统计信息。
创建、修改、删除和列出一致性组。
创建、修改、删除和列出一致性组的快照。
从一致性组或一致性组快照创建一致性组。
将卷恢复到快照。
管理和取消管理卷和快照。
列出可管理的卷和快照。
一次将卷附加到多个实例 (多重附加)。
主机和存储辅助卷迁移。
高效的非破坏性卷备份。
外部软件包安装¶
该驱动程序需要 infinisdk 包来与 InfiniBox 系统通信。使用以下命令从 PyPI 安装该包
$ pip install infinisdk
设置存储阵列¶
提前在 InfiniBox 阵列上创建一个存储池对象。存储池将包含由 OpenStack 管理的卷。当使用相同的协议将相同的宿主机连接时,不支持在 OpenStack API 和非 OpenStack 方法之间混合使用。例如,对于使用光纤通道的相同宿主机,无法创建 SAN 启动卷和 OpenStack 卷。相反,请为其中一个卷使用不同的协议。有关池管理的详细信息,请参阅 InfiniBox 手册。
驱动程序配置¶
编辑 cinder.conf 文件,该文件通常位于以下路径 /etc/cinder/cinder.conf 下。
为 INFINIDAT 驱动程序后端添加一个部分。
在
[DEFAULT]部分下,使用新后端部分的名称设置enabled_backends参数。
使用以下参数配置驱动程序后端部分。
通过设置以下参数配置驱动程序名称
volume_driver = cinder.volume.drivers.infinidat.InfiniboxVolumeDriver
通过添加以下参数配置 InfiniBox 阵列的管理 IP
san_ip = InfiniBox management IP
验证是否可以通过 HTTPS 连接管理 InfiniBox 阵列。并且应将
driver_use_ssl参数设置为true以启用 HTTPS 协议的使用。如果将driver_use_ssl设置为(或默认为)false,则也可以使用 HTTP。要抑制 requests 库的 SSL 证书警告,请将suppress_requests_ssl_warnings参数设置为true。driver_use_ssl = true/false suppress_requests_ssl_warnings = true/false
这些参数默认为
false。配置用户凭据。
该驱动程序需要具有管理权限的 InfiniBox 用户。我们建议创建一个专用的 OpenStack 用户帐户,该帐户拥有池管理员用户角色。有关用户帐户管理的详细信息,请参阅 InfiniBox 手册。通过添加以下参数配置用户凭据
san_login = infinibox_username san_password = infinibox_password
通过添加以下参数配置 InfiniBox 池的名称
infinidat_pool_name = Pool defined in InfiniBox
后端名称是后端的标识符。我们建议使用与部分名称相同的名称。通过添加以下参数配置后端名称
volume_backend_name = back-end name
稀疏配置。
INFINIDAT 驱动程序支持创建稀疏或厚配置卷。通过添加以下参数配置稀疏或厚配置
san_thin_provision = true/false
此参数默认为
true。配置连接协议。
InfiniBox 驱动程序支持通过光纤通道和 iSCSI 协议连接到 InfiniBox 系统。通过添加以下参数配置所需的协议
infinidat_storage_protocol = iscsi/fc
此参数默认为
fc。配置 iSCSI 网络空间。
在使用 iSCSI 协议连接到 InfiniBox 系统时,必须在 InfiniBox 存储阵列中配置一个或多个 iSCSI 网络空间。有关网络空间管理的详细信息,请参阅 InfiniBox 手册。通过添加以下参数配置要连接的 iSCSI 网络空间的名称
infinidat_iscsi_netspaces = iscsi_netspace
可以通过逗号分隔的字符串指定多个网络空间。
当使用 FC 协议时,会忽略此参数。
配置 CHAP
InfiniBox 在使用 iSCSI 协议时支持 CHAP 身份验证。要启用 CHAP 身份验证,请添加以下参数
use_chap_auth = true
要手动定义用户名和密码,请添加以下参数
chap_username = username chap_password = password
如果未定义 CHAP 用户名或密码,驱动程序将自动生成它们。
当使用 FC 协议时,会忽略 CHAP 参数。
卷压缩
卷压缩适用于所有受支持的 InfiniBox 版本。默认情况下,所有新创建的卷的压缩继承自创建时的父池。默认情况下,所有池都启用压缩。
要显式启用或禁用所有新创建的卷的压缩,请添加以下配置参数
infinidat_use_compression = true/false
或者,为了让所有创建的卷继承其父池在创建时的压缩设置,请将此配置参数设置为未设置状态(注释掉)。默认值为未设置。
修改 cinder.conf 文件后,重新启动 cinder-volume 服务。
为每个不同的 volume_backend_name 值创建一个新的卷类型,该值已添加到 cinder.conf 文件中。以下示例假定所有条目中都指定了相同的 volume_backend_name=infinidat-pool-a 选项,并指定卷类型 infinidat 可用于从任何一个中分配卷。创建卷类型的示例
$ openstack volume type create infinidat $ openstack volume type set --property volume_backend_name=infinidat-pool-a infinidat
配置示例¶
[DEFAULT]
enabled_backends = infinidat-pool-a
[infinidat-pool-a]
volume_driver = cinder.volume.drivers.infinidat.InfiniboxVolumeDriver
volume_backend_name = infinidat-pool-a
driver_use_ssl = true
suppress_requests_ssl_warnings = true
san_ip = 10.1.2.3
san_login = openstackuser
san_password = openstackpass
san_thin_provision = true
infinidat_pool_name = pool-a
infinidat_storage_protocol = iscsi
infinidat_iscsi_netspaces = default_iscsi_space
特定驱动程序的选项¶
下表包含 INFINIDAT 驱动程序特定的配置选项。
配置选项 = 默认值 |
描述 |
|---|---|
|
(字符串列表) 用于 iSCSI 连接的网络空间名称列表 |
|
(字符串) 分配卷的池的名称 |
|
(字符串(选项=[‘iscsi’, ‘fc’])) 在宿主机和存储后端之间传输数据的协议。 |
|
(布尔值) 指定是否启用(true)或禁用(false)所有新创建的卷的压缩。如果希望所有创建的卷继承其父池在创建时的压缩设置,请将其设置为未设置状态(注释掉)。默认值为未设置。 |