keepalived weight正负值问题(实现主服务器nginx故障后迅速切换到备服务器)

时间:2023-03-09 20:32:34
keepalived  weight正负值问题(实现主服务器nginx故障后迅速切换到备服务器)

有两台负载均衡,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 ] #判断 nginx进程数大于等于2是为真
then #为了让逻辑不那么绕,采用判断结果为真,exit 就为真的方式,更好的理解weight正负值
exit 0
else
exit fi

weight 为正数时

nginx服务启动  脚本结果为真  ,故  priority+weight 为最终优先级数

nginx服务故障  脚本结果为假  ,故  priority    为最终优先级数

weight 为负数时

nginx服务启动  脚本结果为真  ,故  priority   为最终优先级数

nginx服务故障  脚本结果为假  ,故  priority+weight    为最终优先级数

keepalived  weight正负值问题(实现主服务器nginx故障后迅速切换到备服务器)图片所有权为老男孩所有,侵权请联系删除.