1.簡介
RHCS全稱RedHatClusterSuit紅帽叢集套件,相對于其他叢集配置rhcs配置略顯複雜且牽扯内容比較多,但是就穩定性與可靠性而言rhcs是毋容質疑的。下面就自己對rhcs了解說明一下rhcs的概念。主要包括七個方面(2.1-2.7)。
1.1RHCS有那些功能
既然RHCS是一個叢集套件,因為進群功能有多種如高性能、負載均衡、高可用,那麼RHCS實作什麼功能。RHCS通過cman/叢集高可用管理器實作高可用,通過LVS實作網絡層負載均衡。同時RHCS通過支援GFS與iSCSI提供叢集共享存儲的功能。
這裡需要說明iSCSI是一種存儲方案而GFS是一種檔案系統,多個客戶機通過iSCSI這種存儲技術通過網絡對遠端存儲進行高性能資料傳輸,GFS提供多節點資料共享方案。
1.2叢集高可用工具
高可用工具:keepalived、heartbeat
1.3叢集負載均衡工具
負載均衡排程器:LVS、HAProxy、Nginx
1.4叢集資料一緻性
(1)無共享體系結構:
每個節點單獨使用本地存儲,資料一緻性需要一套資料複制機制保證各個節點資料保持一緻如DRBD,大多數主流資料庫,如IBM DB2企業版、Microsoft Cluster Server,已經實作無共享叢集
(2)共享磁盤體系結構:
共享磁盤“某個時刻”隻有一個叢集中的一個節點來對磁盤進行完全的操作,在進階叢集中如果需要其他節同時通路資料,需要完全操作的節點向他節點提供檔案系統,是以此節點将成為叢集性能瓶頸。如Veritas Cluster Servers已實作。
(3)完全共享體系結構
完全共享結構可以提供叢集内所有節點通路,不過這種方式通常通過一個共享通道進行I/O操作是以需要一套機制來保證資料一緻性DLM。如RHCS叢集中的GFS檔案系統可以實作。
2RHCS管理
2.1叢集成員管理
簡稱cman,clustermanagment,主要用來叢集成員間進行消息傳遞通知。
2.2分布式鎖管理
簡稱dlm,distributelock managment,主要保證叢集成員對共享分區的讀寫操作,防止各個成員資料讀寫不一緻現象。
2.3配置檔案系統管理
簡稱ccs,clusterconfigurationsystem,主要提供對叢集系統配置檔案(/etc/cluster.conf)進行配置,通過luci這個工具可以對配置檔案進行界面化操編輯,編輯完成後叢集系統會在各個節點間進行配置檔案的自動同步。當然如果比較牛逼,可以自己編輯配置檔案即可。注意這個管理主要是同步更新管理。
2.4栅裝置管理
簡稱fence,這裝置底層調用了底層系統接口如ups、ipmi,這個功能主要是在節點出現異常問題時候,系統其他正常手段無可奈何的時候,使用這項功能将節點初始化如重新開機、關機、或者自動重叢集和網絡中隔離。這個手段比較強硬主要是防止叢集系統因為一台系統的異常導緻整個叢集hung狀态發生。這個功能選項可以在叢集中配置自動啟用還是手動執行。如果不放心可以設定手動執行。
2.5高可用服務管理
高可用服務主要是對叢集中各個幾點的服務狀态進行檢測,對節點的服務進行的檢測、停止、啟動、重新開機操作。高可用服務用将會與後面說明的失敗轉移域緊密相關。
2.6叢集配置管理
RHCS提供了多種叢集配置和管理工具,常用的有基于GUI的system-config-cluster、Conga等,也提供了基于指令行的管理工具。常用的 clustat、cman_tool、ccs_tool、fence_tool、clusvcadm等。
2.7Rehat GFS
RedhatGFS是RHCS為叢集系統提供的一個存儲解決方案,允許叢集多個節點在塊級别上共享存儲,每個節點通過共享一個存儲空間,保證了通路資料的一緻性,GFS允許多個節點同時挂載一個檔案系統分區,檔案系統資料不受破壞,這是單一的檔案系統,與EXT3、EXT2不同為了實作此功能RHCS通過鎖管理來實作了對共享GFS的I/O讀寫操作。另外須知,GFS是基于RHCS的也就是說RHCS系統不一定要使用GFS但是GFS使用需要RHCS基礎元件。
3RHCS幾點補充
(1)fail-over:失敗轉移域,能夠限制叢集中某一個服務在那些節點間轉移(可以允許已經運作其他服務的裝置接管),設定優先級與限制節點切換範圍如srv1:mysql apache、srv2:mysql apache、srv3:mysql apache、srv4:mysql apache有限設定srv1 srv2之間進行mysql服務切換,srv3 srv4之間進行apache服務切換,但是如果專用的服務組裝置都故障了最後考慮轉移到srv3、srv4上。
(2)rhcs類似裝配模式,資源是單獨建立的,然後為服務單獨添加,也可在服務建立時直接添加資源。添加服務時故障轉移域就是就是(1)中描述的情況。
(3)表決磁盤:rhcs的故障轉移通過一種共享磁盤進行仲裁,如果不滿足仲裁關系就不能進行故障轉移,顯然故障轉移是叢集的必備功能,于是rhcs叢集使用了一種恒等關系保證了故障轉移能狗任何條件下進行。node:3 expected votes:6 Quorum Device:2 Total votes:5Quorum:3
node為目前的有效節點數能夠投票的人(3個)、expectedvotes是期待的投票數-相當于全國人民(4個)、QuorumDevice是說定義的表決磁盤一票能夠頂2票、totalvotes是目前實際投票情況、Quorum是法定投票數,那麼系統要求Quorum