利用Keepalived做整个集群的高可用组件,其中一台设置为master,一台设置为backup。当master出现异常后,backup自动切换为master。然而当master恢复正常后会再次抢占成为master,最终导致不必要的主备切换。
因此可以将两台keepalived初始状态均配置为backup,设置不同的优先级,优先级高的设置为nopreempt来解决异常恢复后再次抢占的问题。
具体设置如下所示:
A调度机器设置为:
vrrp_instance VI_foo
{
....
state backup
priority 100
nopreempt
....
}
B调度机器设置为:
vrrp_instance VI_foo
....
state backup
priority 70
nopreempt
....
}
通过以上设置我们可实现当优先级高的调度节点故障恢复后,不再抢占为主调度服务器,从而也就避免了因调度节点的故障及故障恢复后来回切换的问题