①.、安装redis并配置主从同步
?安装过程省略
安装过程省略
keepalived.conf? ?
global_defs?{ ?router_id?test } vrrp_script?chk_redis? {? ??script?"/etc/keepalived/scripts/redis_check.sh?12⑦0.0.1?6379?123456"? ??interval?2? ??timeout?2 ??fall?3 } vrrp_instance?redis?{ ?state?BACKUP?#?主也配置为SLAVE ?interface?eth0? ?virtual_router_id?51? ?priority?150?? ?nopreempt?#?不抢占,注意加上 ?advert_int?1?? ?authentication?{? ??auth_type?PASS? ??auth_pass?123456 ?} ?virtual_ipaddress?{? ?172.1⑥0.107 ?} ?track_script?{? ??chk_redis? ?}? ?notify_master?"/etc/keepalived/scripts/redis_master.sh?12⑦0.0.1?6379?123456" ?notify_backup?"/etc/keepalived/scripts/redis_backup.sh?12⑦0.0.1?6379?123456?172.1⑥0.105?6379" ?notify_fault?/etc/keepalived/scripts/redis_fault.sh? ?notify_stop?/etc/keepalived/scripts/redis_stop.sh?
}
redis_master.sh?
?#!/bin/bash ?REDISCLI="redis-cli?-h?$1?-p?$2?-a?$3" ?LOGFILE="/var/log/keepalived-redis-state.log" ?echo?"[master]"?>>?$LOGFILE ?date?>>?$LOGFILE ?echo?"Being?master...."?>>?$LOGFILE?2>1 ?echo?"Run?SLAVEOF?NO?ONE?cmd?..."?>>?$LOGFILE ?$REDISCLI?SLAVEOF?NO?ONE?>>?$LOGFILE?2>1
redis_backup.sh
?#!/bin/bash ?REDISCLI="redis-cli?-h?$1?-p?$2?-a?$3" ?LOGFILE="/var/log/keepalived-redis-state.log" ?echo?"[backup]"?>>?$LOGFILE ?date?>>?$LOGFILE ?echo?"Being?slave...."?>>?$LOGFILE?2>1 ?echo?"Run?SLAVEOF?cmd?..."?>>?$LOGFILE ?$REDISCLI?SLAVEOF?$4?$5?>>?$LOGFILE?2>1
global_defs?{ ?router_id?redis } vrrp_script?chk_redis?{ ?script?"/etc/keepalived/scripts/redis_check.sh?12⑦0.0.1?6379?123456"?###监控脚本 ?interval?2???###监控时间 ?timeout?2??????###超时时间 ?fall??3???###重试次数 } vrrp_instance?redis?{ ?state?BACKUP???###设置为MASTER ?interface?eth0???###监控网卡 ?virtual_router_id?51 ?priority?100???###权重值 ?nopreempt?#?不抢占,注意加上 ?advert_int?1 ?authentication?{ ??auth_type?PASS??###加密 ??auth_pass?123456??###密码 ?} ?track_script?{ ?chk_redis???###执行上面定义的chk_redis ?} ?virtual_ipaddress?{ ??172.1⑥0.107??###VIP ?} ?notify_master?"/etc/keepalived/scripts/redis_master.sh?12⑦0.0.1?6379?123456" ?notify_backup?"/etc/keepalived/scripts/redis_backup.sh?12⑦0.0.1?6379?123456?172.1⑥0.104?6379" ?notify_fault?/etc/keepalived/scripts/redis_fault.sh ?notify_stop?/etc/keepalived/scripts/redis_stop.sh }
?#!/bin/bash ?REDISCLI="redis-cli?-h?$1?-p?$2?-a?$3" ?LOGFILE="/var/log/keepalived-redis-state.log" ?echo?"[master]"?>>?$LOGFILE ?date?>>?$LOGFILE ?echo?"Being?master...."?>>?$LOGFILE?2>1 ?echo?"Run?SLAVEOF?NO?ONE?cmd?..."?>>?$LOGFILE ?$REDISCLI?SLAVEOF?NO?ONE?>>?$LOGFILE?2>1?
?#!/bin/bash ?REDISCLI="redis-cli?-h?$1?-p?$2?-a?$3" ?LOGFILE="/var/log/keepalived-redis-state.log" ?echo?"[backup]"?>>?$LOGFILE ?date?>>?$LOGFILE ?echo?"Being?slave...."?>>?$LOGFILE?2>1 ?echo?"Run?SLAVEOF?cmd?..."?>>?$LOGFILE ?$REDISCLI?SLAVEOF?$4?$5?>>?$LOGFILE?2>1
公共配置
redis_check.sh
#!/bin/bash? ALIVE=◆redis-cli?-h?$1?-p?$2?-a?$3?PING◆? LOGFILE="/var/log/keepalived-redis-check.log"? echo?"[CHECK]"?>>?$LOGFILE date?>>?$LOGFILE if?[?$ALIVE?==?"PONG"?];?then?:? ?echo?"Success:?redis-cli?-h?$1?-p?$2?PING?$ALIVE"?>>?$LOGFILE?2>1 ?exit?0? else? ?echo?"Failed:redis-cli?-h?$1?-p?$2?PING?$ALIVE?"?>>?$LOGFILE?2>1 ?exit?1? fi?
redis_fault.sh
#!/bin/bash? LOGFILE=/var/log/keepalived-redis-state.log? echo?"[fault]"?>>?$LOGFILE date?>>?$LOGFILE?
redis_stop.sh
#!/bin/bash? LOGFILE=/var/log/keepalived-redis-state.log? echo?"[stop]"?>>?$LOGFILE? date?>>?$LOGFILE?
启动keepalived:keepalived -D
查看ip漂移情况:ip a
配置要点:
双BACKUP ◆ nopreempt,优先级大的先启动作为master,当master挂掉后,slave被选中成为新的master.
以上就是土嘎嘎小编为大家整理的Redis高可用配置_Keepalived)相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!