Mongodump使用--oplog进行热备份

时间:2013-07-03 16:34:22

标签: mongodb database-backups

我正在寻找在副本集上进行Mongodb备份的正确方法(非分片)。

通过阅读Mongodb文档,我知道即使在副本(从属)服务器上,“mongodump --oplog”也应该足够了。

From the mongodb / mongodump documentation :

  

- OPLOG   使用此选项可确保mongodump创建包含oplog的数据库转储,以创建mongod实例状态的时间点快照。要还原到特定的时间点备份,请将使用此选项创建的输出与mongorestore --oplogReplay结合使用。

     

如果没有--oplog,如果在转储操作期间存在写入操作,则转储将不会反映单个时刻。在更新过程中对数据库所做的更改可能会影响备份的输出

我仍然很难理解Mongodb如何备份并继续写入数据库并进行一致的备份,即使使用--oplog也是如此。 我应该先锁定我的收藏品还是运行“mongodump --oplog? 还有什么我应该知道的吗?

感谢。

1 个答案:

答案 0 :(得分:1)

以下文档说明了mongodump with -oplog选项如何用于创建时间点备份。

http://docs.mongodb.org/manual/tutorial/backup-databases-with-binary-database-dumps/

但是,使用mongodump和mongorestore来备份和恢复MongodDB可能会很慢。如果文件系统快照是一个选项,您可能需要考虑使用快照进行MongoDB备份。以下链接中的信息详细说明了用于执行MongoDB热备份的两个快照选项。

http://docs.mongodb.org/manual/tutorial/backup-databases-with-filesystem-snapshots/

您还可以查看MongoDB备份服务。

http://www.10gen.com/products/mongodb-backup-service