问题现象
最近在测两台双机热备,明明配置的是非抢占模式,但是每次主down后,VIP可以漂到备机,但是主机重新启动后,VIP又漂回到主机上
问题排查,详细看了一遍两台keepalived的配置文件
主机:
vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 67
priority 100
nopreempt
advert_int 1
备机 :
vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 67
priority 90
nopreempt
advert_int 1
认真查看了一下两个配置文件也没发现什么问题,同时为了防止virtual_router_id冲突问题,换了几个VIP还是同样的现象
最后发现,主上的防火墙开启状态,而备上的防火墙是关闭状态,这样vrrp包就只能从主到备,备不能到主了,而且主的优先级高,每次启动的时候又把vip抢回去了,关闭两台防火墙即解决问题
小结一下
遇到这种非抢占模式不成功的问题一般是两个原因导致的:
1、virtual_router_id冲突
2、防火墙未关闭问题
防火墙设置vrrp包通过
firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent
加载立即生效
firewall-cmd --reload
查看是否配置成功
firewall-cmd --zone=public --list-rich-rules