Lightbits Cinder 驱动¶
Lightbits(TM) OpenStack 驱动程序使 OpenStack 集群能够使用 Lightbits 集群存储服务器。本文档将介绍如何配置 Cinder 以便与 Lightbits 存储后端系统一起使用。
支持的操作¶
创建卷
删除卷
附加卷
分离卷
从卷创建镜像
实时迁移
卷复制
精简置备
多重附加
支持的供应商驱动
扩展卷
创建快照
删除快照
从快照创建卷
从卷创建卷(克隆)
主动-主动部署支持
卷重类型(主机辅助)
多租户支持
Lightbits OpenStack 驱动组件¶
Lightbits OpenStack 驱动程序包含三个组件:
Cinder 驱动
Nova libvirt 卷驱动
os_brick initiator 连接器
此外,还需要 Lightbits discovery-client,该客户端随产品提供。os_brick 连接器使用 Lightbits discovery-client 与 Lightbits NVMe/TCP 发现服务进行通信。
Cinder 驱动¶
Cinder 驱动程序与 Cinder 集成,并针对 Lightbits 存储集群执行 REST 操作。要启用该驱动程序,请在 Cinder 的配置文件中添加以下内容:
enabled_backends = lightos,<any other storage backend you use>
和
[lightos]
volume_driver = cinder.volume.drivers.lightos.LightOSVolumeDriver
volume_backend_name = lightos
lightos_api_address = <TARGET_ACCESS_IPS>
lightos_api_port = 443
lightos_jwt=<LIGHTOS_JWT>
lightos_default_num_replicas = 3
lightos_default_compression_enabled = False
lightos_api_service_timeout=30
TARGET_ACCESS_IPS是 Lightbits 集群节点的访问 IP。多个节点应以逗号分隔。例如:lightos_api_address = 192.168.67.78,192.168.34.56,192.168.12.17。驱动程序将通过这些 IP 来查找 Lightbits 集群的 REST API 服务器。LIGHTOS_JWT是位于 Lightbits 安装控制器中的 JWT(JSON Web Token)。您可以在~/lightos-default-admin-jwt找到 jwt。卷的默认副本数为 3,
lightos_default_num_replicas的有效值为 1、2 或 3。默认压缩设置为 False(即数据未压缩)。默认压缩设置也可以设置为 True,表示新创建的卷应被压缩,前提是卷类型未指定其他压缩设置。要按卷控制压缩,请为压缩和未压缩卷创建卷类型,并根据需要使用它们。
等待 API 服务响应的默认时间为每个 API 端点 30 秒。
可以通过卷类型机制创建具有非默认压缩、副本数和多租户的卷。要创建启用压缩或多租户的新卷类型,请
$ openstack volume type create --property compression='<is> True' volume-with-compression
要创建具有单个副本的新卷类型
$ openstack volume type create --property lightos:num_replicas=1 volume-with-one-replica
要为具有三个副本的压缩卷创建新类型
$ openstack volume type create --property compression='<is> True' --property lightos:num_replicas=3 volume-with-three-replicas-and-compression
然后使用其中一个卷类型创建新卷
$ openstack volume create --size <size> --type <type name> <vol name>
为多租户创建卷类型
$ openstack volume type create --property lightos:project_name=project-01 type-with-mt
服务质量(QoS)支持¶
Lightbits 驱动程序允许管理员通过将 QoS 策略与卷类型关联来更好地管理和优化存储性能。
- 管理员必须首先在 Lightbits 上创建所需的 QoS 策略
集群。
- 创建 QoS 策略后,可以将其链接到卷类型,方法是在
系统中使用策略的唯一 UUID。
示例
openstack volume type create LightbitsWithQos --property volume_backend_name=<backend_name> --property=lightos:qos_policy=<uuid>
NVMe/TCP 和不对称命名空间访问(ANA)¶
Lightbits 集群使用 NVMe/TCP 不对称命名空间访问(ANA)来公开其卷。ANA 是 Linux 中 NVMe/TCP 堆栈中一个相对较新的功能,但在 Ubuntu 20.04 中得到完全支持。OpenStack 集群中的每个计算主机都需要具备 ANA 功能,才能通过 NVMe/TCP 为 OpenStack VM 提供 Lightbits 卷。有关如何设置计算节点以使用 ANA 的更多信息,请参阅 Lightbits(TM) 集群安装和初始配置指南的 CentOS Linux 集群客户端软件安装部分。
注意¶
在当前版本中,如果任何集群节点更改其访问 IP,则应在 Cinder 驱动程序的配置文件中更新集群节点的访问 IP 并重新启动。只要 Cinder 驱动程序能够访问至少一个集群访问 IP,它就可以工作,但容易受到集群节点故障的影响。
驱动程序选项¶
下表包含 Lightbits Cinder 驱动程序支持的配置选项。
配置选项 = 默认值 |
描述 |
|---|---|
|
(IP 地址列表)LightOS API 服务器的 IP 地址,以逗号分隔。 |
|
(端口(最小 0,最大 65535))LightOS API 端点监听的 TCP/IP 端口。端口 443 用于 HTTPS,其他值用于 HTTP。 |
|
(整数)创建快照时对 LightOS 的最大调用次数。默认值为 5 次调用。 |
|
(整数)等待 API 端点响应的默认时间(以秒为单位)。 |
|
(布尔值)设置为 True 可创建压缩的新卷,前提是卷类型未指定其他压缩设置。 |
|
(整数(最小 1,最大 3))为每个卷创建的默认副本数。 |
|
(字符串)用于与 LightOS 集群进行卷和快照操作的 JWT。如果集群安装时禁用了多租户,则不要设置此参数。 |
|
(布尔值)IPACL 与标准 NVME ACL 配合使用。要访问某个卷,主机必须同时位于该卷的 IPACL 和 ACL 中。Cinder 始终设置卷的 ACL。如果将 lightos_use_ipacl 设置为 True,Cinder 还会将主机的 IP 地址添加到卷的 IPACL 中。如果设置为 False,则任何 IP 地址都可以访问该卷。默认为 True。 |
主动-主动部署支持¶
要启用主动-主动部署,请遵循以下步骤:
通过在“DEFAULT”部分设置“cluster”选项来激活主动-主动模式。
在“coordination”部分配置分布式锁管理器(DLM),如 Redis 或 etcd。
应将这些选项添加到 cinder.conf 文件中。
[DEFAULT]
cluster = <cluster_name>
[coordination]
backend_url = <coordination_backend_url>
有关更详细的说明,请参阅以下指南: https://docs.openstack.org/cinder/2025.2/contributor/high_availability.html