欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 《Linux运维总结:使用 MongoDB工具备份和恢复mongodb 7.0.14分片集群(方案一)》

《Linux运维总结:使用 MongoDB工具备份和恢复mongodb 7.0.14分片集群(方案一)》

2025/4/24 15:58:48 来源:https://blog.csdn.net/m0_37814112/article/details/142526269  浏览:    关键词:《Linux运维总结:使用 MongoDB工具备份和恢复mongodb 7.0.14分片集群(方案一)》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、备份说明

1、要使用mongodump备份分片集群,您必须 停止负载均衡器 停止写入,避免备份的数据出现状态不一致问题。
2、从MongoDB7.0.2开始(也可以从6.0.11和5.0.22开始使用),fsync和fsyncUnlock命令可以在mongos上运行,以锁定和解锁分片集群。


二、备份步骤

2.1、查找备份窗口(路由节点)

说明、要找到执行备份的好时机,请监控应用程序和数据库的使用情况,以找到不太可能发生数据块迁移、重分片和模式转换操作的时间。

负载均衡默认是开启的,为了避免chunk迁移影响线上业务,可以通过设置迁移执行窗口,例如只允许凌晨02:00~06:00期间进行迁移。

# 连接其中一个路由节点
use config
db.settings.updateOne({ _id : "balancer" },{ $set : { activeWindow : { start : "02:00", stop : "06:00" } } },true
)
db.settings.find({ _id: "balancer" })

如下图所示:
在这里插入图片描述

总结、此操作将负载均衡器配置为在服务器时间上午02:00到晚上06:00之间运行。 安排备份操作在此时间之外运行和完成。 确保当负载均衡器正在运行时,备份可以在窗口外完成,并且负载均衡器可以在分配给每个分片的窗口中有效地平衡分片之间的集合。


2、假设你希望恢复到默认的活动窗口设置(例如,不启用活动窗口限制),你可以再次使用updateOne命令:

use config
db.settings.updateOne({ _id : "balancer" },{ $unset : { activeWindow : "" } },{ upsert: true }
)
db.settings.find({ _id: "balancer" })

2.2、停止负载均衡器(路由节点)

为防止数据块迁移干扰备份,请连接到其中一个路由节点并使用 sh.stopBalancer() 方法停止负载均衡器:

[direct: mongos] test> sh.isBalancerRunning().mode
[direct: mongos] test> sh.stopBalancer()
[direct: mongos] test> sh.isBalancerRunning().mode
off

如果返回值为off,则表示已经关闭,如下图所示:
在这里插入图片描述


2.3、锁定集群(分片节点)

说明:路由节点、配置节点不需要锁定,分片节点需要锁定。分片节点通过主节点进行锁定,锁定完成后,需要在路由节点确认锁定集群。

1、未锁定集群前,路由节点查看锁定情况

[direct: mongos] test> db.getSiblingDB("admin").aggregate( [{  $currentOp: { } },{</

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词