Chinaunix

标题: keepalived+redis 主从 ,从挂掉恢复不能正常加入,必须要重启keepalived [打印本页]

作者: 梦落花香Z    时间: 2014-03-13 10:27
标题: keepalived+redis 主从 ,从挂掉恢复不能正常加入,必须要重启keepalived
先说一下我的环境
两台redis服务器 分别为 192.168.5.234
                               192.168.5.236
用keepalived 实现主从切换。
                              192.168.5.234 和192.168.5.236依次启动,
                              5.234为主,5.236为辅
                              当5.234挂掉之后,5.236为主,接管业务
                              5.234启动为从
                              当5.236挂掉,5.234为主。


贴出一个keepalived的配置
vrrp_script chk_redis {
     script "/etc/keepalived/keepalived_scripts/redis_check.sh 127.0.0.1 6379"
     interval 1
}
vrrp_instance redis {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 150
    nopreempt
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass redis6379
    }
    virtual_ipaddress {
        192.168.5.30
    }
    track_script {
        chk_redis
    }
    notify_master "/etc/keepalived/keepalived_scripts/redis_master_slave.sh 127.0.0.1 192.168.5.236 6379"
    notify_backup "/etc/keepalived/keepalived_scripts/redis_backup_slave.sh 127.0.0.1 192.168.5.236 6379"
    notify_fault  "/etc/keepalived/keepalived_scripts/redis_fault.sh"
    notify_stop  "/etc/keepalived/keepalived_scripts/redis_stop.sh"
}

经测试,主从切换没有问题。
但是当我的从的redis挂掉了,修复以后启动并不能成为从,而是需要重启keepalived才能成为从。
我看了下keepalived的日志,有检测到从挂掉和启动了。但是没有执行任何notify 里面的脚本。notify里的脚本是有日志输出的。
请大家帮我分析下这里面的原因,谢谢了。



                              
作者: q1208c    时间: 2014-03-13 11:14
 为什么越来越多的人用 keepalived 来切换7层的应用呢 .
作者: ding_cw    时间: 2014-03-28 14:44
state BACKUP    说明是从

virtual_router_id 51   是优先级别

一般需要设置主的优先级大于从
作者: 宁静致远_guan    时间: 2015-12-28 17:01
我想说,我的主从切换还有问题呢,不知道为什么从一直没法接管主的,一直报错[root@localhost scripts]# tailf /var/log/keepalived-redis-state.log
Run SLAVEOF cmd ...
ERR wrong number of arguments for 'slaveof' command

[master]
Mon Dec 28 16:42:46 CST 2015
Being master....
Run SLAVEOF cmd ...
Could not connect to Redis at -p:6379: Name or service not known
Run SLAVEOF NO ONE cmd ...
Could not connect to Redis at -p:6379: Name or service not known





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2