linux脚本vrrp_script,linux – keepalived VRRP_script没有失败

我有完全相同的问题,但我的问题不在防火墙或我的以太网适配器,而是在检查脚本的“重量”设置.

这是我的配置:

主:

vrrp_instance haproxy {

state MASTER

interface eth0

virtual_router_id 51

priority 150

advert_int 1

备份:

vrrp_instance haproxy {

state BACKUP

interface eth0

virtual_router_id 51

priority 100

advert_int 1

Check_script:

vrrp_script chk_haproxy {

script "python /root/ha_check.py"

interval 2 # check every 2 seconds

weight 2

rise 2

fall 2

}

主人拒绝释放VIP的原因是因为尽管脚本失败了,但主人仍然从BACKUP服务器获得更高的优先级.发生这种情况是因为check_script上的“权重”设置不足以覆盖优先级编号之间的“GAP”,这意味着将BACKUP服务器的优先级数字提高到MASTER Server的优先级数.我会进一步解释:

根据keepalived手册,“权重”设置中的正数将在检查成功时将该数字添加到优先级.

如果检查失败,负数将从优先级编号中减去该编号.

所以,根据我的配置:

服务器优先级脚本先前失败:

大师:152

备份:100

Failover_IP:MASTER

故障转移ip被主服务器正确“抓取”,因为Master与备份服务器相比具有更高的优先级(152> 100)

服务器优先级在脚本失败后:

MASTER服务器:148

备份服务器:102

Failover_IP:仍然是MASTER

故障转移ip仍然在主服务器上,因为与BACKUP(148> 102)相比,Master再次具有更高的优先级. MASTER服务器拒绝发布IP,因为他的优先级高于其他服务器.

我的情况的解决方案是:

解决方案-1:更改两台服务器的优先级数,使它们没有太多的“GAP”.

例如:

优先级:150

备份优先级:149

Check_script权重:原样(2).

通过上面的配置,当脚本成功(意味着一切正常)时,优先级将是:

师父:152

备份:149

IP_Location:On Master(152> 149)

脚本失败时:

师父:150

备份:151

IP_Location:备份时(151> 150)

解决方案 – 2:将脚本的重量编号从2更改为-60

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值