Sql-Server

在單個 NIC 上執行 Windows Failover Cluster Public 和 Heartbeat 是否安全?

  • July 9, 2018

我有一個 2 節點 Windows 故障轉移群集(Windows Server 2016、SQL Server 2017),在光纖連接的共享儲存上具有仲裁磁碟見證。

使用此 Quorum 設置,心跳在自己的網路上有多重要,為什麼?

我是否認為如果網路出現故障,Quorum Disk Witness 將停止嘗試故障轉移的節點,因為它仍然會投票認為兩個節點都線上,即使節點本身說另一個節點離線?

在這種情況下,我看不出在自己的網路上擁有心跳有什麼好處。我完全明白將兩個 NIC 組合在一起可以提供彈性,但是分離心跳(據我所見)並沒有提供太多這種仲裁設置。

使用此 Quorum 設置,心跳在自己的網路上有多重要,為什麼?

那麼您所問的問題確實值得商榷,我還應該補充一點,仲裁在集群網路配置中沒有什麼意義。從 Windows Server 2008 及更高版本開始,Microsoft 表示您可以在沒有任何心跳網路連接的情況下繼續配置 WSFC。如果您沒有為心跳配置專用網路,集群驗證嚮導只會給您警告,這意味著您的集群仍然受支持。現在,但這並不意味著這一切都很好。請允許我引用一個為 heatbeat 使用專用 NIC 的原因(來源

心跳通信用於節點之間的健康監控,以檢測節點故障。心跳包本質上是輕量級的(134 字節)並且對延遲敏感。如果集群心跳被飽和網卡延遲,由於防火牆等原因被阻止,可能會導致集群節點從集群成員中刪除。執行集群內通信以跨所有節點更新集群數據庫,任何集群狀態發生變化。集群是一個分佈式同步系統。此網路中的延遲可能會減慢集群狀態更改。

因此,如果您閱讀以上內容,您可以大致了解為什麼心跳通信可能仍然很重要。

由於您擁有 Windows Server 2016,因此您可以輕鬆地進行心跳通信,而無需擔心網路綁定順序,該順序告訴您應該優先考慮哪個網路/路由。預設情況下,Windows Server 2016 使用Interface Metric網路適配器的屬性來確定哪個路由具有最高優先級。Interface Metric 屬性值越低,優先級越高。此支持文章中的更多資訊

我也相信配置心跳網路的成本不會太大,如果心跳網路出現故障,WSFC 將開始使用公共網路進行集群通信,並且集群通信仍將繼續。我認為這更多的是隔離事物並通過心跳網路使集群通信更加安全。但是,如果您的公共網路組合得很好並且有足夠的頻寬來輕鬆容納集群和客戶端通信,那麼一定要在沒有心跳網路的情況下繼續進行。請注意,如果您只有公共網路,則所有客戶端和內部集群通信都將通過此連結,因此它必須很強大。

以下是 MVP、MCM Edwin Sarmiento 對 Heartbeat 網路的評價(來源

但這是我的看法:即使我們每個節點有多個 NIC 組合在一起,我們如何確定網路交換機是冗餘的和高可用性的?我見過只測試伺服器而不是底層網路架構的 DR 練習。只有當網路交換機本身發生故障時,他們才會意識到它們根本不是高可用性的。我仍然建議為心跳通信使用專用網路,如果客戶可以保證網路層(交換機、路由器等)具有高可用性,那麼我會對 NIC 組合實施感到滿意(因此,我的理由是有一個專門的心跳網路。)

我相信他是對的,重點應該更多地放在使“完整網路”變得多餘而不僅僅是其中的一部分。

我是否認為如果網路出現故障,Quorum Disk Witness 將停止嘗試故障轉移的節點,因為它仍然會投票認為兩個節點都線上,即使節點本身說另一個節點離線?

通過網路,您的意思是整個公共網路已關閉,在這種情況下,這可能是導致整個 WSFC 癱瘓的單點故障。這正是埃德溫在上述引文中所強調的。現在,如果您說由於連接網路問題,集群中的一個節點已從集群成員中刪除,這會迫使集群計算仲裁併進行故障轉移,在這種情況下,因為您有 2 票節點和仲裁磁碟(> 50 %) WSFC 將保持線上並進行故障轉移。此網路問題不會影響磁碟/儲存,因為它們是通過 SAN 而不是通過集群公共網路連接的。

補充閱讀:

Windows Server 2008 網路 3 部分系列

免責聲明:我必須補充一下,我不是網路工程師,對 WSFC 網路配置的詳細討論不在我的知識範圍內,相信網路工程師肯定可以為這個答案添加更多內容,我試圖盡我所能回答你的問題. 希望這可以幫助。

讓我們嘗試定義什麼是心跳網路和 Quorum。

**心跳(私有集群網路)**僅用於與其他集群節點通信。建議有專門的心跳網路,將流量與客戶端連接的公共網路隔離,避免網路延遲。集群節點每 1 秒交換一次心跳,如果在 5 次嘗試無響應後,則認為節點已關閉。

Quorum用於提供一種投票機制,以確保集群不會出現裂腦。***如果集群節點網路無法相互通信,則 Quorum 將充當決勝局。***由於某種原因 Quorum 失敗或損壞,整個集群將關閉。

為彈性、冗餘、服務質量、隔離和避免網路單點故障配置專用心跳(專用網路)非常重要且建議。它破壞了設置沒有心跳網路的 WSFC 的目的。集群網路的目標是實現服務質量

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