keepalived配置:
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
#smtp_server 192.168.200.1
#smtp_connect_timeout 30
router_id $HOSTNAME
#vrrp_skip_check_adv_addr
#vrrp_strict
#vrrp_garp_interval 0
#vrrp_gna_interval 0
}
#check nginx service
vrrp_script chk_nginx_pid {
script "/usr/local/keepalived/chk_nginx.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
#state MASTER
state BACKUP
nopreempt
interface ens160
virtual_router_id 51
mcast_src_ip 192.168.14.157
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass CARMANAGER
}
virtual_ipaddress {
192.168.14.161
}
unicast_src_ip 192.168.14.157
unicast_peer {
192.168.14.158
}
track_script {
chk_nginx_pid
}
}
检测脚本:
先确定一点 你的这个 chk_nginx.sh 里 会先尝试重启 nginx ,如果重启失败了.才会关闭 keepalived,让 keepalived 切换. 你测试过程中,这个重启 nginx 会成功吗?