薄配置中的过度订阅¶
OpenStack 块存储允许您根据虚拟容量选择卷后端,以使用过度订阅比率进行薄配置。
为默认 LVM 驱动程序提供了参考实现。以下说明以 LVM 驱动程序为例。
配置过度订阅设置¶
为了支持薄配置中的过度订阅,在 cinder.conf 中引入了一个标志 max_over_subscription_ratio。这是在涉及薄配置时过度订阅比率的浮点数表示。默认比率为 20.0,这意味着配置的容量可以是总物理容量的 20 倍。比率为 10.5 表示配置的容量可以是总物理容量的 10.5 倍。比率为 1.0 表示配置的容量不能超过总物理容量。低于 1.0 的比率将被忽略,并使用默认值。
此参数也可以设置为 max_over_subscription_ratio=auto。使用 auto 时,Cinder 将根据配置的容量和已用空间自动计算 max_over_subscription_ratio。这允许在池的生命周期开始时创建更多卷,并在可用空间接近 0 或保留限制时开始限制创建。
注意
max_over_subscription_ratio 可以在启用多个存储后端时为每个后端配置。它作为参考实现提供,并由 LVM 驱动程序使用。但是,驱动程序不需要使用来自 cinder.conf 的此选项。
max_over_subscription_ratio 用于配置后端。对于每个后端支持多个池的驱动程序,它可以为每个池报告此比率。LVM 驱动程序不支持多个池。
将此值设置为“auto”。Cinder 计算的值可以根据池的配置容量和消耗空间动态变化。
现有的 reserved_percentage 标志用于防止过度配置。此标志表示保留的后端容量百分比。
注意
关于 reserved_percentage 的使用方式发生了一些变化。过去它是相对于可用容量进行测量的。现在它是相对于总容量进行测量的。
功能¶
驱动程序可以报告后端或池的以下功能
thin_provisioning_support = True(or False)
thick_provisioning_support = True(or False)
provisioned_capacity_gb = PROVISIONED_CAPACITY
max_over_subscription_ratio = MAX_RATIO
其中 PROVISIONED_CAPACITY 是表观分配的空间,指示已配置了多少容量,而 MAX_RATIO 是最大的过度订阅比率。对于 LVM 驱动程序,它是 cinder.conf 中的 max_over_subscription_ratio。
添加了两个功能,以允许后端或池声明对薄配置、厚配置或两者的支持。
如果 cinder.conf 中的 lvm_type 标志为 thin,则 LVM 驱动程序报告 thin_provisioning_support=True 和 thick_provisioning_support=False。否则,它报告 thin_provisioning_support=False 和 thick_provisioning_support=True。
卷类型附加规格¶
如果卷类型作为卷创建请求的一部分提供,则它可以定义以下附加规格
'capabilities:thin_provisioning_support': '<is> True' or '<is> False'
'capabilities:thick_provisioning_support': '<is> True' or '<is> False'
注意
capabilities 范围键在 thin_provisioning_support 和 thick_provisioning_support 之前不是必需的。因此,以下内容也有效
'thin_provisioning_support': '<is> True' or '<is> False'
'thick_provisioning_support': '<is> True' or '<is> False'
上述附加规格由调度程序用于查找支持薄配置、厚配置或两者的后端,以匹配特定卷类型的需求。
卷复制附加规格¶
OpenStack 块存储具有创建卷副本的能力。管理员可以通过调整 cinder 卷驱动程序来定义包含复制的存储策略。OpenStack 块存储的卷复制有助于保护 OpenStack 环境免受灾难恢复期间的数据丢失。
要在创建卷类型时启用复制,请使用 capabilities:replication="<is> True" 配置 cinder 卷。
创建了具有将复制功能设置为 True 的每个卷,都会在存储后端上生成该卷的副本。
复制的一个用例涉及安装在彼此附近的两个数据中心的 OpenStack 云环境。在此用例中,两个数据中心之间的距离是城市的长度。
在每个数据中心,一个 cinder 主机支持块存储服务。两个数据中心都包含存储后端。
根据存储要求,可以有一个或两个 cinder 主机。管理员访问 /etc/cinder/cinder.conf 配置文件并设置 capabilities:replication="<is> True"。
如果一个数据中心遇到服务故障,管理员可以重新部署 VM。VM 将使用第二个数据中心主机上的复制备份卷运行。
容量过滤器¶
在容量过滤器中,如果 thin_provisioning_support 为 True 且 max_over_subscription_ratio 大于 1.0,则使用 max_over_subscription_ratio 来选择后端。
容量称重器¶
在容量称重器中,如果 thin_provisioning_support 为 True,则使用虚拟可用容量进行排名。否则,将像以前一样使用实际可用容量。