一、實驗目的
為了實作在一台Director出現故障後,仍能夠正常的提供服務,是以把Director做成高可用叢集服務,但是如果背景的RealServer出現問題,Director不能夠知道,是以需要借助于Heartbeat-ldirectord來自動檢測背景RealServer的健康狀況,而且還能夠自動結合Director實作高可用叢集服務。
二、實驗拓撲如下圖
<a target="_blank" href="http://blog.51cto.com/attachment/201208/135335353.png"></a>
三、實驗描述
在這個實驗中有兩台Director和兩台RealServer具體IP如上圖所示,然後基于web服務來實作實驗結果。
四、實驗準備
1.修改兩台Director的主機名,使其和uname -n的保持一緻
2.修改hosts檔案,因為高可用叢集服務的解析依賴與自己的hosts檔案
編輯Director1、2的/etc/hosts檔案,添加如下内容
172.16.29.1 node1
172.16.29.2 node2
3.配置兩個Director的系統時間,使兩台的時間保持一緻
4.配置Director的ssh,以實作雙機互信
Director1
Driector2
五、實驗步驟
配置兩台RealServer
1.配置httpd
2. 設定arp_ignore和arp_announce
3.配置VIP
配置Director
1、配置VIP(兩台一樣)
2、打開路由轉發功能
3.安裝heartbeat以及所用到的包
可以把如下包下到一個目錄下
4.修改配置檔案
5、為叢集指定認證方式
6、配置ldirectord
7.為hacluster使用者添加密碼以友善登陸gui界面
8.啟動服務(需要注意的是在作為主節點上啟動兩台的服務)
<a target="_blank" href="http://blog.51cto.com/attachment/201208/221809282.png"></a>
進入界面後如下圖
<a target="_blank" href="http://blog.51cto.com/attachment/201208/092255526.png"></a>
9.在添加資源之前應保證兩台Director的ldirectord的服務是停止的,然後設定成開機自動停止服務。
10.添加資源
在上圖中Resource處右鍵點選添加ldirector資源,如下圖所所示
<a target="_blank" href="http://blog.51cto.com/attachment/201208/092757793.png"></a>
成功添加後在主節點上使用Ipvsadm檢視是否有規則,結果如下圖
<a target="_blank" href="http://blog.51cto.com/attachment/201208/092905339.png"></a>
由于運作還要依賴于VIP,是以接下來要添加VIP資源,特别注意的是,這裡一定要添加lvs_support并設為ture,具體添加如下圖所示
<a target="_blank" href="http://blog.51cto.com/attachment/201208/093130914.png"></a>
添加資源完成後,啟動添加的資源,檢視資源運作的節點,然後ip addr show 指令檢視添加的VIP,然後在浏覽器檢視結果如下圖所示。
<a target="_blank" href="http://blog.51cto.com/attachment/201208/093552975.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201208/093604149.png"></a>
11.然後模拟Director和Realserver其中有一個出現故障
首先使Director的主節點改為從節點,然後資源會自動轉到節點二上,因為我們在前面設定了,自動轉移,具體如下圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201208/094043860.png"></a>
在後在浏覽器浏覽結果正常顯示
然後使用iptables在其中的RealServer上拒絕80端口的來訪,則會自動檢測,然後在浏覽器中則不能被顯示了。
清除規則後,又能正常顯示,是以ldirector就實作了自動檢測背景realserver的健康狀況的功能。
本文轉自 沐木小布丁 51CTO部落格,原文連結:http://blog.51cto.com/sxhxt/954545