萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> RedHat AS 3.0下高可用性集群配置

RedHat AS 3.0下高可用性集群配置

class="22752"> 引用:
PDF文件請到我的BLOG裡下載
七月飛雪的個人BLOG

作者:七月飛雪 Email:[email protected]

2004年8月2日
引用: 最後修改於2004-8-4,將console下的配置命令已經補充上來....請大家參考

此篇文章參考了chinaunix論壇rdd兄弟文章http://www.chinaunix.net/jh/4/325828.html(Vmware下RedHat AS2.1集群配置StepbyStep)的部分內容,另外參考了redhat官方網站上說明文檔《Red Hat Cluster Suite Configuring and Managing a luster》,較之AS2.1的HA配置,AS3.0上的配置更加人性化,不過較之AS2.1的配置也有了不少不一樣的地方,這也是我沒能按rdd兄弟的文章配置成功的原因,網絡上又幾乎沒有關於redhat AS3.0HA配置中文資料,連E文的很少,我找來找去只找到了redhat官方網站上的配置說明
―――――――――――――――――――――――――――――――――――――――
實施系統軟硬件環境
硬件:p4 2.4G,80G,512M DDR
宿主機系統:win2000pro sp4
虛擬機軟件:Vmware GSX Server 3.1
安裝Vmware GSX Server 3.1和Redhat AS3.0的基本系統
1.安裝Vmware GSX Server3.1
  相信大家都安裝過workstation,過程都差不多,這裡就不多廢話了,有一點要提醒大家注意的是,VMware GSX Server2.5無法打開Vmware workstation4.52虛擬出來的系統,GSX Server2.5比4.52出來的要早,所以。。。。。。。
2.安裝Redhat AS3.0
  切記安裝上xwindows桌面系統,設置此系統hostname為linux1,ip為10.0.0.155
3.COPY並配置另一套AS3.0系統將安裝的第一套系統的文件復制到另一個文件夾,用編輯器打開rhel3.vmx文件修改displayName?=?"Linux1"到"Linux2"
 然後修改此系統的虛擬硬件配置,將網卡刪除如下圖所示,進行此步的原因是因為從第一套系統COPY過來的文件如果同時運行,兩個系統的MAC地址會發生沖突由於將網卡刪除,所以必須刪除後啟動第二套系統,啟動過程中kudzu進程會提示系統有多余的配置文件(就是已經被刪除網卡的配置文件),選擇將多余的配置文件刪除,然後再關閉linux2系統,重新給linux2添一塊網卡。再啟動linux2
啟動linux2,啟動過程中,由於重新添加了網卡,所以系統檢測到了它,再重新配置網卡,設置linux2 IP地址為10.0.0.156,其它同linux1。(注:這樣有人可能會覺得麻煩,不過網卡MAC地址沖突,這也是沒辦法的事,誰讓咱們偷懶不想再重裝一套系統呢)
這時候檢查以下各文件,修改主機名,網絡配置文件
#vi?/etc/sysconfig/network
將HOSTNAME=linux1改為HOSTNAME=linux2
#vi?/etc/hosts
將10.0.0.155 linux1修改為10.0.0.156 linux2
(注:有些朋友可能會問,怎麼不直接把hosts文件裡把linux1,心跳地址都寫進去,其實我現在這麼做是為了讓文檔更清晰些,到下一步的時候再添加這些,雖然稍微麻煩點,但是可以避免一些朋友看不明白)
這樣兩套完整的AS3.0的系統就配置成功,進入第二階段
二、使用Vmware虛擬出HA必需硬件設備,並進行配置
1.給兩個系統各虛擬一個新的網卡
  關掉兩個系統,給兩系統各一個增加以網橋方式工作的網卡,方法與第一圖類似
2.創建共享磁盤
給HA系統創建共享磁盤sdb,大小為500M(自定義),如下圖所示
  先打開linux1系統的設置,創建磁盤,磁盤文件名為,share.vmdk 選中Allocate all disk space now這一選項
建議將新加磁盤的裝入點設為scsi 1:0,如下圖所示,這就是系統的裸設備
然後打開linux2的設置,同樣給linux2添加共享磁盤,不過這次選擇已經存在的磁盤,使用的共享磁盤就是剛才為linux1創建的那個磁盤,如下圖所示
  同樣在Configuration?editor?裡面修改共享磁盤的”Vitual?disk?node”為scsi?1:0
  這樣,就給兩個系統各創建了一個新網卡,又創建了一個共享磁盤。由於系統啟動的時候會鎖定磁盤,所以當啟動linux1後共享磁盤被鎖定了,linux2就起不來了,因此必須做一下設置,用編輯器打開兩個Vmware文件夾的rhel3.vmx文件,最後增加一行:
Disk.locking?=?false
這樣硬件就配置好了
3.配置新添加的網卡
啟動linux1系統,系統在啟動時候會檢測到新添加的網卡,選擇配置,將第二塊網卡的IP設置為192.168.123.1,其它默認
修改linux1系統的/etc/hosts文件,改後內容如下
10.0.0.155 linux1
192.168.123.1 linux1
10.0.0.156 linux2
192.168.123.2 linux2
同時啟動linux2系統,設置方法同linux1
4.配置共享磁盤
在linux1在shell裡運行
#fdisk /dev/sdb //注使用parted也可以
將添加的共享磁盤,分為兩個區:sdb1和sdb2,各250M大小
在兩台服務器上分別編輯/etc/sysconfig/rawdevices文件,將分區綁定到裸設備。
#vi?/etc/sysconfig/rawdevices
加入
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2?
重啟服務
#service?rawdevices?restart
啟動完成後執行
#raw –qa,會顯示以下內容
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 18
格式化共享磁盤,每個塊大小為4K
mkfs.ext3 -j -b 4096 /dev/sdb1
mkfs.ext3 -j -b 4096 /dev/sdb2
注明:使用-b選項將磁盤區塊設置為4K,過小的區塊會導致磁盤檢查的時候耗費過多的時間
然後在linux2裡修改/etc/sysconfig/rawdevices同上,然後重新啟動rawdevices服務,raw –qa檢查系統
至此,硬件准備工作完成
三、安裝並配置基本的HA系統
在這裡我們只將AS3.0自帶的CLUSTER服務配置好,涉及到具體的http,ftp,mysql,oracle的HA服務會在下一部分介紹
安裝確認系統內安裝了AS3.0的HA軟件包
我們在這裡要用到的軟件包主要有兩個,clumanager和redhat-config-cluster
請用rpm –q 命令檢查系統是否安裝這兩個軟件包,如果沒有安裝可以通過以下方法安裝

使用ISO或光盤,AS3.0共有八張光盤,我們平時常用的只有前四張,另外有四張擴展光盤,其中擴展光盤的第三張是集群軟件,還包括了IPVS

等軟件,從光盤上安裝,如下圖或者通過網絡上下載到這兩個軟件包進行單獨安裝
rpm --Uvh clumanager-<version>.<arch>.rpm
rpm --Uvh redhat-config-cluster-<version>.noarch.rpm
注:網絡上比較多的是src軟件包,下載下來以後得使用rpmbuild命令進行重新編譯,然後在安裝
開始基本的HA配置
在linux1系統上,啟動xwindows,我這裡是gnome,開始運行配置工具
選擇左下角圖標 => 系統設置 =>服務器設置 => Cluster(或者在命令行裡運行#redhat-config-cluster)
出現以下畫面(圖裡左上角亂碼是因為我用的是遠程XWINDOWS,設置有問題)

下一步操作,點菜單欄裡的群集->配置
出現下圖所示
在Cluster Name處可以更改你設置集群的名字,在這裡我設置為test_cluster
然後我們開始添加集群內的成員,點菜單欄->新建 如下圖所示
(注:此時保證列表處選中Members,才可以出現下面內容)
將兩台機器Ip都填寫進去,如下圖
在這裡選中菜單欄裡的cluster->shared state,可以查看裸設備設置,如下圖

點擊確定繼續
然後打開菜單欄clusterdaemon properties出現以下窗口

這個窗口就是集群的配置窗口,詳細的說明請查看redhat的官方文檔
有一個說明的就是中間的那個滑動條,就是配置服務器探測等待15秒,我們不能設的太小,這裡我們就默認使用15秒
在clumembd這個窗口裡選中Enable Broadcast Heartbeating然後點確定,這時候會彈出一個窗口提示,因為我們配置的就是雙節點的HA,所以不

用管它,直接點確定然後在cluster configuration選擇保存後退出此窗口
在菜單欄 群集啟動本地群集守護進程,稍等一會兒,就會出現以下狀態

這裡就顯示在linux1上的cluster配置成功
然後我們就要配置linux2了,配置linux2其實很簡單,將linux1系統下/etc/cluster.xml文件COPY到linux2的/etc/目錄下就可以了
(注:cluster.xml是在安裝完兩個軟件包的時候不會產生,它是在第一次運行redhat-config-cluster命令的時候產生的,和AS2.1裡的cluster.conf儲存內容相同,只不過換了格式而已。這就是集群主要的配置文件,一定要確保集群上每個節點的此文件都是相同的,另外在redhat的官方文檔上強烈警告用戶:不要去手動的修改這個xml文件,)
將此文件copy上linux2以後,在linux2命令行裡執行
#service clumanager start
系統顯示執行成功,再稍等一會兒,你就會發現在linux1上出現了變化,如下圖

啟動關閉集群服務的命令是service clumanager start | stop
(注:如果你在配置完成以後不想用圖形界面監控節點運行,在shell裡運行
#clustat –i 10 / / 狀態監控,每10秒中刷新一次
出現如下結果
Cluster Status - test_cluster 13:57:22
Cluster Quorum Incarnation #1
Shared State: Shared Raw Device Driver v1.2
Member Status
------------------ ----------
10.0.0.155 Active <-- You are here
10.0.0.156 Active
Service Status Owner (Last) Last Transition Chk Restarts
-------------- -------- ---------------- --------------- --- --------

這樣,一個沒有包含任何服務的“裸”的集群系統就配置成功了,因為它沒有包含任何應用,也沒有什麼意義,下一步我們就在上面配置一個大家最常用的http服務來測試一下
四、舉
copyright © 萬盛學電腦網 all rights reserved