什麼是仲裁資源(quorum resource)?概念、運作方式
在每個容錯移轉叢集中,都會將單一資源指定為仲裁資源。叢集服務會使用仲裁資源來執行兩個基本工作:
仲裁資源可讓叢集獨立於個別節點失敗來維護其狀態和組態。仲裁資源會儲存叢集資料庫的持續更新版本,且可供所有叢集節點存取。當節點形成叢集時,它會將其叢集資料庫的本端副本與儲存在仲裁資源上的資料進行比較,並在必要時更新其副本。
仲裁資源會強制執行叢集統一性,以防止「腦裂綜合症」,因為通訊失敗導致兩組或多組節點可以在每個集內進行通訊,但不能跨集通訊。在這種情況下,只有控制仲裁資源的節點,以及可以與該節點通訊的節點,才能形成叢集。
叢集使用兩種類型的仲裁資源之一,視其使用的類型而定,叢集是仲裁裝置叢集或多數節點叢集。仲裁資源的類型,因此可以在設定叢集之後變更叢集的類型。
仲裁裝置叢集需要共用 SCSI 或光纖通道匯流排上的儲存體類別資源。依預設,容錯移轉叢集只允許實體磁碟資源作為仲裁裝置運作。不過,協力廠商開發人員可以建立自己的資源類型,以支援其他類型的儲存裝置作為仲裁裝置。如需詳細資訊,請參閱建立資源類型。
多數節點叢集會使用一組稱為仲裁磁碟集的本機磁碟作為其儲存媒體。每個叢集節點都會將一個本機磁碟提供給仲裁磁碟集。因此,雖然大多數節點資源的行為與任何其他叢集資源類似,而且一次只允許一個擁有者,但資源的擁有者必須與其他叢集節點協調讀取和寫入。為了建立仲裁並形成集群,大多數節點 (M) 必須可用。換句話說,只要有 M >= (N + 1) / 2 個作用中節點 (其中 N 是配置為叢集成員的節點總數) ,多數節點叢集就可以形成並繼續執行。請注意,在作用中節點數目小於 M 的情況下,有一些方法可以強制仲裁。
這兩種類型的集群都有優點和缺點。多數節點叢集允許建立「地理叢集」,或相隔很遠的節點叢集,但其失敗語意比仲裁裝置叢集更具限制性。例如,如果不強制仲裁,則無法建立單一節點多數節點叢集。仲裁裝置叢集可以容忍更多節點失敗,但在地理上僅限於共用 SCSI 或光纖通道匯流排的長度。
MSCS 中的仲裁資源?
仲裁資源是 Microsoft 叢集服務中使用的資源 – 適用於 Microsoft Windows NT Server 4.0、Enterprise Edition 的 Microsoft 叢集伺服器 (MSCS) 和適用於 Windows 2000 的 Windows 叢集 – 可確保在叢集的所有成員之間一致地維護復原所需的資料。仲裁資源必須是實體磁碟,且只能由叢集中的一個節點擁有。
仲裁資源會儲存叢集記錄檔,該記錄檔由叢集軟體維護。如果節點失敗,然後回復,仲裁資源會負責更新該節點的配置資訊,使其符合所有其他節點。如果叢集中的節點無法彼此通訊,仲裁資源會決定哪個節點可以繼續運作。
如果擁有仲裁資源的節點失敗,則另一個節點會取得資源的所有權。每個叢集只能有一個仲裁資源。