因此,我在两台服务器上运行keepalived,但无法将其故障转移到另一台服务器。
下面,我对其中一台服务器进行配置。两者之间的唯一区别是优先级数字主机为110,优先级为109。
但是,当我使用/etc/init.d/process stop停止我的进程时,keepalived不会故障转移。我只是得到了VRRP_Script(chk_script)失败而已。没有故障转移或什么都没有。
vrrp_script chk_script {
script "/usr/local/bin/failover.sh"
interval 2
weight 2
}
vrrp_instance HAInstance {
state BACKUP
interface eth0
virtual_router_id 8
priority 109
advert_int 1
nopreempt
vrrp_unicast_bind 10.10.10.8
vrrp_unicast_peer 10.10.10.9
virtual_ipaddress {
10.10.10.10/16 dev eth0
}
notify /usr/local/bin/keepalivednotify.sh
track_script {
chk_script weight 20
}
}
这是我的下面的chk_script。当我执行killall -0进程作为脚本时,也会发生相同的问题。
!/bin/bash
SERVICE='process'
STATUS=$(ps ax | grep -v grep | grep $SERVICE)
if [ "$STATUS" != "" ]
then
exit 0
else
exit 1
fi
有谁知道解决办法?谢谢。