vrrp,virtual router redundancy protocol,中文名為虛擬路由冗餘協議,vrrp的出現就是為了解決靜態路由的單點故障問題,vrrp是通過一種競選機制來將路由的任務交給某台vrrp路由器的。
keepalived高可用對之間是通過vrrp通訊的,因此,從vrrp開始講起:
vrrp,全稱virtual router redundancy protocol,中文名為虛擬路由冗餘協議,vrrp的出現是為了解決靜態路由的單點故障。
vrrp是通過一種競選協議機制來將路由任務交給某台vrrp路由器的。
vrrp用ip多播的方式(預設多播位址(224.0.0.18))實現高可用對之間通訊。
工作時主節點發包,備節點接包,當備節點接收不到主節點發的資料報的時候,就啟動接管程式接管主節點的資源。備節點可以有多個,通過優先順序競選,但一般keepalived系統運維工作中都是一對。
vrrp使用了加密協議加密資料,但keepalived官方目前還是推薦用明文的方式配置認證型別和密碼。
介紹完了vrrp,接下來介紹一下keepalived服務的工作原理:
它是通過競選機制來確定主備的,主的優先順序高於備,因此,工作時主會優先獲得所有的資源,備節點處於等待狀態,當主掛了的時候,備節點就會接管主節點的資源,然後頂替主節點對外提供服務。
在keepalived服務對之間,只有作為主的伺服器會一直傳送vrrp廣播包,告訴備它還活著,此時備用伺服器不會搶占主,當主伺服器不可用時,即備用伺服器監聽不到主伺服器傳送的廣播包時,就會啟動相關服務接管資源,保證業務的連續性。接管速度最快可以小於1秒。
由於某些原因,導致兩台高可用伺服器對在指定時間內,無法檢測到對方的心跳訊息,各自取得資源及服務的所有權,而此時的兩台高可用伺服器對都還活著並在正常執行,這樣就會導致同乙個ip或服務在兩端同時存在而發生衝突,最嚴重的是兩台主機占用同一vip(虛擬ip)位址,使用者寫入資料時可能會分別寫入到兩端,這可能會導致伺服器兩端資料不一致或造成資料丟失,這種情況就被稱為裂腦。
一般來說,裂腦的發生,有以下幾種原因:
高可用伺服器對之間心跳線鏈路發生故障,導致無法正常通訊。
心跳線壞了(包括斷了,老化)。
網絡卡及相關驅動壞了,ip配置及衝突問題(網絡卡直連)。
心跳線間連線的裝置故障(網絡卡及交換機)。
仲裁的機器出問題(採用仲裁的方案)。
高可用伺服器上開啟了iptables防火牆阻擋了心跳訊息傳輸。
高可用伺服器上心跳網絡卡位址等資訊配置不正確,導致傳送心跳失敗。
其他服務配置不當等原因,如心跳方式不同,心跳廣播衝突、軟體bug等。
keepalived配置裡同一vrrp例項如果vir-tual_router_id兩端引數配置不一致,也會導致裂腦問題發生。
裂腦解決方案
同時使用序列電纜和乙太網電纜連線,同時用兩條心跳線路,這樣一條線路壞了,另乙個還是好的,依然能傳送心跳訊息。
當檢測到裂腦時強行關閉乙個心跳節點(這個功能需特殊裝置支援,如stonith、fence)。相當於備節點接收不到心跳訊息,通過單獨的線路傳送關機命令關閉主節點的電源。
作為網際網路應用伺服器的高可用,特別是前端web負載均衡器的高可用,裂腦的問題對普通業務的影響是可以忍受的,如果是資料庫或者儲存的業務,一般出現裂腦問題就非常嚴重了。因此,可以通過增加冗餘心跳線路來避免裂腦問題的發生,同時加強對系統的監控,以便裂腦發生時人為快速介入解決問題。
如果開啟防火牆,一定要讓心跳訊息通過,一般通過允許ip段的形式解決。
可以拉一條乙太網網線或者串列埠線作為主被節點心跳線路的冗餘。
開發監測程式通過監控軟體(例如nagios)監測裂腦。
下面是生產場景檢測裂腦故障的一些思路:
1)簡單判斷的思想:只要備節點出現vip就報警,這個報警有兩種情況,一是主機宕機了備機接管了;二是主機沒宕,裂腦了。不管屬於哪個情況,都進行報警,然後由人工檢視判斷及解決。
2)比較嚴謹的判斷:備節點出現對應vip,並且主節點及對應服務(如果能遠端連線主節點看是否有vip就更好了)還活著,就說明發生裂腦了。
vrrp 虛擬冗餘路由協議
vrrp 虛擬冗餘路由協議 介紹 vrrp 虛擬冗餘路由協議是非cisco裝置所有的一種路由備份協議,用來保證鏈路的穩定,保證鏈路可以備份的作用,vrrpl是一種容錯協議。通常,乙個網路內的所有主機 都設定一條預設路由 這樣,主機 發出的目的位址不在本網段的報文將被通過預設路由發往路由器router...
VRRP 虛擬路由冗餘協議
1.什麼是vrrp?它的原理是什麼?vrrp 虛擬路由冗餘協議 它能夠在不改變組網的情況下,將多台路由器虛擬成乙個虛擬路由器,通過配置虛擬路由器的ip位址為預設閘道器,實現閘道器的備份。2.vrrp有什麼實際作用?它既可以實現閘道器的備份,又能解決多個閘道器之間互相衝突的問題.3.虛擬路由器有什麼標...
虛擬路由冗餘協議VRRP
一 vrrp簡介 虛擬路由冗餘協議vrrp virtual router redundancy protocol 通過把幾台路由裝置聯合組成一台虛擬的路由裝置,將虛擬路由裝置的ip位址作為使用者的預設閘道器實現與外部網路通訊。當閘道器裝置發生故障時,vrrp機制能夠選舉新的閘道器裝置承擔資料流量,從...