将 IP 地址添加到 keepalived 的正确方法是什么vrrp_instance
,而不会让 IP 暂时丢失或掉线?
答案1
简单地killall -HUP keepalived
然而,它必须在所有服务器上大致同时完成,因为有 VRRP 的 IP 计数传输。(“接收与 VRID 关联的无效 IP 号码计数”)
答案2
这可能不是您想听到的答案,因为我认为它有点含糊其辞,但我想与您分享一个想法(因为我不相信有任何支持的方法可以做到这一点,即让正在运行的进程重新keepalived
加载其配置)。
您可以使用 CLI 手动将 IP 添加到keepalived
VRRP 主服务器上的接口,因此假设 server1 eth1 是 192.168.0.1 而 server2 eth1 是 192.168.0.2,并且它们都有 192.168.0.254 keepalived
。在 server1 上;
sudo ip a a 192.168.0.253/24 dev eth1
主服务器现在有额外的 IP。
在 server2 上,更改配置keepalived
,添加新的 IP,并按照以下说明将其添加到 virtual_ipaddress_excluded 下此 SF 查询。
现在keepalived
在备份服务器 server2 上反弹进程。
现在将 IP 添加到 server1 keepalived
confif 中,但不要重启守护进程,因为这会导致停机。如果/当有一天您的主keepalived
服务器进入故障转移状态并且 server2 成为主服务器时,重启keepalived
server1 然后重新加载配置(假设您没有使用抢占,server1 现在将等待再次成为主服务器,并且两个服务器都配置了新的 IP)。
这是我能想到的唯一方法。如果有人有这样的方法,我想听听如何让正在运行的程序keepalived
重新加载其配置。