我有两台机器(A 和 B,A 是主机器)运行 VRPP(来自 keepalived)以获取虚拟 IP。
如果 A 发生故障并重新启动(无论出于何种原因),我该如何防止 A 再次成为 Master?
我这样做是为了我们可以将故障转移到第二个框,并且恢复正常需要人工干预。
答案1
答案2
我们解决这个问题的方法是将nopreempt
标志添加到我们的 keepalived 配置文件中。无需更改任何其他内容(仍然保留一个为,MASTER
另一个为,BACKUP
依此类推)。基本上,这告诉它不要因为新服务器上线而切换主服务器,只有当前主服务器发生故障时才切换。
答案3
据我了解,当新的 VRRP 服务器启动时,它会强制进行选举,而当前服务器不会获得任何好处,因此旧主服务器将启动并赢得选举。除了相当残酷的 Shoot The Other Node In The Head 之外,我怀疑你能采取多少措施来阻止这种情况。Keepalive 可能有一些配置来控制选举过程。遗憾的是我现在没有时间检查,但我稍后会尝试查看。