美文网首页
解决keepalived服务无法生成VIP故障

解决keepalived服务无法生成VIP故障

作者: 阿乐_822e | 来源:发表于2021-11-24 12:45 被阅读0次

    两台机器192.168.171.124/192.168.171.125
    VIP:192.168.171.123

    [MYSQL-MS00 ~]# ip a |grep 171
        inet 192.168.171.124/24 brd 192.168.171.255 scope global noprefixroute ens32
        inet 192.168.171.123/32 scope global ens32
    [MYSQL-MS01 ~]# ip a |grep 171
        inet 192.168.171.125/24 brd 192.168.171.255 scope global noprefixroute ens32
    

    此时VIP在MS00机器上,当重启MS00的keepalived服务或者重启MS00机器后,VIP可以正常地漂移到MS01上

    但在测试中发现一个意外情况: VIP在MS00机器上时,如果停用MS00的网卡,则VIP无法正常地漂移到MS01上,或者说,MS01无法成功生成vip

    [MYSQL-MS00 ~]# service network stop
    Stopping network (via systemctl):  
    
    [MYSQL-MS01 ~]# ip a |grep 171  # MS01未获取VIP
        inet 192.168.171.125/24 brd 192.168.171.255 scope global noprefixroute ens32
    

    之后,即使是启动MS00的网卡,并且重启两台机上的keepalived服务,都无法正常生成VIP,查看日志也没有显示任何报错。

    最后,检查MS00的arp列表,发现在MS00机上有VIP的条目

    [MYSQL-MS00 ~]$ arp | grep 123
    Address                  HWtype  HWaddress           Flags Mask            Iface
    192.168.171.123                  (incomplete)                              ens32
    

    删除这条记录后,再重启keepalived服务就可以正常地绑定VIP了

    [MYSQL-MS00 ~]$ arp -d 192.168.171.123 
    [MYSQL-MS00 ~]$ service keepalived restart
    Redirecting to /bin/systemctl restart keepalived.service
    [MYSQL-MS00 ~]# ip a |grep 171 # VIP已经生成了
        inet 192.168.171.124/24 brd 192.168.171.255 scope global noprefixroute ens32
        inet 192.168.171.123/32 scope global ens32
    

    至此,故障解决。另外要注意地是,如果删除了MS00上的条目后还是无法成功获取VIP,这时要再去MS01上检查一下arp列表,如果存在VIP,则也将它删除。
    具体原因,有时间再慢慢查了。

    相关文章

      网友评论

          本文标题:解决keepalived服务无法生成VIP故障

          本文链接:https://www.haomeiwen.com/subject/nmyntrtx.html