Availability-Groups

可用性組需要時間來更改狀態

  • April 23, 2017

我今天創建了一個 2 節點 AG 設置作為 POC,當我嘗試通過停止主節點上的 sql server 服務來進行自動故障轉移時,輔助節點中的那個進入解析狀態,它花了很長時間才變成一個主要的AG。

和網路問題有關係嗎?我還想知道為心跳網路設置一個單獨的網路介面是否是一個好習慣。當我訪問 WFSC 中的網路時,我只看到“集群和客戶端”,並且我認為它還包括心跳。

我今天創建了一個 2 節點 AG 設置作為 POC,當我嘗試通過停止主節點上的 sql server 服務來進行自動故障轉移時……

正如其他人在評論部分指出的那樣,這不是一種很好的測試方式,因為您已經很好地干淨地關閉了服務。我的意思是,如果您的災難案例是“有人很好地關閉了 SQL Server”,這是一個很好的測試,但除此之外它並沒有多大幫助。

擁有一個雙節點集群對於測試 HA(或生產)也不是很有幫助,因為只有兩個可能的節點。雖然您可以根據某些因素以一種或另一種方式爭論此設置的有用性,但在您擁有 3 個或更多節點之前,您不會真正體驗到 AG。這主要與 2 節點集群是特殊情況有關,因為資源太少了。

……次要的那個進入了解決狀態,它花了很長時間才成為主要的AG。

解析,在 AG 術語中,意味著它正在嘗試查找並連接到主節點。由於您已經很好地關閉了它,因此需要一些時間(假設集群具有仲裁併且已經滿足故障轉移策略)失敗。

和網路問題有關係嗎?

沒有。

我還想知道為心跳網路設置一個單獨的網路介面是否是一個好習慣。

自 Windows Server 2008+ 以來,沒有“心跳”網路這樣的東西。集群將決定採取哪條路線。

你真正想要的是什麼?

如果您想查看自動故障轉移需要多長時間,那麼您首先需要弄清楚您想要測試哪些場景。這裡有些例子:

  1. 作業系統磁碟出現故障
  2. 集群分區
  3. 數據盤故障
  4. 記不清
  5. 錯誤檢查
  6. 日誌磁碟出現故障
  7. 不堪重負的磁碟
  8. 網路慢
  9. 窗戶修補
  10. sql更新檔
  11. 伺服器電源故障

您可以添加更多,但對於每個可能的問題,需要的時間會有所不同。

時間大致為:

總計 = 檢測 + 緩解 + 重做隊列耗盡 + 撤消

以上每一項都有不同的檢測和緩解時間,但每個測試的重做和撤消應該大致相同。因此,歸根結底,您實際上是在測試檢測時間。

如果您只關心進行故障轉移需要多長時間,請ALTER AVAILABILIY GROUP MyAG FAILOVER在新的主節點上執行:計時。這就是需要多長時間。

引用自:https://dba.stackexchange.com/questions/171577