Note: 我注释掉了同步代码,因为生产中,在没了解实例的当前内存使用状况,服务器实际负载的状况下,贸然自动同步,会对服务器造成很大压力,对其它应用也会有很大影响,所以这一步由人工来确认,在此只作日志记录
Tip:测试环境中 ,或轻量实例的生产环境中,可以将以上注释去掉
redis_fault.sh
fault状态切换脚本,不同之处在于互指对方为master
root@redis-a scripts# cat /etc/keepalived/scripts/redis_fault.sh
#!/bin/bash
REDISCLI="/usr/local/bin/redis-cli"
LOGFILE="/data/redis/keepalived-redis-state.log"
pid=$$
echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault being fault status" >> $LOGFILE
#echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault ready to sync with master" >> $LOGFILE
#echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault Run 'SLAVEOF redis-b 6379'" >> $LOGFILE
#$REDISCLI SLAVEOF redis-b 6379 >> $LOGFILE 2>&1
#echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault wait other connect...." >> $LOGFILE
root@redis-a scripts#
root@redis-b scripts# cat /etc/keepalived/scripts/redis_fault.sh
#!/bin/bash
REDISCLI="/usr/local/bin/redis-cli"
LOGFILE="/data/redis/keepalived-redis-state.log"
pid=$$
echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault being fault status" >> $LOGFILE
#echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault ready to sync with master" >> $LOGFILE
#echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault Run 'SLAVEOF redis-a 6379'" >> $LOGFILE
#$REDISCLI SLAVEOF redis-a 6379 >> $LOGFILE 2>&1
#echo "date +'%Y-%m-%d:%H:%M:%S'
|$pid|state:fault wait other connect...." >> $LOGFILE
root@redis-b scripts#
Note: 我注释掉了同步代码,原因同上
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。