企業 keepalived 高可用項目實戰

keepalived是什麼
keepalived是集羣管理中保證集羣高可用的一個服務軟件,用來防止單點故障。

keepalived工作原理
keepalived是以VRRP協議爲實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗餘協議。

虛擬路由冗餘協議,可以認爲是實現高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組,這個組裏面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內其他機器的默認路由爲該vip),master會發組播,當backup收不到vrrp包時就認爲master宕掉了,這時就需要根據VRRP的優先級來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。

keepalived主要有三個模塊,分別是core、check和vrrp。core模塊爲keepalived的核心,負責主進程的啓動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的。

腦裂(裂腦):
Keepalived的BACKUP主機在收到不MASTER主機報文後就會切換成爲master,如果是它們之間的通信線路出現問題,無法接收到彼此的組播通知,但是兩個節點實際都處於正常工作狀態,這時兩個節點均爲master強行綁定虛擬IP,導致不可預料的後果,這就是腦裂。
解決方式:
1、添加更多的檢測手段,比如冗餘的心跳線(兩塊網卡做健康監測),ping對方等等。儘量減少"裂腦"發生機會。(指標不治本,只是提高了檢測到的概率);
2、做好對裂腦的監控報警(如郵件及手機短信等或值班).在問題發生時人爲第一時間介入仲裁,降低損失。例如,百度的監控報警短倍就有上行和下行的區別。報警消息發送到管理員手機上,管理員可以通過手機回覆對應數字或簡單的字符串操作返回給服務器.讓服務器根據指令自動處理相應故障,這樣解決故障的時間更短.
3、爆頭,將master停掉。然後檢查機器之間的防火牆。網絡之間的通信

2、Nginx+keepalived實現七層的負載均衡
3、LVS_Director + KeepAlived
4、MySQL+Keepalived
5、Haproxy+keepalived

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