Mongodump 与 --oplog 进行热备份

Ari*_*sry 5 database-backups mongodb

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

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

来自 mongodb / mongodump 文档:

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

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

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

谢谢。

小智 1

以下文档解释了带有 \xe2\x80\x93oplog 选项的 mongodump 如何创建时间点备份。

\n\n

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

\n\n

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

\n\n

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

\n\n

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

\n\n

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

\n