redis主备手动failover测试

本文介绍了在测试Redis高可用(HA)过程中遇到的问题和解决方案。通过手动Failover操作,发现主实例重启后无法通过slaveof命令从从实例同步数据。问题在于未配置masterauth导致连接失败。解决后,成功实现主从同步,完成failover。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在测试redisha,在网上搜索了一下,对于keepalived+redis的主备,主要有以下两个链接:

http://heylinux.com/archives/1942.html

http://ylw6006.blog.51cto.com/470441/1086455

在这两个blog里面,2处矛盾和疑问:

需要在MasterSlave上都开启本地化策略,否则在互相自动切换的过程中,未开启本地化的一方会将另一方的数据清空,造成数据完全丢失

主实例重起后不能通过slaveof方式从从实例同步数据.

实际搭环境测试了一下.

版本redis-2.6.7

首先redis1起为master模式,设置passwd.无持久化,

Redis2起为slvae模式,设置passwdmasterauth.开启aof持久化.

插入一些数据.测试主从同步ok,(,slave在初次同步时master会进行一次快照)

模拟主实例down,kill redis1

redis2通过slaveof no one命令提升为master,写入新数据.

重起redis1,此时里面的数据就是初次同步时的快照数据.

使用slaveof redis2命令从redis2同步数据.

情形和B文一样,info显示master_link_status:down

开始也以为是持久化策略的问题,尝试了不同的持久化策略未果,后来才想到是因为redis1没有配置masterauth导致连接redis2失败的原因.修改redis1配置后再试,果然就ok.

同步完成后,重新设置redis2slave,恢复初始主从状态.检查数据正常.

证明完全可以通过同步的方式恢复主实例.实现failover.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值