處理 Stretch (Geo) 集群節點故障
設想:
Windows Server 2012 上的三節點(無共享)集群。主數據中心中的兩個節點,均具有投票權(節點權重 = 1)和文件共享見證。第三個節點位於遠端數據中心,沒有投票(節點權重為 0)。
問題:一個集群節點(擁有集群名稱)因自動更新而停機。遠端數據中心節點的集群名稱失敗,遠端節點能夠鎖定文件共享見證文件。那時,我們的 VPN 隧道掉線了。主數據中心中啟動的一個節點(並且正在執行服務)注意到遠端集群節點已關閉並嘗試使集群名稱聯機。文件共享見證文件仍被遠端節點鎖定,主數據中心中一個可見的正在執行的集群節點無法使集群名稱聯機並自行關閉集群服務。
警告:從遠端節點對文件共享進行防火牆不是一種選擇,因為其他程序使用它。
我考慮過嘗試從集群名稱的可能所有者中刪除遠端集群節點,但我之前沒有做過或測試過,我不想炸毀我的生產集群。是否可以從集群名稱的可能所有者中刪除集群節點?如果我們不得不將我們的服務故障轉移到遠端數據中心,則需要協調許多移動部分,因此我不希望將服務“自動”故障轉移到遠端數據中心。遠端節點完全位於群集中的原因是 SQL Server 可用性組來管理到遠端節點的複制。
我還考慮過刪除文件共享見證並給遠端節點投票。如果一個節點因重新啟動而停機並且與遠端數據中心的網路連接失去,新的動態仲裁“應該”保持集群線上。
鑑於我的情況,哪個選項(或其他替代方案)將為我提供最高的可用性。
我實際上喜歡給遠端節點投票,因為它會使計劃中的故障轉移變得容易得多。您可以將數據庫和資源遷移到遠端數據中心,然後逐漸關閉主數據中心中的節點,您不必為了讓它工作而胡亂投票。此外,您不必擔心文件共享的高可用性。
所以我在這里和布倫特在一起。除非你絕對 100% 確定你不關心它,否則我從來都不喜歡刪除一個節點作為投票者。您應該努力做的一件事是將 WSFC 集群組保留在您的主要副本所在的位置,以避免腦裂。
從 WSFC 中刪除集群節點作為可能的所有者是一個壞主意。如果您需要這樣做,請將節點從集群中逐出。糟糕,糟糕的魔力。
使用 Windows Server 2012,您還擁有動態仲裁,因此除非您的失敗都是同時發生的,否則您幾乎可以降到最後一個人站立(當然有警告)。
另外,我會解決任何網路問題。如您所知,它們將在地理分散的情況下成為殺手。