0

我正在尝试以这样一种方式配置keepalived,即如果在主节点上运行的任何应用程序或服务发生故障,keepalived 应将其视为故障,备份节点应充当主节点并从主节点接管浮动IP。

我编写了一个脚本来检查主服务器上的服务 X 是否关闭,然后它应该转换到备份节点。

我的keepalived conf是:

global_defs {
enable_script_security
}
vrrp_script keepalived_check {
script "/root/new/check.sh"
interval 1
timeout 1
rise 2
fall 2
weight 0 reverse
}
vrrp_instance V1_11 {
state MASTER
interface ens3
virtual_router_id 51
priority 101
advert_int 1
unicast_src_ip 192.168.10.129
unicast_peer {
    192.168.10.130
}
authentication {
    auth_type PASS
    auth_pass 1122
}
virtual_ipaddress {
    192.168.10.231/24
}
track_script {
    keepalived_check
}
}

检查服务状态的脚本:

#!/bin/bash
var="$(systemctl is-active myservice.service)"

if [ $var == "active" ]
then
    echo 0
else
    echo 5
fi

我使用手动停止了“myservice”

systemctl stop myservice.service

正如预期的那样,脚本的输出是“5”。但是通过上述配置,主节点仍然是主节点,它不会将所有权转移到备份节点。是否有任何我错过的特定配置然后请帮我找到它?

4

0 回答 0