Windows-Server-2019

僅使用一個節點使 Windows 故障轉移群集聯機

  • November 24, 2021

我想設置一個策略,以便我的故障轉移群集始終投入使用,即使只有一個(兩個節點中的一個)可用。

背景:我在集群中只有兩個節點,外加 DC 共享中的見證仲裁。對於這個問題,假設 DC 保持執行狀態。(Windows 伺服器 2019)。

如果我關閉 node1,則 node2 將處於活動狀態。如果我隨後關閉 node2,則集群將停止(顯然),但是,如果我隨後僅啟動 node1,則集群將永遠無法恢復。如果沒有 node2,它不僅不會恢復,而且我看不到使用集群管理器使集群投入使用的簡單方法。在這種情況下,我可以恢復集群的唯一方法是**啟動 node2,但是(對我而言)這似乎不是真正的高可用性。IMO 我應該能夠設置策略或有一種相當簡單的方法使集群重新上線(可能在等待一段時間之後),即使 node2永遠不會恢復。

我只是在想這個錯誤的方式還是遺漏了一些明顯的東西?

更新:我確實看到了一個錯誤:

Node 'SOM2' failed to form a cluster. This was because the 
witness was not accessible. Please ensure that the witness 
resource is online and available.

但是當時witness可用的,這讓我懷疑這是權限問題,即witness share對集群可用,但不是每個節點上的集群服務賬戶。那可能嗎?

見證共享上是否有一些特殊的權限設置,以確保每個節點上的本地服務帳戶都可以訪問它?

更新:

要修復權限錯誤(不是中心問題),我需要使用以下 powershell 命令:

https://docs.microsoft.com/en-us/powershell/module/failoverclusters/set-clusterquorum

檢查見證人的權限以允許由正確的帳戶進行完全控制,例如密碼永不過期且無法更改的服務帳戶。然後,在集群主機上,首先去掉目前的見證配置:

Set-ClusterQuorum -NoWitness
Get-ClusterResource

如果需要的話:

Remove-ClusterResource -Name "File Share Witness"

或使用故障轉移群集管理器將其刪除

然後,使用必要的域憑據重新添加文件共享見證以允許訪問:

Set-ClusterQuorum -NodeAndFileShareMajority \\server\path-to-witness -Credential $(Get-Credential)

正如@stuka 所說,這是設計使然。在整個集群關閉之前,該文件已被活動節點鎖定。Node1 無法知道 Node2 實際上並不線上,但無法通過集群網路訪問。它必須依賴鎖定的文件是正確的。在這種情況下,如果節點 1 上線,情況會更糟,就像集群網路出現故障一樣,任何一個節點都無法打破仲裁投票的束縛。

如果您確實遇到這種情況,您必須編輯仲裁設置並手動強制節點重新聯機。

在實踐中,這不應該引起關注,因為集群很少會完全離線。

兩個節點集群在 HA 方面總是會有所妥協。見證文件共享建立仲裁,但它不能涵蓋所有場景。3 節點(或其他奇數節點)集群將提供更好的容錯能力。

引用自:https://serverfault.com/questions/1082882