技术解析

有哪位大哥熟悉 VRRP 协议或是 Keepalived 的配置?有几个关于主备状态的问题想请教一下大家
0
2021-06-12 01:02:11
idczone

比如说有两台装有 Keepalived 的虚机 A 、B,它们组成了一台虚拟路由器。这是其中主路由器的 VRRP 块的配置(两个机器配置只在优先级有差别,其他一样)

vrrp_instance VI_1 {
   state BACKUP !状态有 MASTER 和 BACKUP,这个配置是做啥的?初始化主备状态?正常是一个 MASTER 一个 BACKUP,但我们 A 、B 都设置都是 BACK抗投诉服务器UP 功能也是正常的。
   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
   }
}


state BACKUP: 设置初始状态。如果两个都是 BACKUP, 则会比较 priority,谁高谁就是 master 。 如果设置为 MASTER,则直接就成为 master,不会再比较优先级。
nopreempt: 你理解的是对的。
具体可以看官网手册,每一项解释的都很清楚: https://www.keepalived.org/manpage.html

如果设置为 MASTER,则直接就成为 master
请问如果一套虚拟路由器里,只要有一台机器配置文件里面定义了状态是 Master,那么优先级这个配置相当于就是废的是么?甚至可以不配?而且这台机器只要活着,那它就一定是主,但是如果配了非抢占,那么有可能因为主死了,VIP 飘到了备上,所以即便配置里写的主,它也不一定只要活着就持有 VIP 么?


state 只是决定初始状态。之后遇到需要选举 master 时情况时,就只参考 priority 了,不看 state 了。priority 肯定是需要的,否则进程应该起不来。

这下总算明白了,十分感谢!!!

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服