keepalived 腦裂問題刨析解決

首先,來講下什麼是腦裂nginx

腦裂:顧名思義就是腦殼炸裂,也就是左腦、右腦同時強制大腦資源,致使大腦不能正常工做,而左腦和右腦都認爲對方損壞,而搶佔資源。centos

再來講,Keepalived 腦裂服務器

Keepalived 腦裂:在設置了虛擬VIP時,KEP會設置Master Backup 權值不一樣,雖然分主備可是在實際運行中,若是權值相同則會不分MB,從ip addr 看到的結果 雙 IP同時搶佔VIP 導致 kep只能給權值大的那一方。網絡

原理分析:測試

首先來講kep的原理是利用網絡vrrp協議來進行心跳判斷故障的。那麼基礎環境必須支持VRRP,基礎環境採用的是centos7.2 系統 防火牆爲 firewall ,兩個主備服務器經過心跳nginx線程是否激活判斷故障,經過日誌分析,抓包得知,主服務器掛掉時,會發送VRRP數據包給備用服務器,可是被對方防火牆攔截。centos7

解決問題:線程

經過查看firewall官方文檔得知,firewall默認拒絕VRRP包,默認攔截,這就很差玩了,也是問題的主要緣由!日誌

firewall-cmd –direct –permanent –add-rule ipv4 filter INPUT 0 –protocol vrrp -j ACCEPTip

咱們經過firewallcmd永久開啓 對與ipv4的 vrrp 爲 容許 ,主備服務器都要開啓。資源

測試:

同時開KEP M權值 3 S權值 2 VIP默認給M ipaddr 查看 S已經沒有虛擬VIP了 !

測試成功!

總結:

從原理出發,不能鑽牛角,基礎環境要具有協議流通。

相關文章
相關標籤/搜索