【问题标题】:MongoDB backup/restoreMongoDB备份/恢复
【发布时间】:2026-02-13 19:10:01
【问题描述】:

在我们的生产 MongoDB 数据库中,我们有一个大小约为 700GB 的数据库。我们需要将数据迁移到新的 MongoDB 服务器中,该服务器与当前服务器位于不同的域中。 请任何人提出最佳方法?

  1. 我们应该为此数据运行转储/恢复吗?运行此命令是否需要额外的 700GB 空间?
  2. 运行转储/恢复命令大约需要多长时间? (我们的服务器有 12GB 内存)
  3. 还有其他更好的方法可以将数据迁移到不同域中的服务器吗?

【问题讨论】:

  • 如果您有一个 700 GB 的数据库,您应该已经有备份,不仅定期执行,而且定期测试。询问负责您正常备份的人员需要多长时间...

标签: mongodb migration restore


【解决方案1】:

您可以通过 --gzip 参数使用 mongodump,因为这将提供 10 倍压缩。您将获得大约 70 GB 的备份大小。

整个过程需要多少时间取决于很多参数。但是,让我提供一个粗略的估计

  • 备份(mongodump)大约需要 30-40 分钟
  • 假设您将其移动到 LAN 中的另一台服务器。可能需要 45 分钟
  • mongorestore 大约需要 30 分钟

如果两台服务器都在同一个网络中,更好的方法是配置副本集并将新服务器添加为副本集成员,优先级和投票为 0。您可以查看link 了解更多详细信息。复制数据后,您可以将新服务器重新配置为优先级 1 和投票 1,然后关闭当前服务器。

【讨论】: