keepalived+redis实现HA的验证

  • redis
  • 3月 11, 2014
  • 0 评论

之前对Redis的使用还是中规中矩的Master+Slave,没有做到故障的自动切换,根据hey linux提供的redis HA方案,使用keepalived+redis很容易搭建起来了高可用的redis集群,具体的搭建过程可以参考原始连接,本主重点是对高可用redis的验证。

测试节点:
Master: 172.16.31.101
Slave: 172.16.31.102
VIP: 172.16.31.100

究竟Keepalived+redis的配置是否真的可靠,是Master+slave还是Master+Master呢?
下面开始测试:
Master+slave配置下,客户端通过VIP连接redis,当Master 停掉以后,VIP切换到Slave上,但是测试中发现仍然可以向VIP(Slave)写数据(这点有些令人疑惑,因为配置里面是“slave-read-only yes”),这跟实际想像的不太一样,另外就是即使可以写了,那么能够同步回Master呢?

切换过程中抓取了replication的几个状态(取redis INFO数据):

(一)正常状态,此时redis可写,set/get数据正常:

# Replication
role:master
connected_slaves:1
slave0:172.16.31.102,6379,online

$ redis-cli -h 172.16.31.100 -p 6379 SET foo bar
OK

(二)Master down(停掉Master)之后的状态,原来的Salve变成了Master,状态显示已经没有了Slave。

# Replication
role:master
connected_slaves:0

$ redis-cli -h 172.16.31.100 -p 6379 SET sitename sudops.com
OK

(三)Master恢复(重新启动)后:
状态发生了两次变化:
(a)从Slave同步数据到原来的Master上,能够看到原master的状态为up, 以及落后Slave的时间为4s(此时Slave不能写)

redis-cli -h 172.16.31.100 -p 6379 SET sitename sudops.com
(error) READONLY You can't write against a read only slave.

# Replication
role:slave
master_host:172.16.31.102
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_priority:100
slave_read_only:1
connected_slaves:0

(b)同步之后恢复到正常状态,有一个Slave, get之前set的数据没有问题。

# Replication
role:master
connected_slaves:1
slave0:172.16.31.102,6379,online

$ redis-cli -h 172.16.31.100 -p 6379 GET sitename
"sudops.com"

看来即便是Master+Slave的redis配置下与Keepalived配合起来数据还是互相同步的,一致性也尚可。

u2

Related Posts

  • redis
  • 7月 3, 2014
  • 39 views
redis多数据库使用防止key冲突

【摘要】实际应用中会有多个项目都要使用redis,如果每一个…

Read more

  • redis
  • 3月 17, 2014
  • 47 views
基于sentinel+redis下HA集群的搭建

[摘要]之前的文章中介绍了redis+keepalived来…

Read more

You Missed

MiroFish:群体智能预测引擎,让未来在数字沙盘中预演

  • u2
  • 3月 29, 2026
  • 34 views

OpenClaw爆火背后:一个值得深思的转折点

  • u2
  • 3月 25, 2026
  • 63 views

担心Todesk,向日葵有漏洞和数据泄露?跟我来体验下完美开源替代工具:RustDesk!

  • u2
  • 3月 20, 2026
  • 74 views

具有自我进化能力的国产大模型:MiniMax M2.7

  • u2
  • 3月 19, 2026
  • 204 views
具有自我进化能力的国产大模型:MiniMax M2.7

当AI学会读心术:MindPower框架带来的震撼与思考

  • u2
  • 3月 16, 2026
  • 87 views

AI并没有简化软件工程:它只是让糟糕的工程更容易实现了

  • u2
  • 3月 14, 2026
  • 99 views