#因为 Keepalived 在转换状态时会依照状态来呼叫:
#当进入 Master 状态时会呼叫 notify_master
#当进入 Backup 状态时会呼叫 notify_backup
#当发现异常情况时进入 Fault 状态呼叫 notify_fault
vrrp_instance VI_1 {
state MASTER #指定 keepalived 的角色,MASTER 为主服务器,BACKUP 为备服务器,如果后面指定了 NOPREEMPT 参数,则不生效,主备由 priority 决定
interface ens192 #指定 HA 监测网络的接口,设置实例绑定的网卡 VRRP 心跳包从哪块网卡发出
# dont_track_primary #忽略 vrrp 的 interface 错误(默认不设置)
# track_interface{ #设置额外的监控,里面哪个网卡出现问题都会切换
# eth0
# eth1
# }
# mcast_src_ip #发送多播包的地址,如果不设置默认使用绑定网卡的 primary ip
# garp_master_delay #在切换到 master 状态后,延迟进行 gratuitous ARP 请求
# nopreempt #设置为不抢占 master, 使用将所有节点的 state 都设置成 BACKUP 并且都加上 nopreempt 选项,用于关闭 auto failback 的功能。
# preempt_delay #抢占延时,默认 5 分钟
# debug #debug 级别
virtual_router_id 51 #虚拟路由标识数字,同一个 vrrp 实例使用唯一的标识。即同一 vrrp_instance 下,MASTER 和 BACKUP 必须是一致的
priority 100 #定义优先级大小,高优先级竞选为 master。在同一个 vrrp_instance 下,MASTER 的优先级必须大于 BACKUP 的优先级
advert_int 1 #心跳检查的时间间隔,单位秒(s)。如果 BACKUP 1 秒内收不到 MASTER 心跳就接管
authentication { #设置验证类型和密码
auth_type PASS #设置验证类型,主要有 PASS 和 AH 两种
auth_pass 1111 #设置验证密码,在同一个 vrrp_instance 下,MASTER 与 BACKUP 必须使用相同的密码才能正常通信
}
virtual_ipaddress { #设置虚拟 IP 地址,可以设置多个虚拟 IP 地址,每行一个
172.16.0.88
}
}
virtual_server 172.16.0.88 8066 { #设置虚拟服务器,需要指定虚拟 IP 地址和服务端口,之间用空格隔开
delay_loop 6 #设置运行状况检查时间间隔,单位秒
lb_algo lc #设置 lvs 调度算法 rr|wrr|lc|wlc|lblc|sh|dh,这里设置为 lc,即最少链接调度算法
lb_kind DR #设置 LVS 实现负载均衡的机制,有 NAT、TUN、DR 三个模式可选
persistence_timeout 900 #会话保持的最大无响应超时时间,单位是秒。会话保持期间,用户的请求会被一直分发到某个服务节点。
protocol TCP #指定转发协议类型,有 TCP 和 UDP 两种
评论