keepalived 是linux下一個輕量級的高可用解決方案,它與HACMP實現功能相似,均可以實現服務或者網絡的高可用,可是又有差異:hacmp是一個專業的、功能完善的高可用軟件,它提供了HA軟件所需的基本功能,好比心跳檢測和資源接管,檢測集羣中的系統服務,在集羣節點間轉移共享ip地址全部者等,hacmp功能強大,可是部署和使用相對麻煩,同時也是商業化軟件,與hacmp相比,keepalived主要是經過虛擬路由冗餘來實現高可用功能,雖然他沒有hacmp功能強大,可是keepalived部署使用相對簡單,全部配置只須要一個配置文件便可完成.linux
1、準備環境網絡
#1,兩臺虛擬機,分別用做marst 與 backup 測試
#2, Dserver 端 爲 marster , PDserver 爲 backup3d
#3,Dserver ip : 192.168.206.3server
PDserver ip:192.168.206.4blog
2、 Start the experimentip
1> 兩端分別下載 keepalived 資源
Dserver 端:路由
查看:rem
PDserver端:
查看:
2> 編輯配置文件
yum 安裝的 的keepalived 的 配置文件默認 在 /etc/keepalived/keepalived.conf
keepalived的配置文件裏面主要分三類
1,全局配置
2,VRRP配置
3,LVS配置
##先來配置Dserver端:
&1
&2,全局配置裏的內容註釋掉, lvs 配置 註釋掉, 只留 VRRP 配置
&3> Dserver 端配置
PDserver 配置 相同,只是將 MASTER 改爲 BACKUP , (能夠將優先級調低)
3> 測試
#1雙端都啓動keeplived
Dserver端:
PDserver端:
#2查看
Dserver端:
PDserver 端:
#接下來使 Dserver 端 宕掉
#查看 DPserver 端:
#由於Dserver 宕掉了, 因此 vip 發生了漂移, 漂移到了 DPserver 端。 實驗成功!
補充: 上述實驗存在着單點故障,Dserver 端 負載較大, 真實環境中,咱們可使 Dserver 端 與 Sserver 端 成爲 互爲主備,
當客戶端訪問域名的時候,能夠是直接訪問Dserver端,也能夠是直接訪問PDserver端,這樣能夠預防單點故障,減小Dserver 端的
負載,實際配置以下:
Dserver端:
#1
PDserver 端:
#2
#3 雙端 重啓 keepalived
#4 查看
Dserver 端:
PDserver端:
#測試 1 (假設 Dserver 端宕掉了 )
@1
@2查看Dserver端:
vip 漂移了
@3查看PDserver 端:
會發現Dserver 端的vip 漂移到了 PDserver端
# 測試2 ( PDserver 端宕掉了)
@1
@2查看PDserver 端:
@3 查看Dserver端:
PDserver 端 的 vip 漂移到了 Dserver 端
補充:
在宕掉Dserver 端後 ,vip 漂移到了PDserver 端, 然而這時 Dserver端 修好了會發生呢?vip 會回來麼?
&1 測試
Dserver 端 (處於宕掉狀態):
Dserver 端 (處於修好狀態):
這時會發現,ip 又被搶回來了, 這是由於 默認設置的 搶佔模式, 咱們能夠 在配置文件中修改爲非搶佔模式,這樣’它‘的vip 就不會回來了
配置以下:
#
Dserver 端:
憑藉 優先級去分辨 誰是主備 添加 noprempt
#重啓下 keepalived 生效
#宕掉並查看
# 修復好 查看
vip 沒有被搶回來。