我有两台机器(A和B,A是Master)运行VRPP(来自keepalived)虚拟IP。
如何防止A再次成为师父(无论出于何种原因)?
我这样做是为了让我们有一个单一的故障转移到第二个盒子,并恢复正常需要手动干预。
根据keepalived开发者列表中这个相对较旧的post,可以这样做。 您将两台服务器设置为相同的优先级(或者根本没有),并且不要将状态声明为MASTER或BACKUP,而是将状态设置为EQUAL。
我们解决这个问题的方法是将nopreempt标志添加到我们的keepalivedconfiguration文件中。 不必改变其他东西(还剩下一个是MASTER ,一个是BACKUP等)。 基本上,这告诉它不要仅仅因为一个新的服务器联机就切换主机,只有在当前主机发生故障时才切换。
据我了解,当一个新的VRRP服务器出现时,它会强制选举,目前的服务器没有任何好处,所以老主人会出来赢得选举。 我怀疑你有什么可以阻止这一点,除了相当残酷的拍摄头部的其他节点。 Keepalive可能有一些configuration来控制选举过程。 可悲的是我现在没有时间检查,但我会尽量晚点看看。