VM 工作负载整合策略¶
概要¶
显示名称: VM 工作负载 整合 策略
目标: vm_consolidation
虚拟机工作负载整合策略
一种基于启发式首次适应算法的负载整合策略,它侧重于测量的 CPU 利用率,并尝试在尊重资源容量约束的前提下,最大限度地减少负载过多或过少的宿主机数量。
该策略产生一个解决方案,通过以下四个阶段更有效地利用集群资源
卸载阶段 - 处理过度利用的资源
整合阶段 - 处理利用率不足的资源
解决方案优化 - 减少迁移次数
禁用未使用的计算节点
容量系数 (cc) 可用于调整优化阈值。不同的资源可能需要不同的系数值,并且在两个阶段设置不同的系数值最终可能导致更有效的整合。如果 cc 等于 1,则可以使用全部资源容量,小于 1 的 cc 值将导致资源利用率不足,大于 1 的值将导致资源超售。例如,如果目标利用率是计算节点容量的 80%,则整合阶段的系数将为 0.8,但在卸载阶段可能为任何较低的值。系数越低,集群在后续整合阶段看起来就越空闲(分散)。
由于该策略利用 VM 实时迁移将负载从一个计算节点移动到另一个计算节点,因此需要在集群内的所有计算节点上正确设置此功能。该策略假定可以从任何活动的计算节点实时迁移任何 VM 到任何其他活动的计算节点。
需求¶
指标¶
vm_workload_consolidation 策略需要以下指标
指标 |
服务名称 |
插件 |
comment |
|---|---|---|---|
|
none |
||
|
none |
||
|
none |
||
|
none |
||
|
none |
(可选) 需要在 nova.conf 中将 |
|
|
(可选) |
集群数据模型¶
默认 Watcher 的计算集群数据模型
Nova 集群数据模型收集器
Nova 集群数据模型收集器创建了计算服务暴露的资源的内存表示。
行动¶
默认 Watcher 的动作
动作
description
迁移将服务器迁移到目标 nova-compute 宿主机
此动作允许您将服务器迁移到另一个计算目标宿主机。迁移类型“live”只能用于迁移活动虚拟机。迁移类型“cold”可用于迁移非活动虚拟机以及活动虚拟机,在迁移过程中将关闭它们。
动作模式是
schema = Schema({ 'resource_id': str, # should be a UUID 'migration_type': str, # choices -> "live", "cold" 'destination_node': str, 'source_node': str, })resource_id 是要迁移的服务器的 UUID。 source_node 和 destination_node 参数分别是源和目标计算主机名。
注意
如果提供了 destination_node 参数,则 Nova API 版本必须为 2.56 或更高版本。
change_nova_service_state禁用或启用部署在宿主机上的 nova-compute 服务
通过使用此动作,您将能够更新 nova-compute 服务的状态。被禁用的 nova-compute 服务不能被 nova 调度器选择用于服务器的未来部署。
动作模式是
schema = Schema({ 'resource_id': str, 'state': str, 'disabled_reason': str, })resource_id 引用一个 nova-compute 服务名称。 state 值应为 up 或 down。 disabled_reason 引用 Watcher 禁用此 nova-compute 服务的理由。该值应以 watcher_ 前缀开头,例如 watcher_disabled、watcher_maintaining。
规划器¶
默认 Watcher 的规划器
权重规划器实现
此实现根据权重构建具有父级的动作。权重较高的动作集将在其他动作之前被调度。有 2 个配置选项可以配置:action_weights 和 parallelization。
Limitations
此规划器需要对 action_weights 和 parallelization 配置进行良好的调整。
配置¶
策略参数是
参数 |
type |
默认值 |
description |
|---|---|---|---|
|
数字 |
3600 |
从指标数据源获取统计聚合的时间间隔(秒) |
效能指标¶
[{'name': 'released_nodes_ratio', 'description': 'Ratio of released compute nodes divided by the total number of enabled compute nodes.', 'unit': '%', 'value': 0}]
算法¶
有关 VM 工作负载整合策略的更多信息,请参阅:https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/implemented/zhaw-load-consolidation.html
如何使用它?¶
$ openstack optimize audittemplate create \
at1 server_consolidation --strategy vm_workload_consolidation
$ openstack optimize audit create -a at1