MongoDB MongoDB 的备份策略

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

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

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

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

不同的实体机做 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 不能。各个节点要求是同机房的服务器

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

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