WSFC 仲裁模式和投票組態 (SQL Server)
SQL Server AlwaysOn 可用性群組 和 AlwaysOn 容錯移轉叢集執行個體 (FCI) 都會利用 Windows Server 容錯移轉叢集 (WSFC) 做為平台技術。 WSFC 使用以仲裁為基礎的方法,監視整體叢集健全狀況並最大化節點層級容錯能力。 WSFC 仲裁模式和節點投票組態的基礎了解,對於 AlwaysOn 高可用性和災害復原方案的設計、操作和疑難排解非常重要。
本主題內容:
使用仲裁進行叢集健全狀況偵測
仲裁模式
投票和非投票節點
建議的仲裁投票調整
相關工作
相關內容
使用仲裁進行叢集健全狀況偵測
WSFC 叢集中的每個節點都會參與定期的活動訊號通訊,與其他節點共用節點的健全狀況。 沒有回應的節點是視為處於失敗狀態。
「仲裁」(Quorum) 節點集是 WSFC 叢集中的多數投票節點和見證。 WSFC 叢集的整體健全狀況和狀態是由定期「仲裁投票」(Quorum Vote) 所決定。 仲裁的存在意味著叢集狀況良好,能提供節點層級的容錯功能。
缺少仲裁表示叢集狀況不良。 必須維護整體 WSFC 叢集健全狀況,以確保次要節點狀況良好,可供主要節點容錯移轉。 如果仲裁投票失敗,做為預防措施,WSFC 叢集將設為離線。 這也會導致在叢集中註冊的所有 SQL Server 執行個體停止。
重要事項 |
---|
如果 WSFC 叢集因為仲裁失敗而設為離線,則需要手動操作,將其恢復上線。 如需詳細資訊,請參閱<透過強制仲裁執行 WSFC 災害復原 (SQL Server)>。 |
[回到頁首]
仲裁模式
「仲裁模式」(Quorum Mode) 是在 WSFC 叢集層級設定,指出仲裁投票所使用的方法。 容錯移轉叢集管理員公用程式會根據叢集中的節點數來建議仲裁模式。
下列仲裁模式可用於決定何者構成投票仲裁:
**節點多數:**叢集中超過一半的投票節點必須投票肯定,叢集才是狀況良好。
**節點與檔案共用多數:**類似於節點多數仲裁模式,不過遠端檔案共用也會設定為投票見證,而且從任何節點至該共用的連接也會列入肯定投票。 超過一半的可能投票必須是肯定,叢集才是狀況良好。
最佳作法是,見證檔案共用不應位於叢集中的任何節點,而且它對叢集中的所有節點都應該是可見的。
**節點與磁碟多數:**類似於節點多數仲裁模式,不過共用磁碟叢集資源也會指定為投票見證,而且從任何節點至該共用磁碟的連接也會列入肯定投票。 超過一半的可能投票必須是肯定,叢集才是狀況良好。
**僅限磁碟:**共用磁碟叢集資源會指定為見證,而且從任何節點至該共用磁碟的連接會列入肯定投票。
提示 |
---|
使用 AlwaysOn 可用性群組 非對稱儲存組態時,如果投票節點為奇數,通常應該使用節點多數仲裁模式,如果投票節點為偶數,則使用節點與檔案共用多數仲裁模式。 |
[回到頁首]
投票和非投票節點
根據預設,WSFC 叢集中的每個節點都是叢集仲裁成員,每個節點都有一票決定整體叢集健全狀況,而且每個節點都會持續嘗試建立仲裁。 仲裁討論至此,針對投票決定叢集健全狀況的 WSFC 叢集節點集仔細限定為「投票節點」(Voting Node)。
WSFC 叢集中沒有個別節點可針對叢集整體狀況良好或狀況不良做最後決定。 在任何給定時刻,從每個節點的觀點來看,某些其他節點可能看起來離線、看起來正在進行容錯移轉,或因為網路通訊失敗而看起來沒有回應。 仲裁投票的關鍵功能是決定 WSFC 叢集中每個節點的表面狀態是否確實為這些節點的實際狀態。
對於「僅限磁碟」以外的所有仲裁模式,仲裁投票的有效性取決於叢集中所有投票節點之間的可靠通訊。 相同實體子網路上節點之間的網路通訊應視為可靠;仲裁投票應該是信任的。
不過,如果另一個子網路上的節點在仲裁投票中是視為無回應,但它實際上已上線,另一方面也是狀況良好,最可能的原因是子網路之間的網路通訊失敗。 根據叢集拓撲、仲裁模式和容錯移轉原則組態,該網路通訊失敗實際上可能會建立多組投票節點 (或子網路)。
當多個投票節點的子網路能夠獨立建立仲裁時,這稱為「裂腦案例」(Split-Brain Scenario)。 在這種情況下,在個別仲裁中的節點可能有不同的表現方式,並且互相衝突。
[!附註]
只在系統管理員手動執行強制仲裁作業時,或在極罕見狀況下手動執行強制容錯移轉,而明確細分仲裁節點集,裂腦案例才是可能的。
若要簡化仲裁設定及增加開機時間,您可能要調整每個節點的 NodeWeight 設定,讓該節點的投票不計入仲裁。
重要事項 |
---|
為了能夠使用 NodeWeight 設定,必須將以下 Hotfix 套用至 WSFC 叢集中的所有伺服器: KB2494036:提供 Hotfix 讓您設定叢集節點,該節點在 Windows Server 2008 和 Windows Server 2008 R2 中沒有仲裁投票 |
[回到頁首]
建議的仲裁投票調整
在啟用或停用給定 WSFC 節點的投票時,請遵循下列方針:
**預設沒有任何投票。**假設每個節點都必須要有明確的合理原因才能投票。
**包含所有主要複本。**裝載可用性群組主要複本或者為 FCI 慣用擁有者的每個 WSFC 節點都應該有投票權。
**包含可能的自動容錯移轉擁有者。**可能因為自動可用性群組容錯移轉或 FCI 容錯移轉而裝載主要複本的每個節點都應該有投票權。 如果 WSFC 叢集中只有一個可用性群組,而且可用性複本只由獨立執行個體所裝載,這個規則只會包含屬於自動容錯移轉目標的次要複本。
**排除次要網站節點。**一般而言,不要將投票權提供給位於次要災害復原網站的 WSFC 節點。 您不會希望次要網站上的節點參與決策,使叢集在主要網站沒有任何問題時離線。
**奇數投票。**如有需要,在叢集中加入見證檔案共用、見證節點或見證磁碟,並調整仲裁模式,以避免仲裁投票中可能發生平局。
**容錯移轉後重新評估投票指派。**您不會希望容錯移轉至不支援狀況良好仲裁的叢集組態。
重要事項 |
---|
當驗證 WSFC 仲裁投票組態時,如果下列其中任何一個條件成立,則 AlwaysOn 可用性群組精靈會顯示警告:
|
提示 |
---|
SQL Server 會公開數個系統動態管理檢視 (DMV),有助於您管理設定相關的 WSFC 叢集組態和節點仲裁投票。 如需詳細資訊,請參閱<sys.dm_hadr_cluster>、<sys.dm_hadr_cluster_members>、<sys.dm_os_cluster_nodes>、<sys.dm_hadr_cluster_networks>。 |
[回到頁首]
相關工作
相關內容
[回到頁首]