注意
如果您运行的是自管理部署,请参阅 从嵌入式配置服务器到专用配置服务器的转换,学习;了解如何使用 transitionToDedicatedConfigServer数据库命令转换配置服务器类型。
当分片集群使用嵌入式配置服务器(称为配置分片)时, Atlas或用户可以将集群过渡为使用专用配置服务器。通过嵌入式配置服务器,配置分片可存储集群元数据和用户数据。使用专用配置服务器时,配置节点仅存储元数据。在某些条件下, Atlas会自动将集群从嵌入式配置服务器过渡到专用配置服务器。您也可以手动启动转换。
开始之前
从嵌入式配置服务器是一项在线操作,需要将所有用户数据从配置分片移出。对于配置分片上有大量数据的集群,此进程可能需要数小时到数天。在开始过渡之前,请确认以下内容:
您的目标分片有足够的空间。在迁移过程中,从配置分片接收数据的分片会发现 CPU、内存和 I/O 增加。过渡运行时, Atlas无法扩展集群层或修改存储,因为一次只能运行一个长时间运行的计划。如果接收分片接近容量,请在开始过渡之前对其扩展扩展。
您的集群仅使用支持的功能。 配置分分片上的MongoDB Search、 MongoDB Vector Search、未分片的时间序列集合和未分片的可查询加密集合区块自动转换。有关阻塞功能的完整列表,请参阅限制和例外情况。
删除
system.profile然后再在早期MongoDB版本上进行过渡。 配置分分片上的 system.profile集合可能会区块转换。如果已启用分析,请在开始过渡前删除system.profile,或者升级到MongoDB8.2.7 或更高版本。
开始过渡
启用 Atlas 托管配置服务器后, Atlas会自动管理嵌入式配置服务器和专用配置服务器之间的转换。下图显示了Atlas何时触发每次转换:

Atlas 托管过渡
Atlas默认为所有 集群默认Atlas 8.0托管的配置服务器。启用后, Atlas会根据分片计数自动在配置服务器类型之间转换集群:
当分片计数增加到超过 3 时, Atlas会从嵌入式配置服务器转换为专用配置服务器。
当分片计数减少到 3 个或更少时, Atlas从专用配置服务器转换为嵌入式配置服务器。
手动过渡到专用配置服务器
要手动触发到专用配置服务器的转换,请完成以下步骤:
在Atlas中,转到项目的 Clusters 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Clusters。
会显示集群页面。
关闭 Atlas-Managed Configuration Servers 开关。
在 Additional Settings > More Configuration Options 下,关闭 Atlas-Managed Configuration Servers 开关。
过渡期间
MongoDB无法移动配置元元数据,因此Atlas必须首先清空配置分片config-0 中的所有用户数据,然后才能过渡到专用配置服务器。作为过渡的一部分, Atlas添加了一个替换分片以维持目标分片数量,因为 config-0 不再提供用户数据。
过渡流程示例
下表显示了在启用 Atlas 托管配置服务器的情况下将第四个分片添加到3 -分片集群时Atlas执行的步骤,这将启动过渡。
步驟 | 操作 | 有效分片数 |
|---|---|---|
开始 | 3- 具有嵌入式配置服务器的分片集群( | 3 |
1 | Atlas添加 | 4 |
2 | Atlas运行 | 4(正在进行清空) |
3 | Atlas等待 | 4(正在进行清理) |
4 |
| 4 |
5 | Atlas将 | 4 |
duration
过渡持续时间取决于配置分分片上的用户数据量。清空配置分片涉及分片的集合的数据数据块迁移和未分片集合的 moveCollection 操作,这两种操作都会通过网络移动数据。持续时间因数据集大小而异:
小型数据集(几GB):几分钟到几小时不等
大型数据集(数百GB到数 TB):数小时到数天
注意
如果您的集群在 配置分片上有大量数据,请在流量低谷期执行过渡。
运营影响
从嵌入式配置配置服务器会对集群的运行产生以下影响:
无需停机。过渡是在线的。您的应用程序在整个过程中都会持续读取和写入。
接收分片时的资源使用量增加。在迁移期间,从配置分片吸收数据的分片可能会遇到更高的 CPU、内存和 I/O。受影响分片上的应用程序延迟可能会略有增加。
Atlas plan 锁。过渡运行期间, Atlas无法在集群上执行其他长时间运行的计划,例如扩展集群层、更改存储或添加或删除其他分片。一次只能运行一个长时间运行的计划。
监控进度
下图显示了可用于监控过渡进度的方法:

过渡期间, Atlas会在集群页面上显示以下横幅:
We are deploying your changes (current action:
transitioning config server type).
限制和例外情况
Atlas不会自动为使用以下功能的集群过渡配置服务器。如果您的集群使用这些功能之一并需要更改配置服务器类型,联系MongoDB支持部门:
功能 | 自动转换 | 解决方案 |
|---|---|---|
MongoDB搜索/向量搜索 Atlas将配置服务器类型固定为启用搜索时的类型。该限制适用于分片的和非分片集合。 | 已阻止(固定) | |
未分片时间序列 MongoDB Server在版本 8.0.10 中取消了根本的限制,但Atlas尚未采用此更改。 | 被阻止 | |
未分片 Queryable 加密
| 被阻止 | |
Atlas 全球集群 不支持嵌入式配置服务器。 | 不适用 | 始终专注 |
副本集到分片集群的转换 当您在Atlas中将副本集转换为分片集群时,生成的集群始终使用专用配置服务器,而无论 Atlas-Managed Configuration Servers 设置如何。 | 不适用 | |
以上都不是 | 允许 | Proceeds online |