birk 发表于 2018-11-2 08:45:47

Redis 高可用 基于Sentinel + keepalived 实现

vim /etc/keepalived/keepalived.conf  
#Keepalived配置文件
  
global_defs {
  
      router_id NodeA               #路由ID, 主备的ID不能相同
  
}
  
vrrp_script chk_redis_master {
  
    script "/app/redis-4.0.8/src/redis-cli -a redis123456 info | grep role:master >/dev/null 2>&1"
  
#以上这个命令是整个高可用的关键,保证了当本节点不是master时,vip进行转移到role 为master的节点上,如果不成功,redis-cli需要写绝对路径
  
    interval 1
  
    timeout 2
  
    fall 2
  
    rise 1
  
}
  
vrrp_sync_group VG_1 {
  
    group {
  
      VI_1
  
    }
  
}
  
vrrp_instance VI_1 {
  
      state MASTER #Keepalived的角色。Master表示主服务器,从服务器设置为BACKUP
  
      interface eth0          #指定监测网卡
  
      virtual_router_id 35
  
      priority 100            #优先级,BACKUP机器上的优先级要小于这个值
  
      advert_int 1            #设置主备之间的检查时间,单位为s
  
      authentication {      #定义验证类型和密码
  
                auth_type PASS
  
                auth_pass Pass1234
  
      }
  
      virtual_ipaddress {   #VIP地址,可以设置多个:
  
                192.168.70.35
  
      }
  
      track_script {
  
            chk_redis_master
  
          }
  
}


页: [1]
查看完整版本: Redis 高可用 基于Sentinel + keepalived 实现