centos 7 防止及解決keepalive腦裂現象(主備均有vip)


 

關於ARP信息介紹:
ARP表是一個動態表,存儲在計算機當中,目的是做一個ip地址與mac地址的對應。
假設在同一子網段,計算機A與計算機B通信
      計算機A的ip地址: 192.168.0.11 MAC地址AA-AA-AA-AA-AA-AA
      計算機B的ip地址: 已知192.168.0.12 MAC地址未知
那么計算機A就要發起一個ARP查詢,“誰能告訴我,192.168.0.12的MAC地址是多少?”
很顯然通過交換機的時候,交換機並不能看懂ip地址,所以要廣播這個信息,就把這個查詢信息發到除發送端的其它所有端口。(當然,交換機還要記住192.168.0.11主機的mac地址)
其它所有的計算機看到這個廣播發現目的ip不是自己,就把這個數據丟棄,只有192..168.0.12的計算機B會響應,並發送回執,告訴計算機A,“我是192.168.0.12,我的MAC地址是AA-AA-AA-AA-AA-AB”當通過交換機,交換機記住從計算機B端口過來的MAC地址,並通過已知的A計算機MAC地址,發動到連接計算機A的端口。(此時不再廣播)計算機A與計算機B都知道對方的ip和MAC地址,開始通信。
服務器網絡環境中,因為路由交換層禁用了ARP的廣播限制,造成KEEPALIVE主備協議無法通過廣播的方式進行通信,造成主備兩台服務器都強占HAVIP地址,出現同時兩台服務器都有VIP地址的情況出現,必須通過配置來指定IP的兩台服務器間進行通訊。
 
解決方法:
 
一 防火牆設置:
a) firewalld 開啟vrrp 協議

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT

注釋: eth0 為設備網卡, 224.0.0.18 為vrrp組播地址

firewall-cmd --reload

b)iptables 

master(本地:192.168.0.11)
-A INPUT -i em1 -p vrrp -s 192.168.0.12  -j ACCEPT  #(192.168.0.12 對端IP)
       backup (本地:192.168.0.12)
-A INPUT -i em1 -p vrrp -s 192.168.0.11 -j ACCEPT  #(192.168.1.11 對端IP)

 二 keepalived 來指定IP的兩台服務器間進行通訊。

添加配置如下:
priority 100  ##主服務100 備服務90只要小於100就可以
     unicast_src_ip  192.168.0.11##(本地IP地址)
     unicast_peer {
             192.168.0.12##(對端IP地址)此地址一定不能忘記
                 }
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM