- 首页 >
- 问答 >
-
云计算 >
- MongoDB Linux版本更新有哪些注意事项
MongoDB Linux版本更新有哪些注意事项
小樊
45
2025-12-14 12:29:25
MongoDB Linux版本更新的注意事项
一 核心原则
- 备份优先:升级前必须做全量备份(如 mongodump),并确保备份可用;升级过程中断电或异常终止可能导致数据损坏。生产环境建议先在测试环境演练并准备回滚方案。
- 逐级升级:不支持跨大版本直接升级,需按官方支持路径逐步进行(如 4.2 → 4.4 → 5.0),每一步验证稳定后再继续。
- 版本支持:优先选择 偶数系列稳定版(如 4.4、5.0),并关注新版本的 发布说明/变更日志 与废弃特性。
- 兼容性校验:提前评估驱动、ORM/ODM、应用代码对新版本的兼容性;涉及存储引擎变更时需单独规划与验证。
二 升级前后关键检查
- 检查当前与目标版本:确认 mongod --version 与系统环境满足新版本要求;阅读新版本发布说明与兼容性变更。
- 检查特性兼容性版本 FCV:升级前确保 FCV 处于当前大版本(如升级到 4.4 前应为 4.2),命令:
- 查看:
db.adminCommand({getParameter: 1, featureCompatibilityVersion: 1})
- 设置:
db.adminCommand({setFeatureCompatibilityVersion: "4.2"})
- 正常关闭实例:优先使用
db.shutdownServer() 正常关闭,避免 kill -9 导致异常;异常关闭后需按步骤清理 mongod.lock 再启动。
- 配置文件与参数:按需检查 /etc/mongod.conf 等配置在新版本中的变化(网络、存储、审计、安全等参数),必要时调整后再启动。
- 验证升级结果:启动后用
mongod --version、日志与监控确认实例健康,并做基本功能回归测试。
三 不同安装方式的注意点
- RPM/YUM 或 DEB/APT 仓库升级:
- 更新仓库元数据(
apt update 或 yum check-update),安装新版本 mongodb-org 元包或指定组件版本;避免误删旧包导致配置与服务中断。
- 升级后使用
systemctl restart mongod 启动,并校验服务状态与版本。
- 二进制替换升级(tar 包):
- 仅替换必要的可执行文件(如 mongod、mongos,以及旧版的 mongo);从 6.0 起不再内置 mongo,需单独下载 mongosh。
- 替换前先备份原二进制与配置;启动后按步骤提升 FCV 到新版本。
四 集群与分片的升级顺序
- 副本集:逐节点滚动升级(先 SECONDARY,最后 PRIMARY),每一步升级后等待数据同步与业务验证再继续;升级期间保持 ** majority** 写入关注。
- 分片集群:按顺序依次升级 config servers → mongos → shards(各分片同样采用滚动升级);每一步完成后在 mongos 上验证路由与查询正确性。
- FCV 提升时机:通常在单个分片/实例升级完成并验证稳定后,再在对应节点提升 FCV 到新版本;确保升级路径上各节点 FCV 一致再对外提供写入。
五 常见风险与回滚建议
- 禁止跨大版本与跳跃 FCV:未按路径升级或提前提升 FCV 可能导致启动失败或数据校验错误;必要时回退到上一个稳定版本并恢复备份。
- 异常关闭与锁文件:避免
kill -9;若异常关闭导致 mongod.lock 残留,需按官方流程清理后再启动,防止数据损坏。
- Shell 与工具链:从 6.0 起使用 mongosh 替代 mongo;确保驱动与运维工具版本与新版 MongoDB 兼容。
- 回滚预案:保留旧版本二进制与配置、准备可快速恢复的备份;升级窗口内密切监控 日志、延迟、错误率,一旦异常立即回滚。