【问题标题】:How to configure redis rdb persistence?如何配置redis rdb持久化?
【发布时间】:2023-02-23 11:20:27
【问题描述】:

我的团队正在从单个实例 redis 切换到一个由三个实例组成的集群,以提高弹性。 可悲的是,我们在迁移时遇到了崩溃,这引发了问题。

这是我们的配置:

当它崩溃时,日志表明它无法写入磁盘“设备上没有剩余空间”。

我们在测试环境中有相同的配置,我们填充它并且没有失败。但它在生产环境中失败了。对此有解释吗?

在查看一些文档时,它说持久性应该是 ram 内存的 3 倍,你能解释一下为什么吗?

如果您对此事有任何其他建议,我很乐意阅读。

谢谢

【问题讨论】:

    标签: redis redis-cluster


    【解决方案1】:

    如果要持久化 Redis 数据集,磁盘大小至少应为数据集大小的 2 倍(可能与内存大小不同,因为内存大小与 RDB/AOF 文件不同)尺寸)。

    因为 Redis 在进行新的转储时,会创建一个新的 RDB 文件,并将数据集写入其中。最后,当它完成转储时,它将新文件重命名为原始 RDB 文件。所以当Redis做dump的时候,至少需要2倍的数据集大小,即2个RDB文件。

    另外,如果你的Redis实例有一个replica,当replica做full sync的时候,需要新建一个RDB文件,这个文件也需要磁盘空间,然后把整个文件传给replica。然而,高版本的Redis可以使用无盘复制,不需要将文件转储到磁盘。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多