节点资源整合策略

概要

显示名称: 节点 资源 整合 策略

目标: 服务器 整合

使用服务器迁移在节点上整合资源

描述

此策略检查计算节点的资源使用情况,如果已用资源小于总资源,它将尝试迁移服务器以整合资源的使用。

需求

  • 要运行此策略,您必须至少有 2 个计算节点。

  • 硬件:计算节点应使用相同的物理 CPU/RAM

Limitations

  • 这是一个概念验证,不适用于生产环境

  • 它假定可以进行实时迁移

Spec URL

https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/implemented/node-resource-consolidation.html

需求

None。

指标

集群数据模型

默认 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_nodedestination_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 值应为 updowndisabled_reason 引用 Watcher 禁用此 nova-compute 服务的理由。该值应以 watcher_ 前缀开头,例如 watcher_disabledwatcher_maintaining

规划器

默认 Watcher 的规划器

权重规划器实现

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

Limitations

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

配置

策略参数是

参数

type

默认值描述

host_choice

字符串

选择服务器迁移目标节点的方式。值 auto 表示 Nova 调度器选择目标节点,specify 表示策略指定目标节点。

效能指标

算法

有关节点资源整合策略的更多信息,请参阅:https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/approved/node-resource-consolidation.html

如何使用它?

$ openstack optimize audittemplate create \
  at1 server_consolidation \
  --strategy node_resource_consolidation

$ openstack optimize audit create \
  -a at1 -p host_choice=auto