之前配置好的keepalive,在后来测试过程中发现关闭keepalive重新启动时日志会报以下错误:
Jul 1 14:47:13 frontend1 Keepalived_vrrp[112938]: bogus VRRP packet received on ens160 !!!
Jul 1 14:47:13 frontend1 Keepalived_vrrp[112938]: VRRP_Instance(VI_1) Dropping received VRRP packet...
Jul 1 14:47:14 frontend1 Keepalived_vrrp[112938]: (VI_1): ip address associated with VRID 51 not present in MASTER advert : 10.12.50.198
Jul 1 14:47:14 frontend1 Keepalived_vrrp[112938]: bogus VRRP packet received on ens160 !!!
Jul 1 14:47:14 frontend1 Keepalived_vrrp[112938]: VRRP_Instance(VI_1) Dropping received VRRP packet...
Jul 1 14:47:15 frontend1 Keepalived_vrrp[112938]: (VI_1): ip address associated with VRID 51 not present in MASTER advert : 10.12.50.198
Jul 1 14:47:15 frontend1 Keepalived_vrrp[112938]: bogus VRRP packet received on ens160 !!!
Jul 1 14:47:15 frontend1 Keepalived_vrrp[112938]: VRRP_Instance(VI_1) Dropping received VRRP packet...
Jul 1 14:47:16 frontend1 Keepalived_vrrp[112938]: (VI_1): ip address associated with VRID 51 not present in MASTER advert : 10.12.50.198
查阅资料折腾了一番后,可能是keepalive master的virtual_router_id和局域网内的其它的keepalive master的virtual_router_id有冲突,修改 /etc/keepalived/keepalived.conf 配置文件里的 virtual_router_id 51 为其它数值后,启动keepalive后日志不再报错。
需要注意的是,从节点的keepalive的virtual_router_id是需要和主节点的virtual_router_id 保持一致的,不然的话,两个keepalive节点貌似都是以master的身份工作,不过测试了下,这样两个主的keeplive貌似也是能起到 虚拟ip 高可用的作用,只不过两个keeplive单独起作用而已,虚拟ip会路由带后启动的keeplive 的节点上。
以上是自己的测试结果,如有不对欢迎留言。