可用性組需要時間來更改狀態
我今天創建了一個 2 節點 AG 設置作為 POC,當我嘗試通過停止主節點上的 sql server 服務來進行自動故障轉移時,輔助節點中的那個進入解析狀態,它花了很長時間才變成一個主要的AG。
和網路問題有關係嗎?我還想知道為心跳網路設置一個單獨的網路介面是否是一個好習慣。當我訪問 WFSC 中的網路時,我只看到“集群和客戶端”,並且我認為它還包括心跳。
我今天創建了一個 2 節點 AG 設置作為 POC,當我嘗試通過停止主節點上的 sql server 服務來進行自動故障轉移時……
正如其他人在評論部分指出的那樣,這不是一種很好的測試方式,因為您已經很好地干淨地關閉了服務。我的意思是,如果您的災難案例是“有人很好地關閉了 SQL Server”,這是一個很好的測試,但除此之外它並沒有多大幫助。
擁有一個雙節點集群對於測試 HA(或生產)也不是很有幫助,因為只有兩個可能的節點。雖然您可以根據某些因素以一種或另一種方式爭論此設置的有用性,但在您擁有 3 個或更多節點之前,您不會真正體驗到 AG。這主要與 2 節點集群是特殊情況有關,因為資源太少了。
……次要的那個進入了解決狀態,它花了很長時間才成為主要的AG。
解析,在 AG 術語中,意味著它正在嘗試查找並連接到主節點。由於您已經很好地關閉了它,因此需要一些時間(假設集群具有仲裁併且已經滿足故障轉移策略)失敗。
和網路問題有關係嗎?
沒有。
我還想知道為心跳網路設置一個單獨的網路介面是否是一個好習慣。
自 Windows Server 2008+ 以來,沒有“心跳”網路這樣的東西。集群將決定採取哪條路線。
你真正想要的是什麼?
如果您想查看自動故障轉移需要多長時間,那麼您首先需要弄清楚您想要測試哪些場景。這裡有些例子:
- 作業系統磁碟出現故障
- 集群分區
- 數據盤故障
- 記不清
- 錯誤檢查
- 日誌磁碟出現故障
- 不堪重負的磁碟
- 網路慢
- 窗戶修補
- sql更新檔
- 伺服器電源故障
您可以添加更多,但對於每個可能的問題,需要的時間會有所不同。
時間大致為:
總計 = 檢測 + 緩解 + 重做隊列耗盡 + 撤消
以上每一項都有不同的檢測和緩解時間,但每個測試的重做和撤消應該大致相同。因此,歸根結底,您實際上是在測試檢測時間。
如果您只關心進行故障轉移需要多長時間,請
ALTER AVAILABILIY GROUP MyAG FAILOVER
在新的主節點上執行:計時。這就是需要多長時間。