2.特點:
(1)將形成沒有單點硬件故障的系統
集群將利用獨立的服務器,形成一個具體彼此互連的整體,可以避免的因為一臺機器down掉而造成數據丟失,服務停止。同時是低成本,高可用性的集群服務。
(2)服務的高可用性
集群可以讓管理員輕松地將獨立的服務聯合起來,保證數據的安全性和服務的可用性。為了搭建一個服務,管理員必須此服務的資源與一些必要的屬性,如服務的名字,啟動停止的腳本,硬盤的分區等。
(3)數據的高可靠性
(4)提供簡捷的用戶管理接口
(5)多集群互通(這個功能沒有研究過)
(6)服務的Failover切換
當集群中提供服務的一臺服務器出了問題的時候,在集群中會自動將用戶過來訪問的請求發到集群中其他的機器上來處理。當這個服務器的系統起來后,可以讀寫有關集群的Quotum(裸設備)的時候,將自動讀取有關集群的相應信息,自動加入到本集群中。
(7)可以同時提供多種服務
(8)事件日志功能
(9)應用服務的監測功能
(10)狀態的監測功能
3.最小的硬件環境:
2臺Server(原則上需要兩塊網卡)
以太網連接,心跳監測
共享storage,來共享信息
4.建立cluster server
(1)安裝基本的系統,主要是包括硬件的驅動
(2)確認網絡,包括交換機的部分,網卡的使用,用來進行心跳監測
(3)cluster的安裝步驟:
A.在兩臺機器上安裝Redhat Advance Server 2.1,記得在安裝的時候要選擇kernel source和cluster system 兩個部分
B.重啟編輯一下/etc/hosts,將所有加入到集群中的機器寫到里面,包括主機和IP地址的對應關系。
C.確認每個系統都已經認出了所需要的硬件環境,如網卡等
D.對于內核的一些要求:
IP ALIAS的支持。–ONFIG_IP_ALIAS)
E.由于有一些cluster可能會用的storage(盤柜)一類的設備,同時系統在啟動的時候,內核也會對cluster在時間有一定的限制,所以這個時候建議更改lilo.conf將里面:
TIMEOUT=30
(4)創建裸設備:
/dev/raw/下的設備文件,配置文件則去更改/etc/sysconfig/rawdevices這個文件,在集群中首先需要一個Quorum Partition。這些分區和一些數據庫的應用必須要求有裸設備,因為他們需要滿足自己的buffer cache,而不是系統的,所以他們不包括文件系統。
一個/etc/sysconfig/devices的樣式文件:
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
這個可以根據自己的需要來進行相應的更改,因為對應的設備可能會有所不同,這事前必要要用fdisk來為Quorum Partition來提定兩個分區,不用太大,100M就足夠用了。
在機器查看裸設備可以用raw –aq的命令,更多的信息可以用man raw。
(5)確認機器上是否安裝clumanager-xxx.rpm(rpm –qa |grep clumanager)。如果沒有安裝的話,可以找到這個文件后,rpm –ivh clumanager-xxx.rpm
(6)確認裸設備建立無誤后,那么如何來測試Quorum Partition是否正常的工作,可以用如下的命令來進行測試:
cludiskutil –p,列出的信息里,不同服務器上相同的裸設備,如(/dev/raw/raw1)的Magic和Version的值應該是一樣的。這一點還請大家多多注意。
然后再來運行cluconfig進行cluster server的配置,會問一些相關的信息,正確的回答給他,會自動的更新cluster的一個信息文件,以備為cluster的運行使用。
這其中會問到一個關于IP adderss for cluster alias的地方,就是指這個集群建立起來后,客戶用來訪問的一個總的地址。
(7)用cludiskutil –t來檢查Quorum Partition,假如用了Power switch的話,可以用clustonith來進行檢查。
(最后就可以用命令來啟動cluster了,命令方式如下:services cluster start。當cluster運行的時候,系統會有幾個進程起動,下面將這幾個進程都是作什么,給大家說一些:
cluquorumd Quorum deamon(裸設備的守護進程)
clusvcmgrd Service manager daemon(管理服務的守護)
clupowerd Power daemon。娫垂芾淼氖刈o)
cluhbd Heartbeat daemon。ㄐ奶氖刈o)
clumibd Administrative system monitoring daemon。ūO測守護)
5.Cluster的管理:
可能這個東東相對來說要比較簡單一些,因為目前在Redhat Advance Server 2.1上的已經用clumanager這樣的管理包,將cluster的管理功能利用TUI的方式來管理的很好,下面主要給大家介紹一下相關的命令的使用,希望能對大家有所幫助。
一個管理的命令就是cluadmin,這個命令可以提供如下的功能:
A.增加,刪除和修改cluster里的服務
B.啟動和停止cluster
C.顯示cluster和里面所跑服務的狀態
D.修改cluster日志級別
E.備份和恢復cluster的數據
當cluadmin命令執行后,如果你對網絡有一定了解的話,他的接口就像是cisco設備的字符管理界面一樣的,主要是來使用一些命令來控制,這里你可以用help來列出所有的可用命令和一些簡單的幫助信息,對你的使用可能會比較有幫助的,這個功能就在這里不給大家詳細的講解了,如果有什么問題,最好還是在這里直接去help來看一下他的幫助信息。
----------------------------------------------------------------------------------------------------------------------
在此作一個小結,以上的工作如果順利作完的話,那就說明你的cluster已經正常的運轉起來報,但是我們的最后的目的是什么,不是只讓cluster跑起來,而是要在這個cluster的基本來跑我們的應用服務,讓cluster來對我們所應用的服務起到一個很好的保護作用。
----------------------------------------------------------------------------------------------------------------------
6.Cluster里服務的建立:
(1)所必要的幾個條件:
A.所保護服務必須要有一個可能控制啟動和停止的腳本,安裝了clumanage-xxx.rpm后,這個包里面自帶了一些常用服務的控制腳本,這個很方便的,省著自己去動手寫這樣的一個東東,具體的位置放在/usr/share/cluster/doc/services/examples
B.確認所要運行的服務在每一臺cluster server的機器上都能正常的運行
(2)務份一下/etc/cluster.conf,以備如果出錯后,可以恢復到原始的狀態,以免以前的工作都浪費了
(3)運行如下的命令:
/sbin/cluadmin
cluadmin>service add這樣就可以來增加服務了,這個過程中同樣會問你許多有關此項服務的信息,所以需要你對這個服務有一些了解,如他的啟動停止控制腳本在哪?所必要的配置文件在哪里等這樣的問題。不是很難的,如果不能確認,可以先到服務器看去轉一轉,了解一下所要的信息。
對于cluster里面服務的一些管理,以及一些系統狀態的監測,可以直接用cluadmin里面提供的一些命令去跟蹤,這些就不詳細地講解了,有空的大家可以去看命令的幫助信息,也可以去www.redhat.com網站去查看官方的doc。
7.Cluster數據的備份與恢復
/sbin/cluadmin
cluadmin>cluster backup [200416200215.htm] 這里的200416200215.htm可以不指定
cluadmin>cluster restore [200416200215.htm] 同上
然后要將cluster重新啟動一下,才會生效
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/