【问题标题】:Redis Failure Backup SimulationRedis 故障备份模拟
【发布时间】:2014-11-28 17:47:41
【问题描述】:

我正在使用在 Windows 8 机器上启用 RDB 持久性的 redis 服务器 (v. 2.4.6)。我想模拟一次 redis 故障并重置,以便对备份过程更有信心。

我找到了很多关于 redis 持久化和备份的信息,但是我不知道一旦发生故障该怎么办。

我尝试使用数据文件夹中的大量测试数据复制我的 dump.rdb,然后卸载/重新安装 redis,将原始 dump.rdb 文件粘贴到新的数据文件夹中并运行。当我运行命令“keys *”时,它显示为空列表或设置。

那么,如何模拟redis数据库故障然后恢复呢?

编辑:我在关闭 redis 之前覆盖了 rdb 文件,导致覆盖。现在这些是我正在采取的步骤来模拟故障和备份。

  1. 我停止了redis服务
  2. 我用来自测试数据库(在另一台服务器上)的 rdb 文件覆盖了 dump.rdb 文件
  3. 我尝试再次启动 redis 服务,但出现错误“本地计算机上的 Redis 服务器服务已启动然后停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。”

如果我删除 rdb 文件,我可以启动服务并在同一位置创建一个空的 rdb 文件。

这是它在 redis.log 文件中显示的内容:“无法处理 RDB 格式版本 6”,但两个数据库都使用完全相同的 redis 版本。

【问题讨论】:

    标签: redis persistence


    【解决方案1】:

    查看redis.conf 文件中的SNAPSHOTTING 部分。 您的 rdb 转储文件名和路径在此处定义(单独的参数)。

    确保您将转储文件放入正确的文件夹并使用正确的名称,当您启动 Redis 时将进行恢复。

    杀掉你的 Redis 进程来模拟失败怎么样?

    【讨论】:

    • 感谢您的回复,这基本上就是我一直在做的事情。我对我原来的问题做了一些修改。新信息有没有给你更多的想法?
    【解决方案2】:

    我想通了。显然我的测试数据库使用了不同版本的 redis(我认为它们是相同的)。我从一个使用 v 2.4.6 的测试数据库中获得了另一个 rdb 文件,并且所有内容都按预期加载。

    【讨论】:

      【解决方案3】:

      转到 redis-stable 目录并运行 ./src/redis-server

      这对我有用。

      【讨论】:

        猜你喜欢
        • 2013-12-15
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 2021-02-27
        • 1970-01-01
        • 2020-11-18
        • 2014-07-19
        • 1970-01-01
        相关资源
        最近更新 更多