keepalived配置非抢占模式(默认是抢占模式,需要自己配置为非抢占模式)
keepalive配置抢占模式就是:当keepalived的master节点服务器挂了之后vip漂移到了备节点,当主节点恢复后主动将vip再次抢回来。
keepalived默认就是抢占模式。
可以看的出来,抢占模式实现了两次vip的漂移,如果在业务场景中我们觉得第二次的vip漂移会主节点是多余的,那么我们可以将keepalived配置非抢占模式;
非抢占式:
master故障--->backup顶上--->master恢复不抢占vip--->backup拥有vip继续工作
非抢占式配置:
1、两个节点的state都必须配置为BACKUP(官方建议)
2、两个节点都在vrrp_instance中添加nopreempt参数(其实优先级高的配置nopreempt参数即可)
3、其中一个节点的优先级必须要高于另外一个节点的优先级。
两台服务器都启用nopreempt后,必须修改角色状态统一为BACKUP,唯一的区分就是优先级。
官方对nopreempt参数解释:高优先级VRRP实例通常会抢占低优先级VRRP实例,
"nopreempt"参数将停止优先级更高的机器在抢占vip,并允许较低优先级的机器保持为master。
注意:要使nopreempt参数起作用,初始状态不能是MASTER。
配置非抢占模式的Keepalived
#配置一个优先级高的节点,同时使用nopreempt参数定义为非抢占模式
[root@master~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LB1 #keepalived服务器的路由标识,用于标识机器的,默认值是主机名
vrrp_skip_check_adv_addr #保持默认参数
vrrp_strict #保持默认参数
vrrp_garp_interval 0 #保持默认参数
vrrp_gna_interval 0 #保持默认参数
}
vrrp_instance VI_1 {
#VT_1是实例名,可以自定义,建议主备的实例名保持一致,让人一眼就知道这两个是一对的
state BACKUP #配置为BACKUP,因为我们要用非抢占模式
interface ens33

本文介绍如何配置Keepalived的非抢占模式,避免VIP二次漂移。通过设置节点状态及nopreempt参数实现主备切换时VIP的稳定绑定。

1302

被折叠的 条评论
为什么被折叠?



