第一章 配置RHCS
準備工作:
首先要設置 /etc/hosts中的IP與域名的對應關係,保證你在設置兩臺機子的主機名的時候能夠互相ping通。注意如果只啓用一張網卡的話,要把啓用網卡的IP地址放在前面,暫時不用的網卡IP放在後面,以免ping的時候不通。
[root@web1~] ping web2 能出來正確的IP地址
[root@web2~] ping web1 能出來正確的IP地址
1.1. 啓動cluster管理圖形界面
在shell下輸入system-config-cluster,啓動羣集配置工具。
點擊創建新集羣,並輸入集羣名稱hacluster。
(下圖點擊左邊cluster,再按右邊的“Edit Cluster Properties”按鈕)
1.2. 添加羣集成員節點
點擊 Cluster->Cluster Nodes->Add a Cluster Node
在 Cluster Node Name 中輸入第一個機器的主機名,app63.webcluster.com ,
Quorum Votes: 不填,然後點擊確定.
同樣方法添加第二節點
1.3. 添加fence設備
點擊cluster->Fence Devices->Add a fence Devices
這裏的fence類型選擇IBM Blade Center,因爲我們是在兩臺ibm刀片上安裝的,rhcs還支持很多fence設備,可以根據實際情況選擇。
1.4. 建立fence設備和每個節點的對應關係
爲了使每個節點可以通過Fence設備對節點的開機、關機和重啓進行管理或者對節點的狀態進行查詢,需要建立fence設備和每個節點的對應關係。
選中節點,點擊「Manager Fanceing For This Node」,之後點擊「Add a New Fence Level」,
在Fence Configuration對話框中選中Fence-Level-1,點擊 Add a New Fence to this Level
添加是刀片的第幾臺設備,比如我的是第9和10臺
1.5. 創建一個失效域
按照默認設置,失效轉移域是無限制和無序的。
選擇 Cluster->Managed Resources->Failover Domains->Create a Failover Domain. 在name for new Failover Domain 中輸入:redhatfd
點擊 Available Cluster Nodes,分別選中 app63.webcluster.com和 app64.webcluster.com,然後點擊關閉按鈕
1.6. 創建羣集資源
添加一個服務 IP 地址資源
Cluster->Managed Resources->Resources->Create a Resource
在 select a Resource Type: IP Address 輸入:192.168.100.65(注意不能與前面兩個主機的IP相同,這個IP是外網訪問過來的虛擬IP,當其中一個實際的IP地址出問題的時候可以自動飄移到另),選中Monitor Link,在Subnet中輸入子網掩碼位數,點擊確定按鈕。
添加一個服務控制腳本資源
Cluster->Managed Resources->Resources->Creat a Resource
select a Resource Type:欄中選擇script
name欄中輸入腳本名字httpserver,可隨意填寫。
File 欄中輸入腳本路徑(with path): /etc/rc.d/init.d/httpd (或者是tomcat)
點擊確定按鈕。
(注意:apache服務必須在兩臺服務器之間都有安裝,而且配置必須完全一樣,才能實現主從雙備份,當其中一臺httpd服務出現問題的時候,通過RHCS機制可立即切換到另一臺httpd服務)
1.7. 創建一個羣集服務
Cluster->Managed Resources->Services->Create a Service
Name欄中輸入服務名稱webservice,然後點擊確定按鈕 。
在接下來的對話 框 Failover Domain 中,選擇redhat_fd
爲新創建的羣集服務加入建立的資源
Add a Shared Resource to this service 按鈕, 選擇192.168.100.65,然後點擊確定
Add a Shared Resource to this service 按鈕, 選擇httpserver,然後點擊確定
1.8. 保存配置
文件->保存,使用默認的文件名和路徑,然後點擊文件->退出
1.9. 同步節點配置信息
# scp /etc/cluster/cluster.conf 192.168.100.64:/etc/cluster/
注意複製的時候會要求你輸入192.168.100.64的root密碼,才能複製成功。
1.10. 集羣啓動和關閉
(1)如果想啓動羣集服務,在所有羣集成員節點上分別依次啓動下面的服務。
#service cman start (只有所有集羣成員都啓動cman服務以後,fencing才能啓動成功)
#service rgmanager start
(2)如果想停止羣集服務,在所有羣集成員節點上分別依次停止下面的服務。
#service rgmanager stop (rgmage的進程是clurgmgrd 如果停止不了可用kill -9 命令殺掉進程)
#service cman stop (cman的進程是ccsd 如果停止不了可用kill -9 命令殺掉進程)
通過 #service rgmanager status 命令可以查看出進程名稱和進程pid號,然後用kill -9殺掉
(3)設置集羣開啓啓動:
# chkconfig cman on
# chkconfig rgmanager on
1.11. 顯示羣集和服務狀態
[root@app63 ~]# clustat
Cluster Status for hacluster @ Wed Jul 28 16:49:57 2010
Member Status: Quorate
Member Name ID Status
------ ---- ----------- ---- ---
app63.webcluster.com 1 Online, Local, rgmanager
app64.webcluster.com 2 Online, rgmanager
Service Name Owner (Last) State
---- --- ---- --- ---- --- ---- --- ---- --- ---- ---
service:webservice app64.webcluster.com started
當配置了羣集服務,並相關的羣集進程啓動後,在 shell 提示符中,運行 system-config-cluster,點擊 Cluster Management 標籤,就會顯示當前羣集的服務狀態
第二章 RHCS應用實例
1、有兩臺服務器,主機IP是192.168.0.101 從機IP是192.168.0.102
2、這兩臺服務器在安裝系統時候都選擇同樣的配置,安裝有羣集套件、web服務器套件。
3、主機101軟件安裝:apache發佈服務80端口,tomcat1和tomcat2發佈服務。
從機101軟件安裝:apache發佈服務80端口,tomcat3和tomcat4發佈服務。
4、在主機101配置apache負載均衡發佈器httpd服務,同時指向tomcat1到tomcat4四個web發佈服務;在從機102上面同樣配置與主機101完全相同的apache負載均衡發佈器httpd服務
5、在主從兩臺服務器上面配置RHCS機制,統一對外的虛擬IP爲192.168.0.100。
6、RHCS的作用主要是保護對外的Apache的http服務而不是tomcat發佈服務,即使主機的http服務出問題,會通過RHCS的方式立即切換到從機的http服務上面,實現不間斷的對外發布服務。
7、RHCS的手工切換:
(1)查看RHCS主服務目前運行在哪臺服務器節點上面:
[root@app63 conf]# clustat (可以看出目前運行在app63節點上面)
Cluster Status for hacluster @ Mon Aug 8 09:25:01 2011
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
app63.webcluster.com 1 Online, Local, rgmanager
app64.webcluster.com 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:webservice app63.webcluster.com started
(2)切換某個服務到另一個節點上面:
[root@app63 conf]# clusvcadm -r webservice -m app64.webcluster.com
注意:服務名要採用clustat命令顯示出來的服務名稱(webservice),不是系統啓動的腳本名稱(httpd)。切換成功以後,會自動啓動app64上面的httpd服務,原有的app63上的httpd服務自動停止。
2012年度IT博客大賽,我的參賽博客:http://blog.51cto.com/contest2012/2677571
歡迎大家捧場,每天投一票。同時歡迎給我留言評論,大家一起學習交流。 >>> 進去投票