这是我的 MASTER 节点的 keepalived.conf:
vrrp_script chk_test {
script "exit 1"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
priority 200
virtual_router_id 33
unicast_src_ip 100.72.142.152
unicast_peer {
100.72.142.153
}
authentication {
auth_type PASS
auth_pass secret
}
track_script {
chk_test
}
notify_master "/etc/keepalived/recover.sh MASTER"
notify_backup "/etc/keepalived/recover.sh BACKUP"
notify_fault "/etc/keepalived/recover.sh FAULT
}
第二个节点的配置与我的问题无关。据我了解,定义的脚本chk_test
应该每两秒运行一次,如果退出状态不是 0,则notify_fault
应该调用定义的脚本。
正如你所知道的,我的chk_test
脚本只存在于 1 中,但似乎这个脚本从未真正运行过。我只是在这里缺少一些基本的东西吗?
事实证明,这是通过 Ubuntu 14.04 上的 apt-get 存储库提供的 keepalived 的问题。我使用相同的配置文件下载、编译并运行了最新版本的 keepalived,一切运行正常。