得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述Keepalived VRRP-Script抢占延迟VIP单播详解相关的知识,希望能为你提供帮助。
vrrp_script:自定义资源监控脚本,vrrp实例根据脚本返回值,公共定义,可被多个实例调用,定义在vrrp实例之外的独立配置块,一般放在global_defs设置块之后。
vrrp_script <
SCRIPT_NAME>
script <
STRING>
|<
QUOTED-STRING>
#此脚本返回值为非0时,会触发下面OPTIONS执行
OPTIONS
通常此脚本用于监控指定应用的状态。一旦发现应用的状态异常,则触发对MASTER节点的权重减至低于SLAVE节点,从而实现 VIP 切换到 SLAVE 节点
调用脚本
track_script:调用vrrp_script定义的脚本去监控资源,定义在VRRP实例之内,调用事先定义的vrrp_script
track_script
SCRIPT_NAME_1
SCRIPT_NAME_2
定义 VRRP script
vrrp_script <
SCRIPT_NAME>
#定义一个检测脚本,在global_defs 之外配置
script <
STRING>
|<
QUOTED-STRING>
#shell命令或脚本路径
interval <
INTEGER>
#间隔时间,单位为秒,默认1秒
timeout <
INTEGER>
#超时时间
weight <
INTEGER:-254..254>
#默认为0,如果设置此值为负数,当上面脚本返回值为非0时,会将此值与本节点权重相加可以降低本节点权重,即表示fall. 如果是正数,当脚本返回值为0,会将此值与本节点权重相加可以提高本节点权重,即表示 rise.通常使用负值
fall <
INTEGER>
#执行脚本连续几次都失败,则转换为失败,建议设为2以上
rise <
INTEGER>
#执行脚本连续几次都成功,把服务器从失败标记为成功
user USERNAME [GROUPNAME] #执行监测脚本的用户或组
init_fail #设置默认标记为失败状态,监测成功之后再转换为成功状态
调用 VRRP script
vrrp_instance VI_1
…
track_script
chk_down
抢占延迟模式 preempt_delay 【Keepalived VRRP-Script抢占延迟VIP单播详解】抢占延迟模式,即优先级高的主机恢复后,不会立即抢回VIP,而是延迟一段时间(默认300s)再抢回VIP
preempt_delay # #指定抢占延迟时间为#s,默认延迟300s
注意:需要各keepalived服务器state为BACKUP,并且不要启用 vrrp_strict
范例:
#ha1主机配置
vrrp_instance VI_1
state BACKUP #都为BACKUP
interface eth0
virtual_router_id 66
priority 100 #优先级高
advert_int 1
preempt_delay 60 #抢占延迟模式,默认延迟300s
#ha2主机配置
vrrp_instance VI_1
state BACKUP #都为BACKUP
interface eth0
virtual_router_id 66
priority 80 #优先级低
advert_int 1
VIP单播配置 默认keepalived主机之间利用多播相互通告消息,会造成网络拥塞,可以替换成单播,减少网络流量
#在所有节点vrrp_instance语句块中设置对方主机的IP,建议设置为专用于对应心跳线网络的地址,而非使用业务网络
unicast_src_ip <
IPADDR>
#指定发送单播的源IP
unicast_peer
<
IPADDR>
#指定接收单播的对方目标主机IP
......
推荐阅读
- 06-docker系列-使用dockerfile构建nginxredis镜像
- Keepalived+Nginx负载均衡+web实验
- Linux 练习
- ansible 使用方法详解
- Linux环境监控工具汇总
- sftp连接不上服务器#yyds干货盘点#
- nginx安装
- #yyds干货盘点#Prometheus 之服务发现介绍
- yum提示Error rpmdb open failed错误的解决办法#yyds干货盘点#