RedHat 6.5下RHCS 集羣的實現

集羣常見的拓撲結構

wKioL1dhVvOi30TgAABMAh339aQ609.png-wh_50

1,此集羣也算是一個典型的高可用集羣。下圖描述了各個硬件組成部分,由2臺以上服務器組成,加入到集羣的服務被稱爲節點,通常以私有網絡作爲心跳,當集羣中一臺服務器出現故障時,其他服務器會按照集羣中設定的接管機制實現“故障切換(Failover)”,爲保證服務器網絡及其與外部存儲的連接,通常

會對網卡進行“網卡綁定”,對外部存儲的HBA卡鏈接進行“多路徑綁定”。心跳:服務器集羣中的服務器通過“心跳”機制來判斷自身及集羣中的其他服務器是否存活,通常心跳會通過網卡或者竄口實現。

虛擬IP及公共網絡:集羣軟件或硬件通過TCP/IP協議對客戶端可見的公共網絡公開了一個虛擬的IP網絡,此IP由集羣機制管理,指向當前活動的集羣服務器節點,對於客戶端而言,集羣就相當於一個服務器,可以實現透明訪問。

2,紅帽集羣套件RHCS的工作原理

2.1CMAN集羣管理器

CMAN是一個基於內核的對稱通用集羣管理器。它由2部分組成,連接管理器(CNXMAN),用於處理成員,消息,投票數,事件通知和過渡;服務管理器(SM);用於處理那些需要通過各種方式進行集羣管理的應用及外部系統,CMAN是RHCS中最核心的服務,可通過系統中的service命令進行啓動、停止操作;DLM,GFS,CLVM及fence都依賴於cman集羣管理器。

2.2rgmanager資料組管理器

rgmanager(Resource Group Manager)基於cman並使用DLM動態鎖管理機制。與CMAN一樣,rgmanager也是RHCS中的一個核心服務,可通過系統中德service命令進行啓動停止操作;rgmanager管理併爲集羣中的service(服務)和Resource(資源)提供Failover錯誤切換功能。

2.3 Service(服務)

每個服務都被指定存在於一個Failover Domain中,並與多個Resource關聯。每個服務可以理解爲實際操作中的一個應用。如WEB服務器,JAVA中間件、數據庫、文件共享系統、郵件系統等。這些應用在運行時不但對應用程序本身有要求。如某個運行指令或者多個運行腳本的組合,還要提供對諸如虛擬IP、文件系統等資源的支持。

2.4Failover Domain(錯誤切換域)

每個Failover Domain都與2個或以上的Node進行綁定,Failover Domain指定了集羣中某個service運行時的範圍。也就是指定此service將會由哪些服務器提供Failover錯誤切換功能。每個Node都允許與多個Failover Domain進行綁定,也就是說每個Node都可以爲多個Service服務。因此可以實現“主動、雙活動”方式的集羣配置

2.5Resource(資源)

Resource指的是組成一個應用所需的各種組件,通常包括:應用程序,虛擬IP,文件系統,資源與service組合時,往往還會體現出一定的層次關係,例如,通常系統都要求確認虛擬IP及文件系統都已經正常鏈接和掛載後,纔可以運行某個應用程序,這個順序一旦調轉,這會使應用程序出錯。

2.6Fence機制

在RHCS集羣運行時,爲了避免因出現不可預知的情況而造成“腦裂”現象(如:心跳線斷連,此時2臺服務器都無法找到對方,無法向對方發出操作指令,都各自認爲自身是主節點;又或者主服務器系統崩潰,系統能接收到備用服務器的操作指令,但無法返回運行情況的確認信號,導致備用服務器無法獲知系統資源的使用情況),系統要求通過Fence機制

來保障系統切換時的I/O使用安全。

Fence主要是通過服務器或者存儲本身的硬件管理接口,又或者是外部電源管理設備。來對服務器或存儲發起直接的硬件管理指令。控制服務器或存儲鏈路的開關。因此Fence機制也稱爲I/O屏障技術。當腦裂發生時徹底斷開問題服務器的所有I/O鏈接。保證問題服務器不能對集羣中的I/O資源(共享的文件系統資源)進行任何操作,嚴格保證集羣環境中企業核心數據的完整性。

wKiom1dhWpOT23hlAADQGI33DYg115.png-wh_50



安裝前的準備工作:

1)地址規劃:Node1/ 172.25.254.20;

            Node2/ 172.25.254.21

            管理節點(LUCI)/172.25.254.17

            存儲網絡/ 172.25.254.16

            rgmanager Virtual IP

            172.25.254.22.

2)所有的服務器關閉Iptables和Seliux;

#getenforce

disabled

#/etc/init.d/iptables stop;

3)配置/etc/hosts文件,解析各個主機名-IP地址,保證所有服務器一致。

#cat /etc/hosts

172.25.254.20 server3.example.com

172.25.254.21 server4.example.com

172.25.254.17 server9.example.com

4)準備集羣ISCSI共享磁盤。

5)安裝RHCS集羣管理工具LUCI;

在server9.example.com上

#yum install luci -y

安裝完成之後啓動luci服務。

6)在2臺Node服務器上安裝RHCS集羣包ricci

#yum install ricci -y

7)設置ricci賬號密碼,用於luci連接認證;

echo redhat | passwd --stdin ricci

啓動服務以後進入瀏覽器,按照被授予的URL以HTTPS協議登陸luci客戶端。

wKioL1dhbNTTqsTVAAGyEInisZA555.png-wh_50

wKiom1dha9OQwfajAAGLvH5uGlM455.png-wh_50

wKioL1dhbPuhcGYSAAGgqCZzZk8206.png-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章