有两台负载均衡,lb01,lb02. lb02, priority值为100
编辑keepalived配置文件 vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs { router_id lb01 #定义节点名称,在一个高可用集群中不能重复 } vrrp_script check_web { script "/server/scripts/check_web.sh" interval 2 weight 20 #正数时 } vrrp_instance oldboy { #定义族群名字 state MASTER #定义主备信息注释 (MASTER BACKUP) interface eth0 #指定VIP地址,在哪个网卡生成 virtual_router_id 51 #标识 priority 90 #优先级越高越有可能成为主 advert_int 1 #发送组播包间隔时间 224.0.0.18 authentication { #认证,为明文认证 auth_type PASS auth_pass 12345 } virtual_ipaddress { 10.0.0.3 } track_script { check_web } }
编写脚本文件vim /server/scripts/check_web.sh
#!/bin/bash nginx_count=`ps -ef|grep -c [n]ginx` if [ $nginx_count -ge 2 ] #判断 nginx进程数大于等于2是为真 then #为了让逻辑不那么绕,采用判断结果为真,exit 就为真的方式,更好的理解weight正负值 exit 0 else exit 1 fi
weight 为正数时
nginx服务启动 脚本结果为真 ,故 priority+weight 为最终优先级数
nginx服务故障 脚本结果为假 ,故 priority 为最终优先级数
weight 为负数时
nginx服务启动 脚本结果为真 ,故 priority 为最终优先级数
nginx服务故障 脚本结果为假 ,故 priority+weight 为最终优先级数
图片所有权为老男孩所有,侵权请联系删除.
原文地址:https://www.cnblogs.com/snuglove/p/10433481.html
时间: 2024-10-02 17:11:20