想为mongodb做一个增量备份。日记? OPLOG?

时间:2012-08-15 17:26:57

标签: mongodb backup journaling binlog

我想每天备份一个mongodb数据库,可能还有mongodump。为了不丢失任何数据,我希望这是渐进的,所以如果在一天中间出现问题,我需要能够重播当天的更改直到执行mongorestore之后的失败点。

我是否正确理解我需要使用oplog?还是记录答案?我尝试了以下操作:

  1. 将我的mongo数据库转换为只有一个的副本集,以便创建一个oplog。 (这感觉非常hacky)
  2. 使用--oplog选项重新启动mongod
  3. 执行应记录在oplog中的更改
  4. 然而,没有任何东西存储在oplog中。进行此类增量备份的最佳方法是什么?我基本上都在寻找类似的方法来重放mysql binlog。

    由于

2 个答案:

答案 0 :(得分:6)

MongoDB不提供开箱即用的增量备份选项,但可以执行文件快照并重放oplog。您是否按照文档中列出的步骤将服务器设置为副本集? http://www.mongodb.org/display/DOCS/Replica+Sets+-+Basics

您能告诉我们这些备份的目的吗?您是否考虑过将第二个节点添加到副本集以获得数据持久性?

如果您已经完成了将服务器设置为副本集成员的步骤,您可以在shell中运行rs.status()吗?

另一个注意事项(只是为了澄清) - 日记并不意味着备份策略;日志记录仅确保数据库在发生故障转移时可以返回到一致状态。强烈建议启用日记功能。

以下是备份的MongoDB文档: http://www.mongodb.org/display/DOCS/Backups

答案 1 :(得分:0)

执行备份的最佳方法是将Ops Manager配置为MongoDB基础架构的一部分,但它不仅仅是备份......