本文介绍当有三个或更多个群集节点成员时,组从一个节点失败到另一个节点的逻辑。
原始 KB 数: 299631
总结
组的移动可能是由手动移动组或节点或资源故障的管理员引起的。 组移动的位置取决于移动的启动方式以及是否设置了首选所有者列表。
详细信息
“服务器群集”下的帮助文件中介绍了有关首选所有者列表的信息,包括有关规划和优化服务器群集的信息。 本文介绍以下四种可能的方案:
- 存在节点或资源故障,并设置了首选所有者列表。
- 存在节点或资源故障,并且未设置首选所有者列表。
- 管理员手动将组移动到“最佳可能”,并设置了首选所有者列表。
- 管理员手动将组移动到“最佳可能”,并且未设置首选所有者列表。
方案 1
如果节点或资源失败并且已定义首选所有者列表,群集服务会将组失败到节点列表中的下一个可用节点。 节点列表由首选所有者列表组成,后跟按节点 ID 排列的剩余节点。 当节点加入群集或节点被逐出或重新添加时,将定义节点 ID。
可以通过检查 \HKEY_LOCAL_MACHINE\Cluster\Nodes 键下的注册表来查看节点 ID 顺序。
例如,假设我们有一个六个节点群集,节点按以下顺序安装和加入群集:NodeA、NodeB、NodeC、NodeD、NodeE 和 NodeF。 假设组具有作为首选所有者列出的 NodeA、NodeC 和 NodeE。
获取此信息后,组的节点列表将如下所示:
- NodeA - 首选所有者编号 1
- NodeC - 首选所有者编号 2
- NodeE - 首选所有者编号 3
- NodeB - 第二个已安装的 Node
- NodeD - 第四个已安装的节点
- NodeF - 已安装第六个节点
在此方案中,如果发生节点故障或资源故障,并且其重启阈值已命中,则整个组将无法在节点列表中下一个节点。 例如,如果 NodeC 包含失败的资源,则整个组将失败到 NodeE。 即使它首先列在首选所有者列表中,它也不会失败。 如果 NodeE 失败,组将故障转移到 NodeB,而不是故障转移到 NodeA。
方案 2A
如果资源失败且未设置首选所有者列表,组将遵循节点列表,就像在方案 1 中所做的那样。 节点列表仅从节点 ID 生成。 节点或资源故障后,资源会遵循向下路径,但节点列表中的后续节点失败。 当它到达节点列表中最后列出的节点时,它将从节点列表中的第一个节点开始。
NodeA - 首次安装的 Node
NodeC - 第二个已安装的节点
NodeE - 已安装第三个节点
NodeB - 已安装第四个节点
NodeD - 第五个已安装的节点
NodeF - 已安装第六个节点
例如,此列表具有不同群集节点的安装顺序。 如果 NodeE 失败,它拥有的所有组都将故障转移到 NodeB,而不是 NodeF。
方案 2B
如果某个节点失败,并且未为该节点上的组设置首选所有者列表,则将随机选择可用节点,以便将组移动到该组。 这将在可用节点之间分发组。
方案 3
如果群集管理员手动选择“移动”组并选择“最佳可能”,并且配置了首选所有者列表,则组将始终从节点列表顶部开始。 与方案 1 一样,节点列表由首选所有者列表和安装顺序组成。
- NodeA - 首选所有者编号 1
- NodeC - 首选所有者编号 2
- NodeE - 首选所有者编号 3
- NodeB - 第二个已安装的 Node
- NodeD - 第四个已安装的节点
- NodeF - 已安装第六个节点
在此示例中,选择“最佳可能”时,组始终尝试移动到 NodeA。 如果组已在 NodeA 或 NodeA 上不可用,则组会尝试移动到 NodeC。 如果组位于 NodeD 上,管理员选择将其移动到 “最佳可能”,则组将转到 NodeA。 如果 NodeA、NodeC 或 NodeE 未处于活动状态,则随机选择 NodeB 或 NodeF。
方案 4
如果作为群集管理员,请手动选择 “移动”组 ,并选择“ 最佳可能 ”,并且未配置首选所有者列表,则会随机选择活动节点来托管该组。 如果未配置首选所有者列表,组可能会移动到已运行其他几个组的节点。
如果节点之间的负载明显不同,或者节点之间没有同质,建议在大型节点群集上配置首选所有者列表。
注意
此处提到的故障转移行为的例外是包含名为群集组的仲裁资源的默认组。 群集组不遵循典型的首选所有者列表行为。 相反,如果仲裁资源的所有者失败,则新所有者将是成功拥有仲裁资源的上一个组。
AntiAffinityClassNames 公共属性还会影响组故障转移到的位置。