MongoDB 在 Ubuntu 上升级的关键注意事项
一 升级前检查清单
- 明确目标版本与升级路径:跨大版本(如 4.4 → 5.0 → 6.0 → 7.0)通常要求按序升级,不能跨多代;先查阅对应版本的发行说明与兼容性变更。
- 完整备份与可回滚方案:使用 mongodump 全量备份,保留旧版本二进制与配置,确保可快速回滚。
- 检查磁盘与资源:确保 /var/lib/mongodb、/var/log/mongodb 所在分区有足够空间,避免升级过程因磁盘不足失败。
- 选择维护窗口:在业务低峰期执行,提前通知应用方,准备回滚预案与监控告警。
- 核对依赖与驱动:驱动、O/S 库、存储引擎(如 WiredTiger)与复制集/分片拓扑均满足新版本要求。
- 记录变更:导出当前配置(如 /etc/mongod.conf)、用户权限与参数,便于比对与恢复。
- 安全与合规:升级前临时收紧安全策略(如限制维护网段访问),升级完成再恢复。
- 小范围演练:如条件允许,先在测试/预发环境演练全流程。
以上要点中的备份、版本确认与基础流程为 Ubuntu 上 MongoDB 升级的通用实践,可显著降低风险。
二 升级路径与兼容性
- 按代升级:遵循官方支持矩阵,通常需逐代升级(例如 4.4 → 5.0 → 6.0 → 7.0),避免一次性跨多代导致数据格式/特性不兼容。
- 小版本可直接升级:同一主版本内的小版本一般可直接通过包管理器升级。
- 查看变更日志:重点留意存储引擎、认证机制、命令与参数弃用/变更、默认行为调整等。
- 应用与驱动适配:升级后及时升级客户端驱动与 ORM/ODM,避免因协议或命令变化导致应用异常。
- 复制集/分片:滚动升级时逐个节点进行,遵循官方步骤,确保多数派与数据一致性。
这些注意事项强调版本兼容性与按序升级的重要性,是避免升级失败的关键。
三 APT 源与仓库配置
- 使用官方仓库:导入 MongoDB 官方 GPG 公钥并添加对应 Ubuntu 版本代号 的仓库(如 focal、jammy),避免第三方源导致版本错配。
- 架构匹配:在源中声明正确的 amd64/arm64,防止安装失败或不匹配的包。
- 版本锁定与精确安装:如需精确控制版本,可指定整套组件版本(如 mongodb-org-server、mongodb-org-shell、mongodb-org-mongos、mongodb-org-tools),避免混合版本。
- 升级方式:优先使用包管理器执行升级(如仅升级或重装),减少手工替换二进制带来的风险。
- 仓库一致性:确保系统仅启用一个 MongoDB 官方源,避免多源冲突。
以上为 Ubuntu 上通过 APT 正确配置与升级 MongoDB 的要点。
四 服务与数据安全操作
- 有序启停:升级前优雅停止 mongod,升级完成后按序启动并检查状态;必要时重启服务加载新版本。
- 配置与权限核对:升级后复核 /etc/mongod.conf 关键参数(如 storage.dbPath、net.bindIp、security.authorization),确认用户角色与认证配置生效。
- 日志与监控:实时查看 mongod.log,关注启动报错、弃用警告与性能回退;升级后对关键指标(连接数、延迟、复制滞后)加强监控。
- 验证与回滚:连接 shell 验证版本与基本操作(如 db.version()),抽样校验集合与索引;异常时立即回滚到备份与旧版本。
这些步骤有助于确保升级过程的可观测性与可回滚性,降低业务中断风险。