Mongodb 分片备份/恢复
我们在生产服务器中使用 mongodb 分片,并在每个分片上有 2 个分片和 3 个副本集(包括仲裁器)。记录还根据写入请求进行分发。但我们必须知道如何进行备份,因为我们在 mondodb 中有超过 50Lks 的记录。所以我们需要做好记录。实际上,目前我们正在使用主 IP 和端口在每个分片服务器中使用 mongodump 进行备份。
每次我们需要在每个分片服务器上进行备份,以防将来我将添加一个分片,我们也需要在该服务器上执行相同的过程。因此,如果使用 mongos 有任何其他可能性,请分享您的意见。
问候, 库马兰
We are using mongodb sharding in production server and having 2 sharding and 3 replica set including arbitor on each shard. Records also distributed based on write request. But we have to know how will take a backup, because we are having more then 50Lks records in mondodb. So we need to take a records. Actually at present we are taking backup using mongodump in each shard server using primary IP and port.
Each time we need to take a backup on each shard server, incase on future i will add one more shard the same process we need to do on that server also. So please share your input if any other possiblities using mongos.
Regards,
Kumaran
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下是一些使用 LVM 快照创建一致的 mongodb 分片集群备份的 python 代码: https:// github.com/knyar/mongoclusterscripts/tree/master/mongo-backup
Here's some python code that creates consistent mongodb sharded cluster backups using LVM snapshots: https://github.com/knyar/mongoclusterscripts/tree/master/mongo-backup
看一下这个:
备份分片集群。
简而言之:
对于小型集群,您可以仅使用
mongodump
来对抗mongos
。备份较大的集群将涉及在各个分片上运行
mongodump
。Take a look at this:
Backing Up Sharded Cluster.
In short:
for small clusters you can just use
mongodump
againstmongos
.backing up larger clusters will involve running
mongodump
on individual shards.