SolidFire

SolidFire 集群是一种高性能全 SSD iSCSI 存储设备,提供大规模扩展能力和极高的容错性。SolidFire 集群的一个关键特性是能够在运行时为每个卷设置和修改特定的 QoS 级别。SolidFire 集群提供此功能,以及去重、压缩和充分利用 SSD 的架构。

要配置 Block Storage 与 SolidFire 集群的配合使用,请按照以下方式修改您的 cinder.conf 文件

volume_driver = cinder.volume.drivers.solidfire.SolidFireDriver
san_ip = 172.17.1.182         # the address of your MVIP
san_login = sfadmin           # your cluster admin login
san_password = sfpassword     # your cluster admin password
sf_account_prefix = ''        # prefix for tenant account creation on solidfire cluster

警告

SolidFire 驱动程序的早期版本(Icehouse 之前)为每个租户在 SolidFire 集群上创建一个以 $cinder-volume-service-hostname-$tenant-id 为前缀的唯一帐户。不幸的是,这种帐户形成方式导致高可用性 (HA) 安装和 cinder-volume 服务可以移动到新节点的环境出现问题。当前的默认实现不存在此问题,因为不使用任何前缀。对于在早期版本上创建的安装,可以使用 sf_account_prefix 中的关键字 hostname 来配置旧的默认行为。

注意

SolidFire 驱动程序使用 UUID-<cinder-id> 格式在后端为卷创建名称。这效果很好,但对于在同一集群上运行多个云的用户,存在 UUID 冲突的可能性。在 Mitaka 中,通过引入 **sf_volume_prefix** 配置变量,添加了消除冲突可能性的功能。在 SolidFire 集群上,每个卷都将标有前缀,从而能够为每个云配置唯一的卷名称。默认前缀为 ‘UUID-‘。

更改现有部署中的设置将导致现有卷无法访问。为了将此更改引入现有部署,建议将集群添加为第二个后端,并禁用对当前后端的新的部署。

SolidFire 配置选项说明

配置选项 = 默认值

描述

sf_account_prefix = None

(字符串) 使用此前缀创建 SolidFire 帐户。可以使用任何字符串,但字符串“hostname”是特殊的,它将使用 cinder 节点主机名创建前缀(以前的默认行为)。默认情况下不使用任何前缀。

sf_allow_tenant_qos = False

(布尔值) 允许租户在创建时指定 QoS

sf_api_port = 443

(端口(最小值 0,最大值 65535)) SolidFire API 端口。如果设备 API 位于不同端口后面的代理服务器后面,则此选项很有用。

sf_api_request_timeout = 30

(整数(最小值 30)) 设置等待 API 请求完成的秒数。

sf_cluster_pairing_timeout = 60

(整数(最小值 3)) 设置等待集群完成配对的秒数。

sf_emulate_512 = True

(布尔值) 在卷创建时设置 512 字节模拟;

sf_enable_vag = False

(布尔值) 基于每个租户使用卷访问组。

sf_provisioning_calc = maxProvisionedSpace

(字符串(选项=[‘maxProvisionedSpace’, ‘usedSpace’])) 更改 SolidFire 报告已用空间和配置计算的方式。如果将此参数设置为 ‘usedSpace’,则驱动程序将报告 Cinder 薄配置所期望的正确值。

sf_svip = None

(字符串) 覆盖默认集群 SVIP 为指定的值。这对于在云中为 iSCSI 网络实施 VLAN 使用的部署是必需的。

sf_volume_clone_timeout = 600

(整数(最小值 60)) 设置等待卷或快照克隆完成的秒数。

sf_volume_create_timeout = 60

(整数(最小值 30)) 设置等待创建卷操作完成的秒数。

sf_volume_pairing_timeout = 3600

(整数(最小值 30)) 设置等待迁移卷完成配对和同步的秒数。

sf_volume_prefix = UUID-

(字符串) 使用此前缀创建 SolidFire 卷。卷名称的格式为 <sf_volume_prefix><cinder-volume-id>。默认情况下使用 ‘UUID-‘ 前缀。

支持的操作

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

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

  • 从快照创建卷。

  • 将镜像复制到卷。

  • 将卷复制到镜像。

  • 克隆卷。

  • 扩展卷。

  • 重新类型化卷。

  • 管理和取消管理卷。

  • 一致性组快照。

SolidFire 驱动程序的 QoS 支持包括在 OpenStack Block Storage API cinder.api.contrib.qos_specs_manage qos specs 扩展模块中设置以下功能的能力

  • minIOPS - 此卷保证的最小 IOPS 数。默认值 = 100。

  • maxIOPS - 此卷允许的最大 IOPS 数。默认值 = 15,000。

  • burstIOPS - 在短时间内允许的最大 IOPS 数。默认值 = 15,000。

  • scaledIOPS - 此键的存在是一个标志,指示应按以下比例值缩放上述 IOPS。建议将 scaledIOPS 的值设置为 True,但任何值都可以工作。缺少此键表示 false。

  • scaleMin - 每增加 1GB 卷大小,minIOPS 的缩放量。该值必须是整数。

  • scaleMax - 每增加 1GB 卷大小,maxIOPS 的缩放量。该值必须是整数。

  • scaleBurst - 每增加 1GB 卷大小,burstIOPS 的缩放量。该值必须是整数。

上述 QoS 键不再需要作用域,但必须创建并与卷类型关联。有关如何设置键值对并将它们与卷类型关联的信息,请参阅 OpenStackClient 命令列表中的 volume qos 部分。

注意

在使用 scaledIOPS 时,必须选择比例值,以确保始终满足 minIOPS <= maxIOPS <= burstIOPS 的约束。驱动程序将强制执行此约束。