生产环境实践:redis高可用架设
# ip a1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:84:40:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.16.29/24 brd 192.168.16.255 scope global eth0
inet 192.168.16.3/32 scope global eth0
inet6 fe80::20c:29ff:fe84:40c4/64 scope link
valid_lft forever preferred_lft forever
关闭redis主服务器(192.168.16.29)
# /etc/init.d/redisd stop
redis Stop success!
# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:84:40:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.16.29/24 brd 192.168.16.255 scope global eth0
inet6 fe80::20c:29ff:fe84:40c4/64 scope link
valid_lft forever preferred_lft forever
#
keepalived检测到redis异常,把主身份切换到从(192.168.16.2)
Redis Master 192.168.16.29日志
# tail -f /usr/local/logs/keepalived-redis-state.log
2016年 10月 19日 星期三 14:40:39 CST
2016年 10月 19日 星期三 14:40:39 CST
Being slave....
Run SLAVEOF cmd...
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Redis Slave 192.168.16.2日志
# tail -f /usr/local/logs/keepalived-redis-state.log
2016年 10月 19日 星期三 14:43:24 CST
Being slave....
backup Run SLAVEOF 192.168.16.29 cmd...
OK Already connected to specified master
2016年 10月 19日 星期三 14:43:28 CST
Being master....
Run SLAVEOF NO ONE cmd ...
OK
可以看出Slave已经接管了Master角色
在Slave 192.168.16.2输入ip a查看虚拟IP
# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:aa:43:58 brd ff:ff:ff:ff:ff:ff
inet 192.168.16.2/24 brd 192.168.16.255 scope global eth1
inet 192.168.16.3/32 scope global eth1
inet6 fe80::20c:29ff:feaa:4358/64 scope link
valid_lft forever preferred_lft forever
在Master 192.168.16.29启动redis,16.29已经恢复了Master的角色
# /etc/init.d/redisd start
redis Start-up success!
# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:84:40:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.16.29/24 brd 192.168.16.255 scope global eth0
inet 192.168.16.3/32 scope global eth0
inet6 fe80::20c:29ff:fe84:40c4/64 scope link
valid_lft forever preferred_lft forever
页:
[1]