三个或多个节点的群集上的故障转移行为

本文介绍当有三个或更多个群集节点成员时,组从一个节点失败到另一个节点的逻辑。

适用于: Windows Server 2012 R2
原始 KB 编号: 299631

摘要

组移动可能是由手动移动组的管理员引起的,也可能是由节点或资源故障引起的。 组的移动位置取决于移动的启动方式以及是否设置了“首选所有者”列表。

更多信息

“服务器群集”下的帮助文件中介绍了有关首选所有者列表的信息,其中包括有关规划和优化服务器群集的信息。 本文介绍了以下四种可能的方案:

  1. 存在节点或资源故障,并设置了首选所有者列表。
  2. 节点或资源出现故障,并且未设置首选所有者列表。
  3. 管理员手动将组移动到“最佳可能”,并设置了首选所有者列表。
  4. 管理员手动将组移动到“最佳可能”,并且未设置首选所有者列表。

方案 1

如果节点或资源失败,并且已定义首选所有者列表,群集服务会将组故障转移到节点列表中的下一个可用节点。 节点列表由“首选所有者列表”组成,后跟按节点 ID 排列的其余节点。 节点 ID 是在节点加入群集时定义的,或者节点被逐出或重新添加时定义的。

可以通过检查 \HKEY_LOCAL_MACHINE\Cluster\Nodes 键下的注册表来查看节点 ID 顺序。

例如,假设我们有一个六个节点群集,并按以下顺序安装和加入群集:NodeA、NodeB、NodeC、NodeD、NodeE 和 NodeF。 假设组将 NodeA、NodeC 和 NodeE 列为首选所有者。

拥有此信息后,组的节点列表将如下所示:

  1. NodeA - 首选所有者头号
  2. NodeC - 首选所有者编号 2
  3. NodeE - 首选所有者数 3
  4. NodeB - 第二个已安装的节点
  5. NodeD - 第四个已安装的节点
  6. NodeF - 第六个已安装的节点

在此方案中,如果发生节点故障或资源故障并达到其重启阈值,则整个组将失败到节点列表中的下一个节点。 例如,如果 NodeC 包含失败的资源,则整个组将无法使用 NodeE。 即使 NodeA 列在“首选所有者列表”中的第一位,也不会失败。 如果 NodeE 失败,组将故障转移到 NodeB 而不是 NodeA。

方案 2A

如果资源失败且未设置首选所有者列表,则组将遵循节点列表,这与方案 1 中的情况非常类似。 节点列表仅从节点 ID 生成。 当节点或资源发生故障时,资源将遵循一个向下路径,无法连接到节点列表中的后续节点。 当它到达节点列表中最后列出的节点时,它从节点列表中的第一个节点开始。

  1. NodeA - 首次安装的节点

  2. NodeC - 第二个已安装的节点

  3. NodeE - 第三个已安装的节点

  4. NodeB - 第四个已安装的节点

  5. NodeD - 第五个已安装的节点

  6. NodeF - 第六个已安装的节点

例如,此列表具有不同群集节点的安装顺序。 如果 NodeE 失败,则它拥有的所有组将故障转移到 NodeB,而不是故障转移到 NodeF。

方案 2B

如果某个节点发生故障,并且未为该节点上的组设置“首选所有者列表”,则会随机选择一个可用节点,以便将组移动到该组。 这会在可用节点之间分配组。

场景 3

如果群集管理员手动选择 “移动组 ”并选择“ 最佳可能 ”,并且配置了“首选所有者列表”,则组将始终从节点列表的顶部开始。 与方案 1 一样,节点列表由首选所有者列表和安装顺序组成。

  1. NodeA - 首选所有者头号
  2. NodeC - 首选所有者编号 2
  3. NodeE - 首选所有者数 3
  4. NodeB - 第二个已安装的节点
  5. NodeD - 第四个已安装的节点
  6. NodeF - 第六个已安装的节点

在此示例中,选择 “最佳可能 ”时,组将始终尝试移动到 NodeA。 如果组已在 NodeA 上或 NodeA 不可用,则组将尝试移动到 NodeC。 如果组位于 NodeD 上,并且管理员选择将其移动到 “最佳可能”,则组将转到 NodeA。 如果 NodeA、NodeC 或 NodeE 不处于活动状态,则随机选择 NodeB 或 NodeF。

场景 4

如果作为群集管理员手动选择 “移动组 ”并选择“ 最佳可能 ”,并且未配置“首选所有者列表”,则会随机选择活动节点来托管组。 如果未配置首选所有者列表,组可能会移动到已运行多个其他组的节点。

如果节点之间的负载明显不同或节点不是同质的,我们建议在大型节点群集上配置“首选所有者”列表。

注意

此处提到的故障转移行为的例外是默认组,该组包含名为群集组的仲裁资源。 群集组不遵循典型的首选所有者列表行为。 相反,如果仲裁资源的所有者失败,新所有者将是成功拥有仲裁资源的上一个组。

AntiAffinityClassNames 公共属性也可能会影响组将故障转移到的位置。