对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

将Atlas核心集群过渡到专用配置服务器

注意

如果您正在运行自管理部署,请参阅 从嵌入式配置服务器过渡到专用配置服务器 以学习如何使用 transitionToDedicatedConfigServer 数据库命令过渡配置服务器类型。

当分片集群使用嵌入式配置服务器(称为配置分片)时, Atlas或用户可以将集群过渡为使用专用配置服务器。通过嵌入式配置服务器,配置分片可存储集群元数据和用户数据。使用专用配置服务器时,配置节点仅存储元数据。在某些条件下, Atlas会自动将集群从嵌入式配置服务器过渡到专用配置服务器。您也可以手动启动转换。

从嵌入式配置服务器是一项在线操作,需要将所有用户数据从配置分片移出。对于配置分片上有大量数据的集群,此进程可能需要数小时到数天。在开始过渡之前,请确认以下内容:

  • 您的目标分片有足够的空间。在迁移过程中,从配置分片接收数据的分片会发现 CPU、内存和 I/O 增加。过渡运行时, Atlas无法扩展集群层或修改存储,因为一次只能运行一个长时间运行的计划。如果接收分片接近容量,请在开始过渡之前对其扩展扩展。

  • 删除 system.profile 然后再在早期MongoDB版本上进行过渡。 配置分分片上的 system.profile集合可能会区块转换。如果已启用分析,请在开始转换前删除system.profile ,或升级到MongoDB..8 27或更高版本。

  • 配置服务器上的写入阻塞不得处于活动状态。如果配置服务器上的写入阻塞处于活动状态,Atlas不允许过渡到专用配置服务器。 Atlas在集群页面上显示横幅,指示写入阻塞处于活动状态时转换受阻。要继续,请增加集群存储或启用存储自动伸缩以清除写入阻塞条件,然后重试转换。

启用Atlas 托管配置服务器后, Atlas会自动管理嵌入式配置服务器和专用配置服务器之间的转换。下图显示了Atlas何时触发每次转换:

“Atlas将集群从嵌入式配置服务器过渡到专用配置服务器时的决策流程。”
点击放大

Atlas默认为所有 8.0 集群默认Atlas 托管的配置服务器。启用后, Atlas会根据分片计数自动在配置服务器类型之间转换集群:

  • 当分片计数增加到超过 5 时, Atlas会从嵌入式配置服务器转换为专用配置服务器。

  • 当分片计数减少到 5 个或更少时, Atlas从专用配置服务器转换为嵌入式配置服务器。

注意

当您将分片集群从MongoDB 7.0升级到 8.0 时, Atlas会打开 Atlas 托管的配置服务器,但不会更改集群的现有配置服务器类型。从MongoDB 8.0 开始,Atlas 托管的配置服务器默认,并且这些条件仅应用于分片计数更改。要将集群移至嵌入式配置服务器,联系MongoDB支持部门。

要手动 trigger 到专用配置服务器的转换,请完成以下步骤:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 在侧边栏中,单击 Database 标题下的 Clusters。

会显示集群页面。

2

单击集群名称旁边的 ,然后选择 Edit Configuration。展开 Additional Settings 面板,为集群配置其他设置。

3

关闭 Atlas-Managed Configuration Servers 开关。

在 Additional Settings > More Configuration Options 下,关闭 Atlas-Managed Configuration Servers 开关。

4

单击 Review Changes,然后单击 Apply Changes。Atlas立即开始转换为专用配置服务器。

MongoDB无法移动配置元元数据,因此Atlas必须首先清空配置分片config-0 中的所有用户数据,然后才能过渡到专用配置服务器。作为过渡的一部分, Atlas添加了一个替换分片以维持目标分片数量,因为 config-0 不再提供服务用户数据。

下表显示了在启用 Atlas 托管配置服务器的情况下将第六个分片添加到5 -分片集群时Atlas执行的步骤,这将启动过渡。

step
操作
有效分片数

开始

5- 具有嵌入式配置服务器的分片集群(config-0、shard-0、shard-1、shard-2、shard-3)

5

1

Atlas添加 shard-4,使集群达到目标分片数量。集群现在有 6 个面向用户的分片:shard-0、shard-1、shard-2、shard-3、shard-4 和 config-0,它们仍然存储用户数据。

6

2

Atlas运行transitionToDedicatedConfigServer ,它会在内部于removeShard 上运行config-0 。分片集合使用数据块迁移通过负载负载均衡器引流到其他分片。未分片集合通过moveCollection 移动。

6(正在进行清空)

3

Atlas等待orphanCleanupDelaySecs config-0827过去,然后再确认 已清除。在运行早于.. 的MongoDB版本的集群上, Atlas会等待所有范围删除完成,这可能需要更长的时间。

6(正在进行清理)

4

config-0 转换为专用配置服务器。 Atlas添加 shard-5 以恢复目标分片数量。 6 面向用户的分片现在是 shard-0、shard-1、shard-2、shard-3、shard-4 和 shard-5。

6

5

Atlas将 config-0 缩减为专用配置服务器的默认M30。

6

过渡持续时间取决于配置分分片上的用户数据量。排干配置分片涉及分片的集合的数据数据块迁移和未分片集合的 moveCollection 操作,这两种操作都会通过网络移动数据。持续时间因 datasets 大小而异:

  • 小型 datasets(几GB):几分钟到几小时不等

  • 大型 datasets(数百GB到数 TB):数小时到数天

注意

如果您的集群在 配置分片上有大量数据,请在流量低谷期执行过渡。

从嵌入式配置配置服务器会对集群的运行产生以下影响:

  • 无需停机。过渡是在线的。您的应用程序在整个过程中都会持续读取和写入。

  • 接收分片时的资源使用量增加。在迁移期间,从配置分片吸收数据的分片可能会遇到更高的 CPU、内存和 I/O。受影响分片上的应用程序延迟可能会略有增加。

  • Atlas plan 锁。过渡运行期间, Atlas无法在集群上执行其他长时间运行的计划,例如扩展集群层、更改存储或添加或删除其他分片。一次只能运行一个长时间运行的计划。

下图显示了可用于监控过渡进度的方法:

“监控嵌入式配置服务器到专用配置服务器的转换进度。”
点击放大

过渡期间, Atlas会在集群页面上显示以下横幅:

We are deploying your changes (current action: transitioning config server type).

Atlas不会自动为使用以下功能的集群过渡配置服务器。如果您的集群使用这些功能之一并需要更改配置服务器类型,联系MongoDB支持部门:

功能
自动转换
解决方案

MongoDB Search / 向量搜索

Atlas将配置服务器类型固定为启用搜索时的类型。该限制适用于分片的和非分片集合。

已阻止(固定)

未分片时间序列

MongoDB Server取消了版本 8.0.10 中的根本的限制,但Atlas尚未采用此更改。

已阻止

未分片 Queryable Encryption

moveCollection 不支持Queryable 加密集合。

已阻止

Atlas 全球集群

不支持嵌入式配置服务器。

不适用

始终专注

副本集到分片集群的转换

当您在Atlas中将副本集转换为分片集群时,生成的集群始终使用专用配置服务器,而无论 Atlas-Managed Configuration Servers 设置如何。

不适用

以上皆无

允许

Proceeds online