三個或多個節點叢集上的故障轉移行為

本文記載當有三個或多個叢集節點成員時,群組從一個節點故障轉移到另一個節點的邏輯。

適用:Windows Server 2012 R2
原始 KB 編號: 299631

摘要

群組的移動可能是由手動移動群組的系統管理員或節點或資源失敗所造成。 群組移動的位置取決於起始移動的方式,以及是否設定慣用擁有者清單。

其他相關資訊

「伺服器叢集」下的說明檔案涵蓋慣用擁有者清單的相關信息,包括規劃和優化伺服器叢集的相關信息。 本文記載下列四個可能的案例:

  1. 節點或資源失敗,且已設定慣用擁有者清單。
  2. 節點或資源失敗,且未設定慣用擁有者清單。
  3. 系統管理員手動將群組移至 [最佳可能],並設定 [慣用擁有者列表]。
  4. 系統管理員手動將群組移至 [最佳可能],而且未設定 [慣用擁有者清單]。

案例 1

如果節點或資源失敗,且已定義慣用擁有者清單,叢集服務會將群組失敗至節點清單中的下一個可用節點。 節點清單是由慣用擁有者清單所組成,後面接著依節點標識元排列的其餘節點。 節點標識元是在節點加入叢集或收回或重新新增節點時定義。

您可以藉由檢查 \HKEY_LOCAL_MACHINE\Cluster\Nodes 機碼下的登錄來檢視節點識別符順序。

例如,假設我們有六個節點叢集,而且節點已依下列順序安裝並加入叢集:NodeA、NodeB、NodeC、NodeD、NodeE 和 NodeF。 假設群組已將 NodeA、NodeC 和 NodeE 列為慣用擁有者。

有了這項資訊,群組的節點清單就會是下列專案:

  1. NodeA - 慣用擁有者號碼 1
  2. NodeC - 慣用的擁有者號碼 2
  3. NodeE - 慣用的擁有者號碼 3
  4. NodeB - 第二個安裝的節點
  5. NodeD - 第四個安裝的節點
  6. NodeF - 第六個安裝的節點

在此案例中,如果發生節點失敗或資源失敗,且達到其重新啟動閾值,則整個群組將無法關閉節點清單中的下一個節點。 例如,如果 NodeC 包含失敗的資源,則整個群組將無法存取 NodeE。 即使它先列在慣用擁有者清單中,也不會失敗至 NodeA。 如果 NodeE 失敗,群組會故障轉移至 NodeB,而不是 NodeA。

案例 2A

如果資源失敗且未設定慣用擁有者清單,群組會遵循節點清單,就像在案例 1 中一樣。 節點清單只能從節點標識碼建置。 當節點或資源失敗時,資源會遵循失敗至節點清單中後續節點的下方路徑。 當它到達節點清單中最後列出的節點時,它會從節點清單中的第一個節點開始。

  1. NodeA - 第一次安裝的節點

  2. NodeC - 第二個安裝的節點

  3. NodeE - 第三個安裝的節點

  4. NodeB - 第四個安裝的節點

  5. NodeD - 第五個已安裝的節點

  6. NodeF - 第六個安裝的節點

例如,此清單具有不同叢集節點的安裝順序。 如果 NodeE 失敗,它擁有的所有群組都會故障轉移至 NodeB,而不是 NodeF。

案例 2B

如果節點失敗,且未針對該節點上的群組設定慣用擁有者清單,則會隨機選取可用的節點,以便將群組移至其中。 這會將群組分散到可用的節點。

案例 3

如果叢集系統管理員手動選擇 [移動群組 ],並選取 [ 盡可能最佳 ] 並設定慣用擁有者清單,群組一律會從節點清單的頂端開始。 如同案例 1,節點清單是由慣用擁有者清單和安裝順序所組成。

  1. NodeA - 慣用擁有者號碼 1
  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 公用屬性也可能影響群組故障轉移至的位置。