Sun Cluster 3.0 概念

高可用性的組織架構

Sun Cluster 讓使用者和資料間的"路徑"上所有元件具有高度的可用性,包括網路介面、應用程式本身、檔案系統和多重主機磁碟。一般而言,如果系統內有任何單一 (軟體或硬體) 失效,叢集元件就具有高度可用性。

下表顯示 Sun Cluster 元件失效的種類 (硬體和軟體),以及內建於高可用性架構內的復原種類。

表 3-1 Sun Cluster 失效偵測與復原的層次

失效的叢集資源 

軟體復原 

硬體復原 

數據服務 

HA API,HA 組織架構 

無 

公用網路配接卡 

網路配接卡失效保護 (NAFO) 

多重公用網路配接卡 

叢集檔案系統 

主要與次要複製 

多重主機磁碟 

鏡映多重主機磁碟 

容體管理 (Solstice DiskSuite 和 VERITAS 容體管理者) 

硬體 RAID-5 (例如,Sun StorEdge A3x00) 

整體裝置 

主要與次要複製 

多重裝置路徑,叢集傳輸接點 

私有網路 

HA 傳輸軟體 

多重私有硬體獨立網路 

節點  

CMM,failfast 驅動程式 

多重節點 

Sun Cluster 高可用性組織架構快速地偵測到某個節點失效,並且建立一個新的相等伺服器給 叢集中剩餘節點上的組織架構資源。隨時皆可使用組織架構資源。未受故障節點影響的組織架構資源,在回復時完全可加以使用。此外,已失效節點的組織架構資源一經回復之後,便會成為可使用。已回復的組織架構資源不必等待所有其他的組織架構資源完成回復。

大多數可用性頗高的組織架構資源會回復到使用此資源的應用程式(數據服務)。會在各項節點失效時完整保留組織架構資源存取的語義學。應用程式無法辨識出組織架構資源伺服器已移到另一個節點。只要從另一節點到磁碟存在著另一個替代的硬體路徑,對於在使用檔案、裝置以及連接到 此節點的磁碟容體上的程式而言,單一節點的失效便是完全的透通。其中的一項範例便是使用具有連到多重節點的連接埠的多重主機磁碟。

叢集成員監視器

「叢集成員監視器 (CMM)」是一組分散式的代理程式,每個叢集成員一個代理程式。 代理程式透過叢集交互連接來交換訊息,達到:

與先前的 Sun Cluster 版次不同,CMM 完全在核心程式中執行。

叢集成員

CMM 的主要功能,是建立在任何時候參與叢集之節點集合的全叢集協議。Sun Cluster 稱此限制 為cluster membership

若要決定叢集全體成員,並在最後確保資料完整性,CMM 會:

請參閱 "法定人和法定裝置" 以取得有關叢集如何保護自,以免分割成多重個別叢集的其它資訊。

叢集成員監視器重新配置

為了使資料免於毀損,所有的節點必須對叢集成員達成一致的協議。 必要時,CMM 會為了回應失效而協調叢集服務 (應用程式) 的叢集重新配置。

CMM 從叢集傳輸層接收有關連接到其它節點的資訊。在重新配置期間,CMM 使用叢集交互連接來交換狀態資訊。

在偵測到叢集成員變更之後,CMM 會執行叢集的同步化配置,此時可能會根據新的叢集成員而重新分配叢集資源。

叢集配置儲存庫 (CCR)

「叢集配置儲存庫 (CCR)」是一個私有、全叢集式的資料庫,用來儲存專屬於叢集配置與狀態 的資訊。CCR 是分散式分散式資料庫。每一個節點保有一個完整的資料庫複製。CCR 確保所有的節點 均具有一致的叢集「世界」視區。為了避免毀損資料,每一個節點都需要知道叢集資源的現行狀態。

CCR 是實作於核心程式中的一個高可用性服務。

CCR 對於更新作業是使用二階段式確定 (two-phase commit) 演算法:必須在所有的叢集成員均順利完成更新,否則更新就會被回復。CCR 使用叢集交互連接來應用分散式更新。


小心 - 小心 -

雖然 CCR 是由文字檔所組成,請絕對不要手動編輯 CCR 檔案。每一個檔案均含有總和檢查紀錄,以確保一致性。手動更新 CCR 檔案會導致節點或整個叢集停止運作。


CCR 依賴 CMM 來保證叢集只有在到達法定數目時才能執行。CCR 負責驗證整個叢集的資料一致性、依需要執行復原,以及便利資料的更新。