1.查看日志
tail -f /var/log/messages
發現master和backup機都是mastaer模式啟動的
通過查看別人的經歷,發現VRRP基於報文實現的。master設置一定時間發送一個報文給backup如果backup沒有收到就自己成為master。可推出導致問題的原因是因為backup沒有收到文
所以自己成為了master。
VRRP控制報文只有一種:VRRP通告(advertisement)。它使用IP多播數據包進行封裝,組地址為224.0.0.18,發布范圍只限於同一局域網內。這保證了VRID在不同網絡中可以重復使用。為了減少網絡帶寬消耗只有主控路由器才可以周期性的發送VRRP通告報文。備份路由器在連續三個通告間隔內收不到VRRP或收到優先級為0的通告后啟動新的一輪VRRP選舉。
------------以下轉載別人的博客
centos7安裝keepalived后,不關閉防火牆,虛擬ip不能實現漂移,雙機都為master,不能實現雙機熱備的效果。原因是防火牆中沒有方形vrrp的組播 IP 244.0.0.18。centos7下使用的防火請是firewall,本人不會使用centos7默認的防火牆放行組播IP,所以禁用掉centos7默認的防火牆,使用iptables防火牆。
1、關閉默認的firewall防火牆
#systemctl stop firewalld.service停止firewalld服務
#systemctl disable firewalld.service進制開機自啟動
2、開啟iptables
#yum install iptables(根據centOS7的版本和內核,有些版本已經裝過,可以跳過此命令)
#yum install iptables-services
3、編輯iptables文件
#vim /etc/sysconfig/iptables
在文件中添加一下內容
-A OUTPUT -o eno16777736 -d 224.0.0.18 -j ACCEPT 注解:eno16777736 是網卡名稱
-A OUTPUT -o eno16777736 -s 224.0.0.18 -j ACCEPT
-A INPUT -i eno16777736 -d 224.0.0.18 -j ACCEPT
-A INPUT -i eno16777736 -s 224.0.0.18 -j ACCEPT
4、開啟服務,設置開機自啟動
#service iptables restart
#chkconfig iptables on或者systemctl enable iptables.service開機自啟
此時就能實現虛擬ip的漂移,當master(keepalived)掛掉時,虛擬ip會漂移到backup(keepalived)上,master啟動后虛擬ip又飄逸回來。
---------------------
原作者:王旭光
來源:CSDN
原文:https://blog.csdn.net/qq_25331821/article/details/54602143