12 keepalived之抢占式和非抢占式
一、抢占式
1.两个节点都启动的情况
由于节点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)
[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,唯一的区分就是优先级。