我有一个应用程序,需要 2 台服务器使用在特定网络上运行 VRRP 的 keepalived 来协调它们的服务,每个服务器都有一个接口。我希望 VRRP 流量是单播的,并且每个服务器都使用(并期望另一台服务器使用)各自的 IP 地址。
我有时会看到一个问题,即在启动时,一台服务器在相关接口获取其地址之前启动 keepalived 服务。在这种情况下,keepalived 有时会开始使用另一个接口的 IP 地址发送 VRRP 通告。对等服务器拒绝这些通告,因为它无法识别发送这些通告的源 IP。两台服务器都继续认为自己是主服务器。
我希望 keepalived 服务能够等到接口获取其 IP - 这最终总会发生,并且获取的 IP 总是可预测的相同(并在下面的配置文件中使用)。
我在 .conf 文件中包含了相关的接口和 IP 地址。我还按照其他一些用户的建议添加了“dynamic_interfaces”。两者都不可靠。
keepalived.conf文件如下所示:(使用keepalived版本2.0.10)
global_defs
{
enable_script_security
script_user root
disable_local_igmp
dynamic_interfaces
notify_fifo /etc/keepalived/keepalived_fifo
notify_fifo_script /tmp/.keepalived/keepalived-notify.sh
}
vrrp_instance HA_Primary {
状态主接口 eth0
虚拟路由器 ID 55
优先级 100 garp_master_delay 5 advert_int 1.0
抢占延迟 0
跟踪接口 {
eth1
}
单播源 IP 25.0.0.1
单播对等体 {
25.0.0.2
}
}