这是我的 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,但是似乎这个脚本从未真正运行过。我是不是错过了一些基本的东西?
答案1
事实证明,这是 Ubuntu 14.04 上通过 apt-get repos 提供的 keepalived 的问题。我下载、编译并运行了最新版本的 keepalived,配置文件相同,一切运行正常。