我正在使用Keepalived来管理主从配置中的两个Redis实例。我正在经历一种情况,如果在主框(具有较高优先级的一个)上终止Keepalived,备份服务器将接管主服务器。但是,当在较高优先级框上重新启动Keepalived时,备份服务器立即将主服务器状态切换到高优先级框,这将有效地刷新Redis缓存。
我尝试在我的keepalived.conf中添加nopreempt指令,但这种行为仍在发生。
下面是来自备份(较低优先级)服务器的keepalived.conf。
global_defs{
router_id redis_server_2
}
vrrp_script chk_redis {
script "killall -0 redis-server"
interval 5
}
vrrp_instance VI_1{
interface eth0
virtual_router_id 100
priority 200
advert_int 1
state BACKUP
nopreempt
track_script {
chk_redis
}
virtual_ipaddress {
10.19.105.229
}
notify_master "/usr/bin/sudo /var/lib/redis/redis.sh -m"
notify_backup "/usr/bin/sudo /var/lib/redis/redis.sh -s"
notify_fault "/usr/bin/sudo /var/lib/redis/redis.sh -k"发布于 2012-09-18 18:32:55
好吧,我想了几分钟就解决了。
在高优先级框的VRRP_instance V1下,我有以下内容:
state MASTER现在,nopreempt没有得到尊重,因为更高优先级的框是从主人开始的。低优先级框看到具有较高优先级的主程序,并切换到从模式。通过将这一行更改为
state BACKUP高优先级框从从开始,看到具有更高优先级的主程序,并保持从属状态。已经做好了。
https://serverfault.com/questions/429576
复制相似问题