mongorestore花了很多时间,我只是复制粘贴' / data / db'目录?

时间:2015-04-18 07:39:31

标签: mongodb mongodump mongorestore

就我而言,我想备份和恢复所有数据库。这可能听起来很愚蠢,但是 -

而不是做

# backup
mongodump  # takes time
# restore
mongorestore # takes a lot of time

为什么我不能

# backup
tar -cvzf /backup/mongo.tar.gz /data/db
# restore
tar -xzf /backup/mongo.tar.gz -C /data/db

这不起作用吗?

1 个答案:

答案 0 :(得分:2)

原则上,是的,这是可能的,但有几点需要注意。具有各自下行和上行的策略是discussed in detail in the backup documentation。从本质上讲,副本集和分片会使过程变得更加复杂。

  • 您必须关闭或锁定服务器,以便在复制文件时不会写入文件。由于复制仍然需要时间,因此仅在辅助设备上进行复制是有意义的,否则您的系统将会有效关闭。

  • 考虑使用文件系统/ lvm快照(也在文档中讨论);它们通常更快,因为文件系统将在必要时之后进行写时复制,因此实际快照只需要几毫秒。但是,请确保您了解它在您使用的任何LVM,文件系统或虚拟化平台上的工作原理,性能特征可能很奇怪,尤其是在保留多个快照时。

  • 请记住,在系统运行时进行的任何备份都是不一致的 - 获得“干净”备份的唯一方法是正常关闭应用程序(因此它完成所有挂起的写入但不接受任何进一步的请求),然后备份数据库。