2014-10-03 106 views
0

我在Windows 8计算机上启用了RDB持久性的Redis服务器(v.2.4.6)。我想模拟一个Redis故障并重置,所以我可以对我的备份过程更有信心。Redis失败备份模拟

我发现了很多关于redis持久性和备份的信息,但我无法弄清楚发生故障后该怎么做。

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

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

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

  1. 我停止Redis的服务
  2. 我用覆盖从测试数据库RDB文件dump.rdb文件(另一台服务器上)
  3. 我尝试再次启动Redis的服务,但我得到的错误“本地计算机上的Redis服务器服务已启动,然后停止。某些服务如果未被其他服务或程序使用,则会自动停止。”

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

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

回答

0

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

0

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

请确保您将转储放在正确的文件夹中并且名称正确,当您启动Redis时会进行恢复。

如何处理您的Redis进程以模拟失败?

+0

感谢您的回应,这基本上是我一直在做的。我对我原来的问题做了一些编辑。新的信息会给你更多的想法吗? – erics2783 2014-10-06 21:38:45

0

转到Redis的稳定目录并运行 ./src/redis-server

为我工作。