一、抢占式

1.两个节点都启动的情况

12 keepalived之抢占式和非抢占式_权重

 

 12 keepalived之抢占式和非抢占式_权重_02

 

 

由于节点1的优先级高于节点2,所以只有节点1上有vip
[root@lb01 conf.d]# ip addr|grep 192.168.15.200
  inet 192.168.15.200/32 scope global eth0
   
[root@lb02 conf.d]# ip addr|grep 192.168.15.200

2.停止主节点

[root@lb01 conf.d]# systemctl stop keepalived
[root@lb01 conf.d]# ip addr|grep 192.168.15.200

3.重启启动主节点

[root@lb01 conf.d]# systemctl start keepalived
[root@lb01 conf.d]# ip a|grep 192.168.15.200
inet 192.168.15.200/32 scope global eth0

二、非抢占式(所有的机器全部设置成BACKUP)

1.主节点配置

[root@lb01 conf.d]# vim /etc/keepalived/keepalived.conf

#全局配置
global_defs {
#身份识别(全局唯一)
router_id lb01
}

# 配置VRRP协议
vrrp_instance VI_1 {
     # 状态,MASTER和BACKUP(这里仅仅是一个标记,正真确认VIP的是权重)
     state BACKUP

     #开启非抢占式
     nopreempt

     # 绑定网卡
     interface eth0
     # 虚拟路由标示,可以理解为分组
     virtual_router_id 50
     # 优先级(数字越大,权重越大)
     priority 100
     # 监测心跳间隔时间
     advert_int 1
     # 配置认证
     authentication {
     # 认证类型
     auth_type PASS
     # 认证的密码
     auth_pass 1111
}
     # 设置VIP
    virtual_ipaddress {
    # 虚拟的VIP地址
   192.168.15.200
}
}

 

 


[root@lb01 conf.d]# systemctl restart keepalived

2.备节点配置

[root@lb02 conf.d]# vim /etc/keepalived/keepalived.conf

#全局配置
global_defs {
#身份识别(全局唯一)
router_id lb02
}

# 配置VRRP协议
vrrp_instance VI_1 {
     # 状态,MASTER和BACKUP(这里仅仅是一个标记,正真确认VIP的是权重)
     state BACKUP

    #开启非抢占式
    nopreempt

     # 绑定网卡
     interface eth0
     # 虚拟路由标示,可以理解为分组
     virtual_router_id 50
     # 优先级(数字越大,权重越大)
     priority 90
     # 监测心跳间隔时间
     advert_int 1
     # 配置认证
     authentication {
     # 认证类型
     auth_type PASS
     # 认证的密码
    auth_pass 1111
}
    # 设置VIP
    virtual_ipaddress {
    # 虚拟的VIP地址
    192.168.15.200
}
}

 

 


[root@lb02 conf.d]# systemctl restart keepalived

3.配置

1.两个节点的state都必须配置为BACKUP
2.两个节点都必须加上配置 nopreempt
3.其中一个节点的优先级必须要高于另外一个节点的优先级。

两台服务器都角色状态启用nopreempt后,必须修改角色状态统一为BACKUP,唯一的区分就是优先级。