企業級RHEL5.8 下實現Keepalived + LVS集羣高可用

Keepalived + LVS 實現lvs的高可用:

現在的社會中,人們對於網絡體驗的要求越來越高,企業將多個服務器集中在一起,使用集羣DR模型共同提供web頁面服務,使得我們的網頁瀏覽速度大大提高,服務器的負載大大減小;但是DR模型中和客戶端相連的,向外提供服務的director很容易成爲真個網絡中的單點故障,我們要儘量避免這樣的問題,所以對director做高可用,當後端的RS1或者RS2出現故障時前端的director能夠檢測到,並將其從realserver列表中移除,將所有客戶端的請求全部發送到正常工作的realserver上,如果兩個realserver全部宕機,則前端的director能夠向用戶提供一個提示頁面,使得用戶不會因爲不能正常訪問頁面而流失;而且當director出現故障時,在director上的VIP能夠自動漂移到另外一臺director上,並且在這臺director上使用VIP,啓動與HA1相同的LVS規則,啓動WEB服務,繼續提供sorry頁面,實現了director的高可用

這裏我們藉助keepalived實現這個功能,keepalived最初設計目的是爲ipvs提供高可用功能,藉助於VRRP協議,實現IP地址的漂移;轉移開啓LVS服務,完成health check健康狀況監測

VRRPVirtual Router Redundancy Protocol虛擬路由冗餘協議,是一種容錯協議。該協議通過把幾臺路由設備聯合組成一臺虛擬的路由設備,使用一定的機制保證當主機的下一跳交換機出現故障時,及時將業務切換到其它交換機,從而保持通訊的連續性和可靠性;這裏對VRRP協議不做過多介紹,有興趣的朋友可以去查看VRRP官方幫助文檔


搭建環境:RHEL5.8 32bitapache2.2lvskeepalived-1.2

搭建步驟:

一、實現director和各個realserver的互信通信、時間同步、互相解析

二、在realserver上安裝web服務,搭建LVSDR環境

三、對directorHA高可用,解決director單點故障問題


搭建LVS環境:互信通信,時間同步,互相解析


安裝lvs並對director--HA 1進行配置:

1. 安裝ipvsadm命令行工具包:

2. 使用腳本快速對director網卡和ipvs進行配置:

對兩個realserver分別進行安裝配置:

首先安裝httpd服務所需的RPM


使用腳本快速配置realserver的內核和網絡參數:

執行腳本進行編輯配置,發現此時已經配置有VIP和路由:

另外一臺realserver配置相同;此時我們到director上運行lvs規則腳本,並查看後端realserver是否已成功鏈接

此時到客戶機上進行lvs的測試:


此時一個簡單的web集羣已經搭建成功,但是這個模型容易出現director單點故障,所以我們使用keepalived對這個lvs做高可用:

director上安裝keepalived,並對keepalived做簡單配置:


如果要是用TCP_CHECK檢測各realserver的健康狀態,那麼,上面關於realserver部分的定義也可以替換爲如下內容:

編輯notify腳本:

啓動keepalived服務,並對realserver進行查看:

我們模擬其中一個realserver宕掉,並再次查看lvs,發現只有一個realserver

因爲我們提供的有sorry server,所以我們要在director上安裝httpd服務:


此時如果我們將兩個realserverhttpd服務全部關閉,再到director上查看,發現已經啓動127.0.0.1

   

   

此時我們再到客戶端進行測試,發現頁面已經轉換爲sorry

此時我們將RS2上的httpd服務打開,發現director立即能夠發現,客戶端的頁面可正常訪問:

   

   

   

下面我們進行故障測試,來驗證lvsHA功能:

查看主lvs節點和備用lvs節點的網卡配置情況,發現此時的VIP在節點一上:

   

   


我們模擬故障,在節點一的/etc/keepalived目錄下創建一個down文件,並在此查看:

發現此時的VIP已經漂移到節點二上:

我們客戶端的訪問並沒有收到影響,實現了web集羣的高可用:


此時Keepalived + LVS的集羣高可用已經搭建完成


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章