比如说有两台装有 Keepalived 的虚机 A 、B,它们组成了一台虚拟路由器。这是其中主路由器的 VRRP 块的配置(两个机器配置只在优先级有差别,其他一样)
vrrp_instance VI_1 {
state BACKUP !状态有 MASTER 和 BACKUP,这个配置是做啥的?初始化主备状态?正常是一个 MASTER 一个 BACKUP,但我们 A 、B 都设置都是 BACKUP 功能也是正常的。
nopreempt !非抢占模式,我的理解是假如现在 VIP 是在 A 上的,A 优先级高,这会 A 死了,虚 IP 漂移到了 B 上,过段时间 A 启动起来了,那么如果设置了非抢占,那么 A 也不会把虚 IP 抢回来,会一直挂在 B 上
interface ens192
virtual_router_id 80
priority 100 !这个优先级是不是和 state 有冲突?到底哪个决定主备?是看 Master BACKUP 决定主备还是优先级?
advert_int 1
authentication {
auth_type PASS
auth_pass 1112
}
virtual_ipaddress {
192.168.133.10
}
}
1
oudemen 2021-03-05 15:36:49 +08:00 1
state BACKUP: 设置初始状态。如果两个都是 BACKUP, 则会比较 priority,谁高谁就是 master 。 如果设置为 MASTER,则直接就成为 master,不会再比较优先级。
nopreempt: 你理解的是对的。 具体可以看官网手册,每一项解释的都很清楚: https://www.keepalived.org/manpage.html |
2
zhoudaiyu OP @oudemen #1 如果设置为 MASTER,则直接就成为 master
请问如果一套虚拟路由器里,只要有一台机器配置文件里面定义了状态是 Master,那么优先级这个配置相当于就是废的是么?甚至可以不配?而且这台机器只要活着,那它就一定是主,但是如果配了非抢占,那么有可能因为主死了,VIP 飘到了备上,所以即便配置里写的主,它也不一定只要活着就持有 VIP 么? |