主要是nginx检查脚本的问题
1.keepalived 配置的检查脚本死活不执行 查看脚本语法没问题 单独执行脚本也没问题
但是他就是不执行
查了好久 还是看官网文档介绍才知道
vrrp _script_nginx 必须在 vrrp_instance_VL1 前面
血的教训
2.
脚本是执行了 但是 但是 但是 tm的只执行一部分 就是说 当我把nginx服务关闭 通过nginx健康检查能自动开启服务 但是当我故意错误更改nginx配置文件 使其不能通过脚本重启 本该紧接着关闭keepalived服务 好完成故障转移 但是他就是不执行 找愿意 查资料 查日志 查语法 查配置 查。。。 很多 没问题啊
最终找到答案了
我的keepalived配置文件 nginx脚本检查的频率是interval 2 但是 脚本停歇间隔sleep 10 也即是说每次脚本要去检查了 遇到脚本在sleep(10s) 过了2秒 重新执行脚本 还是在sleep 永远到不了关闭keepalived 程序这一步 头疼
得出结论:
1.vrrp _script_nginx 必须在 vrrp_instance_VL1 前面(不要随便复制粘贴)
2.interval 时间 要大于 sleep时间即可(数值设定要考量好)
3.干it 费头发