4

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

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

从 mongodb / mongodump 文档:

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

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

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

谢谢。

4

1 回答 1

1

以下文档解释了带有 –oplog 选项的 mongodump 如何创建时间点备份。

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

于 2013-07-04T00:02:59.450 回答