Linux下 Redis主从架构持久化操作详述(2)

[root@server11 ~]# cat /usr/local/scripts/redis_monitor.sh 
    #!/bin/bash   
    ALIVE=$(/usr/local/redis2/bin/redis-cli -h 192.168.1.112 -p 6379 -a 123 PING) 
   
    if [ "$ALIVE" == "PONG" ]; then 
        echo $ALIVE   
        exit 0   
        else 
        echo $ALIVE   
        killall -9 keepalived 
        service network restart 
        exit 1   
    fi 
   
    [root@server11 ~]# sh /usr/local/scripts/redis_monitor.sh 
    PONG 
   
    [root@server11 ~]# cat /usr/local/scripts/redis_master.sh   
    #!/bin/bash   
    REDISCLI="/usr/local/redis2/bin/redis-cli -h 192.168.1.112 -p 6379 -a 123" 
    LOGFILE="/usr/local/redis2/var/keepalived-redis-state.log" 
   
    echo "[master]" >> $LOGFILE   
    date >> $LOGFILE   
    echo "Being master...." >> $LOGFILE 2>&1   
    echo "Run SLAVEOF cmd ..." >> $LOGFILE   
    $REDISCLI SLAVEOF 192.168.1.113 6379 >> $LOGFILE  2>&1   
    sleep 10 
    echo "Run SLAVEOF NO ONE cmd ..." >> $LOGFILE   
    $REDISCLI SLAVEOF NO ONE >> $LOGFILE 2>&1 
   
   
    [root@server11 ~]# cat /usr/local/scripts/redis_backup.sh 
    #!/bin/bash   
    REDISCLI="/usr/local/redis2/bin/redis-cli -h 192.168.1.112 -p 6379 -a 123" 
    LOGFILE="/usr/local/redis2/var/keepalived-redis-state.log" 
   
    echo "[backup]" >> $LOGFILE   
    date >> $LOGFILE   
    echo "Being slave...." >> $LOGFILE 2>&1   
    sleep 15   
    echo "Run SLAVEOF cmd ..." >> $LOGFILE   
    $REDISCLI SLAVEOF 192.168.1.113 6379 >> $LOGFILE  2>&1 
   
    [root@server11 ~]# cat /usr/local/scripts/redis_stop.sh 
    #!/bin/bash 
    LOGFILE="/usr/local/redis2/var/keepalived-redis-state.log" 
    echo "[stop]" >> $LOGFILE 
    date >> $LOGFILE 
    [root@server11 ~]# cat /usr/local/scripts/redis_fault.sh
    #!/bin/bash 
    LOGFILE="/usr/local/redis2/var/keepalived-redis-state.log"
    echo "[fault]" >> $LOGFILE 
    date >> $LOGFILE

五:主从实例分别启动keepalive进程,测试VIP是否正常(这里就要修改redis配置文件的监听地址为0.0.0.0)

[root@server11 ~]# /usr/local/keepalived/sbin/keepalived -D -f  /usr/local/keepalived/etc/keepalived/keepalived.conf 
[root@server11 ~]# tail -f /var/log/messages 
Dec 12 09:25:49 server11 Keepalived_healthcheckers[7710]: Configuration is using : 5499 Bytes 
Dec 12 09:25:49 server11 Keepalived_healthcheckers[7710]: Using LinkWatch kernel netlink reflector... 
Dec 12 09:25:49 server11 Keepalived_vrrp[7712]: VRRP sockpool: [ifindex(2), proto(112), fd(12,13)] 
Dec 12 09:25:49 server11 Keepalived_vrrp[7712]: VRRP_Script(Monitor_redis) succeeded 
Dec 12 09:25:50 server11 Keepalived_vrrp[7712]: VRRP_Instance(VI_1{) Transition to MASTER STATE 
Dec 12 09:25:51 server11 Keepalived_vrrp[7712]: VRRP_Instance(VI_1{) Entering MASTER STATE 
Dec 12 09:25:51 server11 Keepalived_vrrp[7712]: VRRP_Instance(VI_1{) setting protocol VIPs. 
Dec 12 09:25:51 server11 Keepalived_vrrp[7712]: VRRP_Instance(VI_1{) Sending gratuitous ARPs on eth0 for 192.168.1.120 
Dec 12 09:25:51 server11 avahi-daemon[4519]: Registering new address record for 192.168.1.120 on eth0. 
Dec 12 09:25:51 server11 Keepalived_healthcheckers[7710]: Netlink reflector reports IP 192.168.1.120 added 
Dec 12 09:25:51 server11 Keepalived_vrrp[7712]: Netlink reflector reports IP 192.168.1.120 added 
Dec 12 09:25:56 server11 Keepalived_vrrp[7712]: VRRP_Instance(VI_1{) Sending gratuitous ARPs on eth0 for 192.168.1.120 
 
[root@server11 ~]# ip a |grep 192 
    inet 192.168.1.112/24 brd 192.168.1.255 scope global eth0 
    inet 192.168.1.120/32 scope global eth0 
 
[root@server12 ~]# /usr/local/keepalived/sbin/keepalived -D -f /usr/local/keepalived/etc/keepalived/keepalived.conf 
[root@server12 ~]# tail -f /var/log/messages 
Dec 12 09:26:55 server12 Keepalived_healthcheckers[3106]: Configuration is using : 5595 Bytes 
Dec 12 09:26:55 server12 Keepalived_vrrp[3108]: VRRP_Instance(VI_1{) Entering BACKUP STATE 
Dec 12 09:26:55 server12 Keepalived_healthcheckers[3106]: Using LinkWatch kernel netlink reflector... 
Dec 12 09:26:55 server12 Keepalived_vrrp[3108]: VRRP sockpool: [ifindex(2), proto(112), fd(12,13)] 
Dec 12 09:26:55 server12 Keepalived_vrrp[3108]: VRRP_Script(Monitor_redis) succeeded 
 
[root@server11 ~]# /usr/local/redis2/bin/redis-cli -h 192.168.1.120 -a 123 info |grep -A 3 'Replication' 
# Replication 
role:master 
connected_slaves:1 
slave0:192.168.1.113,6379,online

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/066e672aa07f66a7e2832651a1e978bb.html