启动keepalived总是有warning,脚本不生效:
Keepalived_vrrp[10802]: Warning - script chk_ping is not used
Keepalived配置文件:
global_defs {
enable_script_security
script_user root
}
vrrp_instance VI_1 {
state BACKUP
interface vxlan0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.121.1.200/24
}
track_script {
chk_ping
}
notify "/root/notify.sh"
}
vrrp_script chk_ping {
script "/root/chk_ping.sh"
interval 10
weight -1
fall 2
rise 2
}
排查了好久也没找到原因,最后竟然是因为vrrp_script的声明写到了使用之后,类似C语言的函数声明必须要在使用之前,不得不说keepalived确实像上个时代的产物。。。
修改之后的脚本
global_defs {
enable_script_security
script_user root
}
vrrp_script chk_ping {
script "/root/chk_ping.sh"
interval 10
weight -1
fall 2
rise 2
}
vrrp_instance VI_1 {
state BACKUP
interface vxlan0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.121.1.200/24
}
track_script {
chk_ping
}
notify "/root/notify.sh"
}