keepalived+nginx 脚本自动故障切换
一、keepalived通过脚本监控服务状态
上次谈到keepalived基本配置,下面这部分介绍keepalived使用脚本来检测服务状态。
master 配置

使用脚本检测健康状态

注意script 后需要填写所使用的脚本的绝对路径

实例中启用检测脚本

虚拟服务器配置
1> delay_loop:健康检查时间间隔,单位:秒
2> lb_algo:负载均衡调度算法,互联网应用常用方式为wlc或rr
3> lb_kind:负载均衡转发规则。包括DR、NAT、TUN 3种,一般使用路由(DR)转发规则。
4> persistence_timeout:http服务会话保持时间,单位:秒
5> protocol:转发协议,分为TCP和UDP两种

真实服务器配置,可以配置多个。
1> weight:负载权重,值越大,转发的优先级越高
2> notify_down:服务停止后执行的脚本
3> WEB_CHECK:服务有效性检测
- connect_port:服务连接端口
- connect_timeout:服务连接超时时长,单位:秒
- nb_get_retry:服务连接失败重试次数
- delay_before_retry:重试连接间隔,单位:秒
![image]()
检测脚本
判断nginx状态是否为0,为0则nginx服务停止,立即关闭keepalived服务,使VIP漂移到另一台服务器。
可以自己编写功能更复杂的脚本,例如探测WEB服务某个特定网页的返回状态码等等。


浙公网安备 33010602011771号