MongoDB backup/restore

MongoDB backup/restore

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

  1. 我们应该运行 dump/restore 这个数据吗? 运行 这个命令需要额外的 700GB space 吗?
  2. 运行 dump/restore 命令大约需要多少时间? (我们的服务器有 12GB 内存)
  3. 有没有其他更好的方法将数据迁移到不同域中的服务器?

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

整个过程需要多长时间取决于很多参数。不过,让我粗略估计一下

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

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