宿主机维护策略¶
概要¶
显示名称: 宿主机 维护 策略
目标: cluster_maintaining
宿主机维护
描述
这是一种用于单个计算节点维护的迁移策略,不会中断用户的应用程序。如果提供了一个备份节点(备份节点是迁移的目标节点),该策略首先会将维护节点上的所有实例迁移到备份节点。如果没有提供备份节点,它将迁移所有实例,依赖于 nova-scheduler。然后将维护节点禁用。
需求
要运行此策略,您必须至少有 2 个物理计算节点。
Limitations
它假定冷迁移和实时迁移是可能的。
注意
它将所有实例从一个宿主机迁移到其他宿主机。建议在负载较低的计划维护窗口中使用此策略,以最大程度地减少对工作负载的影响,并使用 ONESHOT 审计与此算法一起使用。
指标¶
无
集群数据模型¶
默认 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 |
必需 |
|---|---|---|---|
|
字符串 |
需要维护的计算节点名称。 |
必需 |
|
字符串 |
将备份维护节点的计算节点名称。 |
可选 |
|
布尔值 |
False:活动实例将被实时迁移。True:如果未禁用冷迁移,则活动实例将被冷迁移。否则,它们将被停止。默认值为 False。 |
可选 |
|
布尔值 |
False:非活动实例将被冷迁移。True:非活动实例将不会被冷迁移。默认值为 False。 |
可选 |
效能指标¶
无
算法¶
有关宿主机维护策略的更多信息,请参阅:https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/approved/cluster-maintenance-strategy.html
如何使用它?¶
使用宿主机维护策略运行审计。执行动作会将服务器从 compute01 宿主机移动到 Nova 调度器服务确定的宿主机。
$ openstack optimize audit create \
-g cluster_maintaining -s host_maintenance \
-p maintenance_node=compute01
使用指定备份节点的宿主机维护策略运行审计。执行动作会将服务器从 compute01 宿主机移动到 compute02 宿主机。
$ openstack optimize audit create \
-g cluster_maintaining -s host_maintenance \
-p maintenance_node=compute01 \
-p backup_node=compute02
使用禁用迁移的宿主机维护策略运行审计。这将仅停止 compute01 上的活动实例,适用于维护场景,在这种场景中操作员不希望将工作负载迁移到其他宿主机。
$ openstack optimize audit create \
-g cluster_maintaining -s host_maintenance \
-p maintenance_node=compute01 \
-p disable_live_migration=True \
-p disable_cold_migration=True
请注意,执行此策略后,maintenance_node 将被标记为禁用,原因设置为 watcher_maintaining。要再次启用该节点
$ openstack compute service set --enable compute01
外部链接¶
None。