您可以随时通过 修改 Atlas 集群来升级 Atlas 集群的主要版本。
为了确保您顺利过渡到新的 MongoDB 版本并且不会影响您的应用程序,在生产 Atlas 集群上升级主要版本之前,请使用以下过程创建过渡集群并根据新的 MongoDB 版本测试您的应用程序。
Considerations
以下注意事项适用:
升级之前,您的集群必须处于正常状态。
如果您在主要版本升级前拍摄按需快照,请等待快照完成后再升级版本。
如果您将集群从较低版本升级到MongoDB 8.0,请注意Atlas中的写入阻塞行为。为确保升级到MongoDB 8.0 后专用集群的主节点 (primary node in the replica set)节点写入不会被阻止,请执行以下操作:
升级后,检查集群是否有足够的存储容量来处理工作负载。
启用存储自动伸缩,在磁盘利用率超过 90% 时自动伸缩集群存储,并确保一致的工作负载可用性和性能。
您一次只能升级Atlas 集群一个主要版本。升级集群时无法跳过任何主要版本。
每个主要版本均包含某些可能无法与以前版本向后兼容的功能。升级到新的主要版本时,请查看 发布说明,了解可能影响您的应用程序的更改。
或者,如果您使用Stable API,请确保MongoDB版本之间的行为更改不会在升级后破坏您的应用程序。
MongoDB稳定版API包含MongoDB命令的子集,应用程序使用这些命令读取和写入数据、创建集合和索引以及执行其他常见任务。稳定的API:
允许您指定应用程序运行的MongoDB API版本,并为应用程序提供长期的API稳定性。
支持更频繁的发布和自动服务器升级,使您的应用程序能够利用快速发布的功能,而不必冒向后不兼容更改的风险。
升级MongoDB主要版本后,无法降级到以前的版本,除非在升级前固定集群的 FCV 。
实时迁移要求源集群和目标集群的特征兼容性版本必须匹配其主版本号。要学习有关支持的迁移路径的更多信息,请参阅迁移或导入数据。
从 MongoDB 6.0 开始,
$$SEARCH_META
聚合变量不能在$searchMeta
阶段之后的任何后续阶段使用。如果您想从以前的版本升级到MongoDB 6.0,并在MongoDB搜索
$searchMeta
查询中使用$$SEARCH_META
聚合变量,请在升级集群之前查看,以免出错。
必需的访问权限
要升级集群,您必须具有项目的 Project Owner
或更高角色。
升级MongoDB主版本
要升级MongoDB主版本:
为过渡环境创建 Atlas 集群。
注意
如果已经有 Atlas 集群作为过渡环境,则可以跳过此步骤。
单击 Create 按钮,打开集群创建模式。配置暂存集群以匹配生产集群。不必为暂存集群启用备份。
要了解如何创建新集群,请参阅创建集群。
重要
如果为暂存集群选择较小的集群层, 请考虑运行的任何性能测试 可能无法代表升级后的生产集群的性能。 您可能还需要根据 要镜像到暂存集群的数据量来选择更大的存储大小。
将您的暂存应用程序指向暂存集群。
更新暂存应用程序以点暂存集群。有关检索暂存集群的MongoDB驱动程序友好连接字符串的说明,请参阅通过驱动程序连接到集群。
确认应用程序可以成功连接到暂存集群并且应用程序按预期运行。
(可选)将您的应用程序升级到最新的 MongoDB 驱动程序。
将应用程序升级到适用于集群MongoDB版本的最新MongoDB驱动程序,即可完全访问权限较新MongoDB版本提供的功能。您还可能会发现较新的驾驶员版本具有更好的性能或稳定性。有关针对给定MongoDB版本推荐的MongoDB驾驶员的文档和连接示例,请参阅通过驱动程序连接到集群。通过使用Stable API,您可以确保MongoDB版本之间的行为更改不会破坏您的应用程序。
如果升级应用程序后遇到错误,请在 JIRA 项目中为您的 MongoDB 驱动程序提交工单。
将生产集群升级为目标 MongoDB 版本。
对暂存集群的性能和操作有信心后,请对生产集群重复升级过程:
使用较新的MongoDB驱动程序升级生产应用程序,并测试其是否正常运行。此步骤可确保您的应用程序在数据库升级之前与新的MongoDB版本兼容。
准备好应用程序后,升级生产集群上的MongoDB版本。当Atlas完成升级后,请检查应用程序是否正常连接和运行。
如果升级后的生产集群出现问题, 请使用以下部分的过程提交一个高优先级支持票证。
在升级期间管理功能兼容性 (FCV)
Atlas和本地部署部署均支持MongoDB主要版本升级。 FCV启用或禁用保留与早期版本MongoDB不兼容的数据的功能。您可以在Atlas中升级之前锁定集群的FCV ,这样您就可以在升级后将MongoDB恢复到以前的版本,而不会遇到版本兼容性问题。
您可以通过以下步骤固定和取消集群的FCV 、将集群降级一个主要版本或文件支持票证。
警告
FCV是一种短期指标,在固定日期后最多仅持续 4周,并且不会模拟以前二进制版本的行为。它仅推迟升级某些支持新服务器功能的内部数据结构。 在确信无需降级到以前的版本后,取消固定FCV以匹配当前的二进制版本。
限制
固定集群的FCV
当您的集群具有固定的FCV时,集群卡底部集群的 Version旁边会出现一个固定图标。如果将游标悬停在图钉图标上,则会出现显示FCV和到期日期的工具提示。
Atlas会在到期日期当日或之后开始的下一个维护窗口取消固定集群的FCV 。
如果您已经升级了集群的MongoDB版本,Atlas会在 PIN 过期后升级其FCV以匹配其MongoDB版本。
要固定集群的FCV :
取消固定集群的FCV
要为集群取消固定FCV :
要使用API取消固定集群的FCV ,请参阅从一个项目中取消固定一个集群的FCV 。
将集群降级一个主要版本
降级集群版本时应用以下限制:
只有在升级之前固定集群的FCV ,才能降级。
您只能将集群降级到与固定的FCV匹配的主要版本。
仅当固定的FCV仅比当前FCV低一个主要版本并且您未启用快速发布时,您才能执行此动作。
您无法降级到生命周期结束后的版本。
要将集群降级一个主要版本,请执行以下操作:
联系支持人员
如果您对迁移支持有任何超出本文档范围的问题, 或者在迁移过程中遇到错误, 请通过 Atlas 用户界面提交支持工单。