keepalived和redis主从方案

来源:互联网 发布:数据库人事管理系统 编辑:程序博客网 时间:2024/05/18 00:48

实现切换逻辑:
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

0 0
原创粉丝点击