KeepAlived与HAProxy主备架构中VIP重复出现问题求助
KeepAlived与HAProxy主备架构中VIP重复出现问题求助
各位大佬好,最近遇到个挺闹心的问题,想请大家帮忙分析下:
环境信息
- Linux发行版:CentOS 9 Stream
- HAProxy版本:HAProxy version 2.4.22-f8e3218
- KeepAlived版本:Keepalived v2.2.8 (04/04,2023)
我用KeepAlived做主备模式来保护两台HAProxy负载均衡器,按照我的理解,VIP应该只会出现在一台机器上——主节点在线时在主节点,主节点故障时切换到备节点,主节点恢复后再切回去。但现在的情况是主备两台机器上同时存在VIP 192.168.1.20,虽然主节点故障时切换能正常工作,主节点恢复后业务也没受影响,但这个状态肯定不对,总觉得配置哪里有问题,心里不踏实。
当前节点IP状态
- 主节点执行
sudo ip a | grep ens192的输出:
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.1.17/24 brd 192.168.1.255 scope global noprefixroute ens192 **inet 192.168.1.20/32** scope global ens192
- 备节点执行
sudo ip a | grep ens192的输出:
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.1.19/24 brd 192.168.1.255 scope global noprefixroute ens192 **inet 192.168.1.20/32** scope global ens192
主节点KeepAlived配置
global_defs { router_id LB-01 } vrrp_script haproxy { script "killall -0 haproxy" interval 2 weight 2 } vrrp_instance 50 { virtual_router_id 50 advert_int 1 priority 150 state MASTER interface ens192 virtual_ipaddress { 192.168.1.20 } track_script { haproxy } }
备节点KeepAlived配置
global_defs { router_id LB-02 } vrrp_script haproxy { script "killall -0 haproxy" interval 2 weight 2 } vrrp_instance 50 { virtual_router_id 50 advert_int 1 priority 50 state BACKUP interface ens192 virtual_ipaddress { 192.168.1.20 } track_script { haproxy } }
我之前看到过有说法说主备的priority值得相差50以上,现在我设的主节点150、备节点50,差了100,应该满足要求;而且两边的virtual_router_id都是50,是一致的。实在搞不懂为啥会出现双VIP的情况,有没有大佬能给分析下可能的原因,或者提供下排查方向?
备注:内容来源于stack exchange,提问作者Chelle-Belle
相关产品推荐
相关产品推荐

