第 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"集群 per-node 属性:attrd_updater -n evacuate -A name="evacuate" host="FAILEDHOST" value="yes"
$ attrd_updater -n evacuate -A name="evacuate" host="FAILEDHOST" value="yes"Copy to Clipboard Copied! Toggle word wrap Toggle overflow FAILEDHOST是失败的 Compute 节点的名称。-
nova-evacuate代理会在后台运行,并定期检查具有"evacuate=yes"属性的节点。当nova-evacuate检测到隔离的节点包含此属性时,代理会启动撤离该节点。撤离过程类似于您随时可以执行的手动实例撤离过程。 -
当故障节点在 IPMI 重置后重新启动时,该节点上的
nova-compute进程也会自动启动。因为该节点之前被隔离,所以它不会运行任何新实例,直到 Pacemaker 取消隔离该节点为止。 -
当 Pacemaker 检测到 Compute 节点在线时,它会在节点上启动
compute-unfence-trigger资源代理,这会释放该节点,以便它再次运行实例。