1.Keepalived簡介
Keepalived是一個基於VRRP協議來實現的WEB服務高可用方案,可以利用其來避免單點故障。使用多臺節點安裝keepalived。其他的節點用來提供真實的服務,同樣的,他們對外表現一個虛擬的IP。主服務器宕機的時候,備份服務器就會接管虛擬IP,繼續提供服務,從而保證了高可用性。
keepalived的原理圖如下所示:
最左邊是客戶機,它訪問我們的虛擬IP。然後我們有master(主控制節點)和backup(備用控制節點)。最右邊的就是我們提供服務的真機了。
Linux服務器LB羣集之LVS-NAT http://www.linuxidc.com/Linux/2013-05/84774.htm
Linux下羣集服務之LB集羣-LVS-NAT模式 http://www.linuxidc.com/Linux/2012-05/59839.htm
LVS-NAT+ipvsadm實現RHEL 5.7上的服務集羣 http://www.linuxidc.com/Linux/2012-04/58936.htm
Linux虛擬服務器LVS-NAT 和 LVS-DR 模型的實現 http://www.linuxidc.com/Linux/2011-09/42934.htm
2.搭建keepalived服務
我們使用四個節點來做這個實驗,兩個充當控制節點,另外兩個提供服務。然後用真機的瀏覽器訪問虛擬IP。
注意事項:
1.所有節點要做好解析。
2.時間同步
3.yum源設置好(除了基本的源,高可用等也要添加)
如圖是我們的操作控制檯:
keepalived的安裝包爲:
keepalived-1.2.13.tar.gz
兩個控制節點分別解壓和編譯、安裝keepalived:
在編譯keepalived之前我們需要安裝一些相關的包:
編譯keepalived源碼包:
這個是我們的 編譯結果:
然後我們進行安裝:
上述的步驟在兩個控制節點上都要進行,最後在配置文件中我們再設定主副節點。
建立軟鏈接,把keepalived的配置文件和服務啓動文件鏈接到指定位置:
設置配置文件:
我們設置了郵件的發送地址和ip,MASTER制定爲主控制節點,虛擬id兩個節點必須相同。delay_loop 指定6秒檢測服務狀態。
設置虛擬ip,這是我們客戶機訪問的IP。
這個是剩餘的配置文件內容,我們設置連接方式爲直連方式DR,負載策略爲輪叫方式rr,協議威TCP。然後我們設置了兩個提供服務節點的IP和端口。分別爲192.168.2.108和192.168.2.109的80端口。也就是網頁訪問服務。
然後我們設置備機的配置文件,模式設置爲BACKUP,權重修改爲50。這樣纔可以優先讓主控制節點接管。
然後我們打開keepalived服務,並查看日誌,發現已經識別了192.168.2.110虛擬IP:
在兩個提供真機的服務節點上安裝arptable_jf軟件:
設置arptables的策略:
然後我們要在兩個控制節點上安裝ipvsadm軟件來監控服務的狀態:
如果無法安裝的話,查看yum源,設置成如下所示:
在兩個提供服務的真機上安裝httpd,設置完默認發佈內容後啓動服務:
然後我們在主控制節點上查看當前的監控信息:
在真機的瀏覽器上查看192.168.2.110的信息。因爲是輪叫策略,所以會輪換顯示192.168.2.108和192.168.2.109的默認發佈內容:
3小結:
這樣我們就搭建了keepalived下的高可用集羣。這個的複雜程度要低於heartbeat,在生產環境中也是非常常見的。
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2014-09/106965.htm