存储容量平衡

概要

显示名称: 存储 容量 平衡 策略

目标: workload_balancing

使用 cinder 卷迁移进行存储容量平衡

描述

此策略基于 cinder 池的工作负载迁移卷。当池的已用利用率百分比高于指定阈值时,它会决定迁移一个卷。要移动的卷应使池接近所有 cinder 池的平均工作负载。

需求

  • 要运行此策略,您必须至少有 2 个 cinder 卷池。

Limitations

  • 卷迁移取决于存储设备。可能需要很长时间。

Spec URL

https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/implemented/storage-capacity-balance.html

需求

指标

集群数据模型

需要存储集群数据模型

Cinder 集群数据模型收集器

Cinder 集群数据模型收集器创建存储服务公开的资源的内存表示。

行动

默认 Watcher 的动作

动作

description

volume_migrate

将卷迁移到目标节点或类型

通过使用此操作,您将能够迁移 cinder 卷。迁移类型“swap”只能用于迁移已挂载的卷。迁移类型“migrate”可用于将未挂载的卷迁移到相同卷类型的池。迁移类型“retype”可用于更改未挂载卷的卷类型。

动作模式是

schema = Schema({
    'resource_id': str,  # should be a UUID
    'migration_type': str,  # choices -> "swap", "migrate","retype"
    'destination_node': str,
    'destination_type': str,
})

resource_id 是要迁移的 cinder 卷的 UUID。 destination_node 是目标块存储池名称。(此命令返回可用池的列表:cinder get-pools)这是迁移到相同卷类型的未挂载卷的必需项。 destination_type 是目标块存储类型名称。(此命令返回可用类型的列表:cinder type-list)这是迁移未挂载卷或交换已挂载卷到不同卷类型的必需项。

规划器

默认 Watcher 的规划器

权重规划器实现

此实现根据权重构建具有父级的动作。权重较高的动作集将在其他动作之前被调度。有 2 个配置选项可以配置:action_weights 和 parallelization。

Limitations

  • 此规划器需要对 action_weights 和 parallelization 配置进行良好的调整。

配置

策略参数是

参数

type

default

值描述

volume_threshold

数字

80.0

容量平衡的卷阈值

效能指标

算法

有关存储容量平衡策略的更多信息,请参阅:https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/implemented/storage-capacity-balance.html

如何使用它?

$ openstack optimize audittemplate create \
  at1 workload_balancing --strategy storage_capacity_balance

$ openstack optimize audit create -a at1 \
  -p volume_threshold=85.0