keepalived master恢复后无法回收虚拟IP

keepalived master恢复后无法回收虚拟IP

脚步

  1. 启动主服务器和从服务器
  2. 继续 ping 虚拟 IP(即192.168.10.100
  3. 关机主机
  4. 从机进入主机状态
  5. 重启 master
  6. Slave进入BACKUP状态,Master进入MASTER状态

第 6 步之后,Ping 不起作用。没有服务器获取虚拟 IP。(我已检查ip addr show eth1

直到我重新启动keepalived服务,Master才能取回虚拟ip。

如何让master在不重启服务的情况下获取虚拟ip?

Keepalived配置:

host1(主)

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret
    }
    virtual_ipaddress {
        192.168.10.100
    }
}

主机2(从属)

vrrp_instance VI_1 {
    state BACKUP
    interface eth1
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass secret
    }
    virtual_ipaddress {
        192.168.10.100
    }
}

答案1

你的配置和我使用的配置唯一不同的是,我有

virtual_ipaddress { <ip> dev <devname> }

这可能不是严格必要的,但这是我所能看到的与已知工作设置的唯一区别。

答案2

您可以在这里找到解释: https://github.com/acassen/keepalived/blob/317555e304372205cf634f252e72c5b6de0eb1b6/doc/man/man5/keepalived.conf.5

对于选举 MASTER,优先级最高的获胜。要成为 MASTER,请执行以下操作50比其他机器更多。

主服务器和备份服务器优先级之间的差值为 101-100=1。该值必须至少为 50。将主服务器优先级从 101 更改为 100,将备份服务器优先级从 100 更改为 50。

相关内容