31.34K 浏览2015/05/17驱动程序 0 xuyongsheng2008@hotmail.com0 2015/05/18 0条评论 各位大大好: 请教个问题,麻烦问下mongodb的分片备份是如何做的?是对mongos备份,还是对各个分片进行单独备份,针对分片进行单独备份,块的移动的影响是怎么处理的? 4 答案 活跃已投票最新最老的 0 xuyongsheng2008@hotmail.com0 发布 2015/05/18 0 条评论 恩恩,了解了。 谢谢eshujiushiwo 0 eshujiushiwo16 发布 2015/05/18 0 条评论 HI 你的通过mongos的备份方式其实也是错误的。 因为即使你关闭了balancer,数据还是在变动的。我们备份的时候 希望的是某一个时间点的一致性数据。 比如10点的快照数据。 在各个shard分片,做完一致性的备份之后,恢复的时候,也是全部各个分片一起恢复。你这里描述的是只恢复某一个分片上的数据?这样的恢复是不可行的。 0 xuyongsheng2008@hotmail.com0 发布 2015/05/18 0 条评论 谢谢eshujiushiwo 我没说清楚,对mongos备份是在关闭均衡器后,通过mongos运行mongodump,对所有分片建立备份,这种在集群很小的时候还可以,但集群大了的时候就会相当耗时间 对各个shard进行单独备份,有个问题就是在备份后如果块移动了,然后又需要恢复备份,这个时候备份后移动过来的数据就会在恢复备份后消失,这个该怎么处理呢。 0 eshujiushiwo16 发布 2015/05/18 0 条评论 你好。 mongos仅仅是一个路由服务器,通过其进行读数据是OK的。 1.是对各个shard 进行单独备份的(建议在一个不影响服务的从节点)。 2.在一切备份进行之前需要关闭balancer,且确保没有chunk在move了。 3.config server 也需要在此时备份。 注册 或 登录