当 Redis 数据磁盘坏掉之后会发生什么

本贴最后更新于 1401 天前,其中的信息可能已经水流花落

问题简介

当 Redis cluster 集群数据所在磁盘的 RAID 卡坏掉了之后会发生什么?集群会不会进行故障迁移,以及怎么快速恢复。

问题 1:cluster 集群会进行故障迁移嘛

答案:不会。

原因:当 Redis 集群数据磁盘所在的 RAID 卡坏掉之后,Redis 实例并不会因为磁盘故障而直接挂掉,所以集群会认为当前的实例并没有用故障,所以不会进行故障迁移。

问题 2:磁盘坏掉会影响业务嘛。

答案:当 stop-writes-on-bgsave-error 配置为 yes 时会的。

原因:当 stop-writes-on-bgsave-error 配置为 yes 时,rdb 持久化异常时会直接报错,导致数据写入时会报错,影响业务,但是不会影响到数据的读。

问题 3:怎么快速恢复?

首先要做的就是将主实例 stop-writes-on-bgsave-error 设置为 no,这样就能保证数据正常写入集群,此时主实例之九华 rdb 异常,但从实例会将 rdb 文件持久化到磁盘里面,不会导致数据丢失。

第二步,停止业务。

第三步:停止故障主实例,等到集群故障迁移完成之后,将业务恢复。

第四步,修复 RAID 磁盘。

第五步,启动 Redis 故障主实例。

  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 74 关注
  • 原创
    11 引用 • 44 回帖
  • 故障迁移
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...