Sun Cluster 3.0 概念

法定人和法定裝置

因為叢集節點共用資料和資源,叢集必須採取步驟來維護資料和資源完整性。 當節點不符合叢集成員規則時,叢集必須拒絕節點參與叢集。

在 Sun Cluster 中,決定節點參與叢集的機制稱為 quorum。 Sun Cluster 使用多票數演算法來實作法定程序。叢集節點和 quorum devices, (二或多個節點之間共用的磁碟) 投票來形成法定人。在 quorum device 中可包含使用者資料。

法定程序演算法是動態運作:當叢集事件 觸發其計算時,計算的結果會變更變更的生命週期。法定人可以防止兩種潛在的演算法 問題-split brain 和 amnesia-這兩種均會造成用戶端取得不一致的資料。 下表說明這兩種問題以及法定人程序如何解決它們。

表 3-3 叢集法定人程序,Split-Brain 與 Amnesia 問題

問題 

說明 

法定人程序解決方案 

Split brain 

在節點之間的叢集交互連接遺失,而且叢集分割為子叢集時發生,每個子叢集相信自己是唯一的分割區 

只允許具有多數票的分割區 (子叢集) 作為叢集執行 (在這樣的多數票情況下,最多只存在一個分割區) 

Amnesia 

發生時間,是在關機後叢集重新啟動,其中叢集資料比關機時還舊 

保證在啟動叢集時,至少有一個節點是最近叢集全體成員中的成員之一 (因此具有最近的配置資料) 

法定人票數

叢集節點和法定裝置 (二或多個節點之間共用的磁碟) 票選出法定人。依預設,當叢集節點 啟動和成為叢集成員時,叢集節點會獲得一票的法定人票數。節點也可能會是零票,例如,當安裝節點或管理者將節點置於維護狀態時。

法定裝置根據節點與裝置的連接數會獲得法定人票數。當設定法定裝置時,它會獲得最大票數 N-1,其中 N 是非零票數、和以連接埠至 法定裝置之節點的數目。例如,連接至兩個非零票數之節點的法定裝置,擁有一票法定人票數 (二減一)。

您是在叢集安裝期間或者稍後,使用 Sun Cluster 3.0 系統管理手冊 中說明的程序來配置法定裝置。


註解 -

只有當目前連接的節點中至少有一個節點是叢集成員時,才會增加法定裝置票數。 此外,在叢集啟動期間,只有當目前連接的節點中至少有一個節點正在啟動中,而且在此節點上次 關機時是最近啟動之叢集的成員時,才會增加法定裝置票數。


法定人程序配置

法定人配置是根據叢集中的節點數而定:

圖 3-3 法定裝置配置範例

Graphic

法定人準則

設定法定裝置時請使用下列準則:


提示 -

在一組節點之間配置一個以上的法定裝置。使用來自不同機殼的磁碟,以及在每組節點 之間配置奇數個法定裝置。如此便可防止個別法定裝置的失效。


失效隔離

叢集的主要議題是造成叢集出現分割的失效 (稱為 split brain)。發生此情形時,不是所有的節點均可通訊,所以個別節點或節點子集可能會嘗試形成個別或子集叢集。 每個子集或分割區可能相信,自己擁有唯一的多主機磁碟存取和所有權。 嘗試寫入磁碟的多個節點會導致資料毀損。

失效隔離藉由實際地防止磁碟存取,限制節點存取多主機磁碟。 當節點離開叢集時 (失效或被分割),失效隔離可確保節點不會再存取碟。只有目前的成員可以存取 磁碟,因此維持了資料的完整性。

磁碟裝置服務提供失效保護功能給使用多主機磁碟的服務。當目前是磁碟裝置群組的主要 (所有者) 叢集成員失效或無法到達時,會選出新的主要成員,繼續提供磁碟裝置群組的存取,期間只出現輕微的中斷時間。 處理程序期間,在啟動新的主要成員之前,舊的主要成員會放棄存取裝置。然而,當成員退出叢集且接觸不到時,叢集就無法通知該主要節點釋放裝置。因此,您需要 一個方法讓存活的成員可以從失效的成員接手控制和存取整體裝置。

Sun Cluster 使用 SCSI 磁碟保留來實作失效隔離。使用 SCSI 保留,失效的節點會「隔離」多主機磁碟,以防止存取這些磁碟。

SCSI-2 磁碟保留支援一種保留形式,授與存取權給所有連接磁碟的節點 (沒有保留存在) 或限制單一節點的存取權 (握有保留的節點)。

當叢集成員偵測到另一個節點在叢集交互連接上已經不再進行通訊, 即會起始隔離程序來防止其它的節點存取共用磁碟。當發生此失效隔離時, 一般會令隔離節點混亂,並在其主控台上出現「保留衝突」訊息。

偵測到個節點不再是叢集成員時,會放置 SCSI 保留在此節點與其它節點之間共用的所有磁碟上,所以就發生保留衝突的狀況。隔離節點可能不知道,自己已被隔離,而且如果它嘗試存取其中一個共用磁碟,就會偵測到保留和混亂。