您的位置:首页 > 数据库 > Redis

keepalived和redis主从方案

2016-02-28 11:09 375 查看
实现切换逻辑:

redis 主和 redis从  正常同步;

redis主keepalived 启动,执行redis_master.sh脚本,vip在自己身上;

redis 从keepalived 启动,执行redis_slave.sh脚本;

redis主服务关闭,则redis主执行redis_fault.sh脚本, vip落在redis 从上,redis从执行redis_master.sh脚本,变成主;

redis主服务开启,则redis主执行redis_slave.sh脚本变成从,vip还在redis 从上,还是主;

redis从服务关闭,则redis从执行redis_fault.sh脚本, vip落在redis主上,redis主执行redis_master.sh脚本,变成主;

redis从服务开启,则redis从执行redis_slave.sh脚本变成从, vip还在redis主上,redis主继续做主

具体配置:

主服务器IP:172.188.1.2,从服务器IP:172.188.1.3,172.188.1.1 vip服务器

主从服务器都安装keepalived和redis

修改从服务器 redis.conf配置文件

slaveof 192.168.1.235 6379

主服务器keepalived配置文件

global_defs {

   router_id  LVS_DEVEL

}

vrrp_script chk_redis {

    script "/etc/keepalived/scripts/redis_check.sh"

    interval 1

}

vrrp_instance mes_Redis {

    state MASTER

    interface eth0

    garp_master_delay 10

    smtp_alert

    virtual_router_id 3

    priority 100

    nopreempt

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        172.188.1.1

    }

    track_script {

        chk_redis

    }

    notify_master /etc/keepalived/scripts/redis_master.sh

    notify_backup /etc/keepalived/scripts/redis_slave.sh

    notify_fault  /etc/keepalived/scripts/redis_fault.sh

    notify_stop   /etc/keepalived/scripts/redis_stop.sh

}

从服务器keepalived配置文件

global_defs {
router_id  LVS_DEVEL

}

vrrp_script chk_redis {

    script "/etc/keepalived/scripts/redis_check.sh"

    interval 1

}

vrrp_instance mes_Redis {

    state BACKUP

    interface eth0

    garp_master_delay 10

    smtp_alert

    virtual_router_id 3

    priority 90

    nopreempt

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        172.188.1.1

    }

    track_script {

        chk_redis

    }

    notify_master /etc/keepalived/scripts/redis_master.sh

    notify_backup /etc/keepalived/scripts/redis_slave.sh

    notify_fault  /etc/keepalived/scripts/redis_fault.sh

    notify_stop   /etc/keepalived/scripts/redis_stop.sh

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: