天天看點

Heartbeat-ldirectord+LVS-DR實作Director高可用

一、實驗目的

    為了實作在一台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