第 1 章 引入和规划实例 HA 部署
Compute 实例的高可用性(Instance HA)是一种工具,可用于从故障 Compute 节点上撤离实例,并在不同的 Compute 节点上重新创建实例。
实例 HA 与共享存储或本地存储环境配合使用,这意味着撤离的实例维护相同的网络配置,如静态 IP 地址和浮动 IP 地址。重新创建的实例也维护新 Compute 节点内的相同特征。
1.1. Instance HA 的工作原理
当 Compute 节点出现故障时,overcloud 隔离代理隔离节点,然后 Instance HA 代理将实例从故障 Compute 节点撤离到不同的 Compute 节点。
Compute 节点失败时发生以下事件,并触发 Instance HA:
-
在出现故障时,
IPMI
代理执行第一层隔离,其中包括物理重置节点以确保其关闭并防止 overcloud 上的数据损坏或多个相同的实例。当节点离线时,它被视为被隔离。 在物理 IPMI 隔离后,
fence-nova
代理会自动执行第二层隔离,并通过运行以下命令使用"evacuate=yes"
集群来标记隔离的节点:$ attrd_updater -n evacuate -A name="evacuate" host="FAILEDHOST" value="yes"
FAILEDHOST
是故障 Compute 节点的名称。-
nova-evacuate
代理会在后台持续运行,并使用"evacuate=yes"
属性定期检查集群是否有节点。当nova-evacuate
检测到隔离的节点包含此属性时,代理将启动撤离该节点。撤离过程与您可以在任何时间执行的手动实例撤离过程类似。 -
当故障节点在 IPMI 重置后重新启动时,该节点上的
nova-compute
进程也会自动启动。由于之前已隔离该节点,因此在 Pacemaker 取消隔离节点之前,它不会运行任何新实例。 -
当 Pacemaker 检测到 Compute 节点在线时,它会在节点上启动
compute-unfence-trigger
资源代理,该代理释放该节点,以便它可以再次运行实例。
其他资源