修改集群
在此页面上
您可以在初始配置后修改集群。
有关可用选项的摘要,请参阅 Atlas 配置选项。
有关详细的配置步骤,请参阅必需的访问权限和随后的选项。
有关集群更改的影响、成本和备份策略的更多信息,请参阅考虑因素。
Atlas 配置选项
您可以更改 Atlas 集群的以下选项:
设置 | 操作 | 限制 |
更改集群类型。 | 您只能从共享集群移动到专用集群或无服务器实例。 | |
为集群启用全局写入功能或更改现有的全局集群配置。 | 为集群启用全局写入后,您将无法禁用它们。 | |
选择其他提供商以更改专用集群的云提供商。 如果您在 AWS 上创建了 Atlas 集群,或在 2020 年 11 月 2 日之后创建了 Atlas 集群,则您的连接字符串不会更改。您不会遭遇集群停机。 | 如果您在 2020 年 11 月 2 日 (当时 Atlas 增加了对多云集群的支持)之前在 Google Cloud 或 Azure 上创建了 Atlas 集群,那么更改为其他提供商会更改新集群的连接字符串。您可以考虑安排一个时间,使用新的连接字符串更新应用程序 ,以便再次连接到集群。 要了解详情,请参阅从专用集群迁移到不同的 cloud 提供商时,是否必须更新连接字符串? 如果您将节点添加或移动到没有主节点或没有现有从节点的区域,则需要每个新迁移的副本集成员执行初始同步。 对于 Azure 上的集群,如果更改区域,则该区域的某些存储功能可能不可用。Atlas 用户界面会通知您 IOPS 可能会降低,进而影响应用程序的性能。要了解更多信息,请参阅支持扩展存储的区域,以及在 Azure 上扩展存储容量和 IOPS。 | |
部署或修改多云、多区域集群。 | 对于部署在 Azure 上的集群,如果变更为多区域集群,则可能在某个区域发现某些存储卷功能不可用。Atlas UI 会通知您 IOPS 可能降低,进而影响应用程序的性能。要了解详情,请参阅支持扩展存储的区域,以及在 Azure 上扩展存储容量和 IOPS。 | |
更改集群层。 | ||
更改集群层的存储选项。 | 使用 NVMe 存储的集群在每个集群层都有固定的大小。 | |
更改集群的自动扩展选项,包括存储自动扩展。Atlas 会根据最小 oplog 保留窗口或 oplog 大小来管理 oplog 条目,具体取决于您是否选择使用存储自动伸缩。要了解详情,请参阅 Oplog 大小行为。Atlas 默认启用存储自动伸缩。 | 无 | |
升级集群的主 MongoDB 版本。 | 除非在升级前固定集群的FCV ,否则无法降级MongoDB版本。 | |
将副本集纵向扩展为分片集群。 | 您无法逆转这一纵向扩展。 Atlas 支持对 为集群启用以下任一 Atlas App Services 功能时,无法将副本集转换为分片集群:
| |
设置分片集群的分片数。 | 减少分片数量需要一些时间。Atlas 会根据分片 重要提示:当您删除分片时,Atlas 使用 movePrimary 命令,将该分片中任何未分片的数据库移动到剩余的分片:
Atlas 支持对 | |
为集群启用或禁用备份。 | Atlas 自动启用 M2 和 M5 集群的备份。您无法在这些层级的集群上禁用备份。 | |
为此集群启用或禁用 BI Connector for Atlas。 MongoDB Connector for Business Intelligence for Atlas (BI Connector) 仅适用于 BI Connector是一款功能强大的工具,可为用户提供基于SQL的MongoDB数据库访问权限。 因此, BI Connector执行的操作可能会占用大量 CPU 和内存。 由于 | 无 | |
启用或禁用将自己的加密密钥用于此集群。 | 无 |
完成后单击“应用更改”。
Considerations
迁移、可用性和性能影响
对集群进行更改通常需要迁移到新的服务器和存储卷。初始同步和跨存储卷重新同步数据所需的时间与集群中的数据量呈线性增长。
在需要初始同步时,基于文件拷贝的初始同步将始终用于同步 NVMe 集群的所有节点。
以下迁移需要进行初始同步:
从免费集群或共享集群(
M0
、M2
和M5
集群)扩展到更高的集群层。从常规存储卷更改为 NVMe 存储卷以及从 NVMe 存储更改为常规存储。
从一个 NVMe 集群层升级或降级另一层时,可手动启动或通过自动伸缩启动。当 90% 的可用存储空间已被使用时,NVMe 集群会自动伸缩到下一更高层级。
需要更换支持 NVMe 的 Atlas 集群的更改,例如区域更改。
对于部署到 Azure 的集群,更改集群类。
要最大限度地提高可用性:
对于副本集,Atlas 可以一次迁移一个节点,首先是从节点,然后是主节点。
对于分片集群,Atlas 会独立执行分片迁移。对于每个分片(例如副本集),Atlas 会一次迁移一个节点,首先是从节点开始,然后是主节点。
可重试写入应防止在选择新的主节点时出现任何写入错误。平均而言,一次选举可能需要五秒钟。
如果主节点已经达到操作容量,则迁移可能会影响性能。每个新迁移的副本集节点都必须从主节点执行初始同步,从而增加了操作负载。如果您将读取偏好设置为通过从节点读取,则迁移也会影响性能。在迁移过程中,副本集会关闭一个从节点。
如果 Atlas 集群上的工作负载妨碍了操作(包括扩展能力),在某些情况下,MongoDB Atlas 可能会在集群中创建索引以作为保障。
帐单
更改集群时,可以在应用不同选项之前比较这些选项的成本。Cluster Overview(集群概述)框显示所选配置的成本,不包括数据传输。
以下部分提供每个 Atlas 集群扩展配置选项的完整文档。
备份
有关备份集群的更多信息,请参阅云备份。
必需的访问权限
要修改集群,您必须对此项目拥有Project Cluster Manager
或更高访问权限。
编辑集群
您可以使用 Atlas CLI 修改此页面上的任何集群设置。
要使用 Atlas CLI 更新集群,请运行以下命令:
atlas clusters update [clusterName] [options]
要使用 Atlas CLI 升级 M0
、M2
或 M5
Atlas 集群的集群层、磁盘大小和/或 MongoDB 版本,请运行以下命令:
atlas clusters upgrade [clusterName] [options]
要详细了解先前命令的语法和参数,请参阅 Atlas CLI 文档中的 atlas clusters update 和 atlas clusters upgrade。
编辑高级设置
要使用 Atlas CLI 更新一个集群的高级配置设置,请运行以下命令:
atlas clusters advancedSettings update <clusterName> [options]
要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas clusters advancedSettings update。
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(集群)。
会显示集群页面。
或者,如果您已经在查看特定集群,请单击Configuration按钮。对于M0
免费集群,您还可以单击集群的Upgrade按钮。
修改集群类型
如果您有共享集群,则可以将其更改为专用集群或无服务器实例。
要将共享集群转换为无服务器实例,请参阅将共享集群转换为无服务器实例。
要将您的 M0
、M2
或 M5
集群扩展到 M10+
集群,请完成以下步骤:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(集群)。
会显示集群页面。
选择首选的集群层。
如要了解更多信息,请参阅修改 Cluster Tier。
专用集群的配置选项比共享集群更多。
修改 Global Cluster Configuration
重要
一经部署,无法禁用集群的全局写入。
您可以为集群启用全局写入功能或修改现有的全球集群配置。
修改 Cloud Provider & Region
注意
Considerations
M0
层级集群- 只有将
M0
集群扩展到更大的集群时,才能修改云提供商和区域。 M2
或更大层级的集群- 当您修改集群或扩展到更大的集群时,您可以修改云提供商和区域。
如果您的旧集群部署在 Google Cloud 或 Azure 上的时间是在 2020 年 10 月之前,则更改为其他提供商会更改与新集群的连接字符串。请考虑安排时间使用新的连接字符串更新应用程序,以恢复与集群的连接。Atlas 将数据迁移到新集群。
如果您在 Atlas 集群上部署了搜索节点,则无法修改云提供商或云提供商区域。
要查看该集群的当前云提供商和地区,请选择 Cloud Provider & Region(云提供商和地区)。
要修改应用于此集群的云提供商和地区,请按照可选举节点的高可用性中的步骤操作。
要在区域性中断期间向集群添加可选举节点,请按照在区域性中断期间重新配置副本集中的步骤操作。
要从 Atlas 免费集群或共享集群向上扩展,请从可用的云提供商中进行选择。
要删除或部署其他搜索节点,请调整 Search nodes for workload isolation(用于工作负载隔离的搜索节点)下的 Number of Search Nodes(搜索节点数量)设置。您可以在集群上部署 2 到 32 个搜索节点。
如果删除集群上的所有现有搜索节点,则在处理搜索查询结果时会出现中断,同时 Atlas 会从在专用搜索节点上单独运行的
mongot
进程迁移到与mongod
并行运行的mongot
进程。当索引在托管mongot
和mongod
进程的节点上构建时,您无法运行查询,并且您将遇到查询停机。当您将搜索节点添加到没有任何搜索节点的集群中时,与
mongod
同时运行的现有mongot
进程将尾随数据库写入操作,这发生在 Atlas Search 完成初始同步之后,而新的专用搜索节点上的mongot
进程会对所需的集合执行初始同步。这会导致迁移进程中出现双重读取。
查看可用区域
要使用 Atlas CLI 列出 Atlas 支持新部署的可用地区,请运行以下命令:
atlas clusters availableRegions list [options]
要了解有关命令语法和参数的更多信息,请参阅 atlas clusters availableRegions list。
修改 Cluster Tier
您可以更改集群层,以及所选集群的内存、存储和 IOPS(速度)规格。 如果您为M10
或更高级别的集群单独部署搜索节点,您还可以更改搜索层。
注意
如果您启用了备份合规策略,则无法将集群层修改为不支持云备份的层。
免费集群和共享集群注意事项
您无法将
M10+
专用集群缩减为M0
免费集群或M2/M5
共享集群。在以下情况下,更改集群层需要停机:
您可从
M0
免费集群或M2/M5
共享集群更改为M10
或更大的集群层。您从
M0
可用集群更改为M2/M5
共享集群。您可从
M2
共享集群更改为M5
共享集群。为防止数据损坏,请在扩展期间停止对集群的写入操作。
集群层
选择首选的集群层。如果您单独部署搜索节点,请在 Base Tier(基础层)标签页中选择首选的集群层。所选实例大小决定了集群中每个承载数据的服务器 [1] 的内存、存储、vCPU 和 IOPS 规格。
警告
从租户(免费或共享)层级升级到专用集群层级会删除当前集群。要保留现有快照,请在升级集群前下载这些快照。
注意
修改集群层时,Atlas 会重新启动集群中的所有节点。
在 Cluster Tier(集群层)部分,您还可以:
您可以根据分析工作负载选择大小适当的集群层。要学习;了解更多信息,请参阅用于工作负载隔离的分析节点。
搜索层级
在 Search Tier(搜索层级)标签页中,选择首选搜索层级。如果所选搜索层级在您所在地区不可用,Atlas 会自动切换到您所在地区的下一个更高的搜索层级。所选实例大小决定了集群上每个搜索节点的内存、存储、IOPS 规格和费用。
注意
修改搜索层级时,Atlas 会重新启动集群中的所有节点。
Modify Additional Settings
您可以设置以下选项:
升级集群的 MongoDB 版本
重要
在升级集群之前,请参考当前推荐的主要版本升级最佳实践。
选择 Additional Settings(其他设置),查看为集群当前配置的 MongoDB 版本。
Atlas 始终通过滚动流程将集群升级到指定版本的最新稳定版本,以维持集群可用性。
除非在升级前固定集群的FCV ,否则无法将集群降级到较早的MongoDB版本。
仅当最新 MongoDB 版本是主要版本时,才可以从使用 Latest Release 切换为使用特定版本。
从Select a version(选择版本)下拉列表中选择新的 MongoDB 版本。
Atlas 支持以下升级路径:
MongoDB 5.0 -> MongoDB 6.0
MongoDB 6.0 -> MongoDB 7.0
MongoDB 7.0 -> 最新版本
为集群启用或禁用备份
系统会自动为 M2
和 M5
共享集群启用备份,并且无法禁用。
要为 M10+
Atlas 集群启用备份,请将 Turn on Cloud Backup (M10 and up)(打开备份 [M10 及更高版本])切换为 Yes
(是)。如果启用,Atlas 会定期为数据库创建快照,并根据项目的保留策略予以保留。
有关可用备份选项的详细说明,请参阅为集群配置备份选项。
启用或禁用集群的终止保护
要为集群启用Termination Protection,请切换Termination Protection至Yes。
如果已启用,Atlas 会阻止用户删除集群。要删除已启用终止保护的集群,必须先禁用终止保护。默认情况下,Atlas 会禁用所有集群的终止保护。
将副本集扩展到分片集群
为集群启用以下任一 Atlas App Services 功能时,无法将副本集转换为分片集群:
启用了 Document Preimage 配置选项的数据库触发器,或
要将集群部署为分片集群,请将 Shard your cluster (M30 and up) 切换为 Yes
。
要将副本集扩展到多分片集群,必须首先扩展到单分片集群,重新启动应用程序并重新连接到集群,再添加其他分片。
如果不重新启动应用程序客户端,在 Atlas 开始跨分片分发数据后,您的数据可能会出现不一致。
如果不重新连接应用程序客户端,您的应用程序可能会出现数据服务中断。
修改 Number of Shards
仅当部署为分片集群时,此字段才可见。
您的集群可以包含 1 到 100 个分区(含 1 和 100)。
要将副本集扩展到多分片集群,必须首先扩展到单分片集群,重新启动应用程序并重新连接到集群,再添加其他分片。
如果不重新连接应用程序客户端,您的应用程序可能会出现数据服务中断。
将副本集集群扩展到单分片集群后,您可以设定要与分片集群一起部署的分片数量。
如果您要减少分片集群中的分片数量,Atlas 则会根据 "_id"
字段中的数量按降序删除分片(请参阅分片集群配置)。以具有以下三个分片的分片集群为例:
"shard0"
"shard1"
"shard2"
如果将分片数设置为 2,Atlas 将从集群中删除 "shard2"
。
重要
当您删除分片时,Atlas 使用 movePrimary 命令,将该分片中任何未分片的数据库移动到剩余的分片。
在分片移除过程中,所有分片集合均会保持在线并可用。但是,在 movePrimary
操作期间对未分片的集合进行读取或写入操作则可能会导致意外行为,其中包括迁移失败或数据丢失。
我们建议在删除主分片之前移动包含未分片集合的任何数据库的主节点。
有关更多信息,请参阅从现有分片集群删除分片。
不要为生产环境创建单分片的分片集群。单分片的分片集群无法提供与多分片配置相同的优势。创建单分片集群后,重新启动应用程序,重新连接到集群,然后向集群添加更多分片。
为集群启用或禁用 BI Connector for Atlas
如要为此集群启用 BI Connector for Atlas,请将 Enable Business Intelligence Connector (M10 and up) 切换为 Yes。
启用静态加密
要使用 KMS 为此集群启用 Atlas 静态加密,请将 Manage your own encryption keys (M10 and up) 切换到 Yes(是)。要了解更多信息,请参阅管理自己的加密密钥。
配置其他配置选项
在此部分为您的集群配置其他选项。
有关这些选项的详细信息,请参阅配置附加选项。
Modify Cluster Details
添加标签、查看现有标签和管理标签。要了解更多信息,请参阅修改现有集群时管理集群标签。
重要
请勿在资源标记中包含敏感信息,如个人身份信息 (PII) 或受保护的医疗信息 (PHI):其他 MongoDB 服务(例如账单服务)可以访问资源标记。资源标记不应用于隐私信息和敏感数据。要了解详情,请参阅敏感信息。
保存更改供以后使用
单击集群配置表单末尾的 Save Draft,可以保存更改。
首次点击 Save Draft 会提示Atlas向与Atlas帐户关联的电子邮件解决发送电子邮件,其中包含返回修改后的集群配置表单的按钮。
您可以返回该表单以进行以下操作:
查看并应用更改
单击 Review Changes(查看更改)以查看您所做的更改。
Review Changes(查看更改)页面并排显示修改后的属性的完整摘要,以及与这些更改有关的所有警告或注释。左侧会列出原始属性设置,右侧会列出定价发生变化的相应新设置。
在顶部显示与这些更改相关的所有警告和注释。其中包括以下情况的更改:
无法回滚。
需要初始同步。
导致预期的执行延迟、工作负载增加或停机。
查看更改后,单击Apply Changes将其应用到您的集群。
如果您从 M0
免费集群升级,Atlas 会提示您在应用更改之前输入付款信息。
[1] | 对于副本集,承载数据的服务器是托管副本集节点的服务器。对于分片集群,承载数据的服务器是托管分片的服务器。对于分片集群,Atlas 还为配置服务器部署服务器;这些服务器与集群成本分开按单独的费率计费。 |
将副本集转换为分片集群
先决条件
要将副本集转换为分片集群:
您的集群必须是
M10+
集群。您必须具有
Project Cluster Manager
或更高级别的角色。
步骤
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果尚未出现,请单击侧边栏中的 Clusters(集群)。
会显示集群页面。
在集群中的各分片之间分发数据。
要对要分发数据的集合进行分片,请参阅 sh.shardCollection()
,了解更多信息。
警告
如果您对已具有 Atlas Search 索引的集合进行分片,当该集合开始出现在分片上时,您可能会遇到短暂的查询停机时间。此外,如果您为包含 Atlas Search 索引的已分片集合添加分片,针对该集合的搜索查询将失败,直到添加的分片完成初始同步过程为止。要了解更多信息,请参阅初始同步进程。