有哪位大哥熟悉 VRRP 协议或是 Keepalived 的配置?有几个关于主备状态的问题想请教一下大家

2021-03-05 14:47:28 +08:00
 zhoudaiyu

比如说有两台装有 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
   }
}

1796 次点击
所在节点    Linux
4 条回复
oudemen
2021-03-05 15:36:49 +08:00
state BACKUP: 设置初始状态。如果两个都是 BACKUP, 则会比较 priority,谁高谁就是 master 。 如果设置为 MASTER,则直接就成为 master,不会再比较优先级。
nopreempt: 你理解的是对的。
具体可以看官网手册,每一项解释的都很清楚: https://www.keepalived.org/manpage.html
zhoudaiyu
2021-03-05 16:06:47 +08:00
@oudemen #1 如果设置为 MASTER,则直接就成为 master

请问如果一套虚拟路由器里,只要有一台机器配置文件里面定义了状态是 Master,那么优先级这个配置相当于就是废的是么?甚至可以不配?而且这台机器只要活着,那它就一定是主,但是如果配了非抢占,那么有可能因为主死了,VIP 飘到了备上,所以即便配置里写的主,它也不一定只要活着就持有 VIP 么?
oudemen
2021-03-05 16:28:56 +08:00
@zhoudaiyu
state 只是决定初始状态。之后遇到需要选举 master 时情况时,就只参考 priority 了,不看 state 了。priority 肯定是需要的,否则进程应该起不来。
zhoudaiyu
2021-03-05 16:50:27 +08:00
@oudemen #3 这下总算明白了,十分感谢!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758802

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX