MongoDB MongoDB 的备份策略

iamroody · 2014年08月14日 · 最后由 duobei 回复于 2015年04月30日 · 5348 次阅读

用dump整个数据库的方式来备份,会完全占满磁盘IO,基本上server就会处于不可用的状态,并且备份出来动辄好几个G的数据库文件也不好管理。

想要使用MongoDB的MMS服务,增量的oplog备份看起来很不错,但是不知道对国内MongoDB服务器备份起来,带宽或者其他方面是否有影响。

所以想要请教大家,你们的MongoDB的备份策略是咋做的?

共收到 9 条回复

不同的实体机做 Replication,全量备份在 Slave 上面做

@huacnlee 这种方案有试过可行吗? 外网服务器A,家里ADSL+路由器,然后又一台机器B接到路由器。 现在A做mongo master, B做slave。A,B能正常工作吗?要实践的,理论上肯定是可行的

用replica set。备份要节点设置成hidden,不让客户端连接

@zhangyuan @huacnlee 现在我们的服务器结构就是replica set,那就是说专门一台备份节点只用来备份,其他的事都不干,还是使用dump的方式来坐全量备份。 有试过做镜像的方式来对db做备份,或者使用OPLOG来做增量备份?

#4楼 @iamroody 我的经历是,备份节点只用来备份。

另外,在 replica set里, MongoId 会连所有节点。如果灾备节点在异地,就会非常慢,所以要把备份节点设置成 hidden。

#5楼 @zhangyuan 我们现在的replica set集合是3个DB server, 现在多加进来一台hidden的节点,还需要再加一个arbiter来达到5个。对么?

#2楼 @putty 不能。各个节点要求是同机房的服务器

能支持增量备份最好,但是目前还没有什么更好的增量备份方式

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册