变更分片集群实例配置概览

云数据库 MongoDB 版分片集群实例支持变更配置功能,当您已购买的实例配置不符合(高于或低于)当前业务需求时,您可以对当前实例进行变配操作,使当前实例的配置与您的业务需求更加匹配。

使用限制

  • 分片集群实例不支持变更实例类型(例如变更为副本集实例)和存储引擎。

  • 对节点进行不同操作时,对应的限制说明如下。

    操作

    限制说明

    添加Shard节点

    您需要确保新增节点的配置大于或等于当前实例中最高配置的Shard节点。

    例如:当前实例中最高配置的Shard节点的存储空间为10 GB,则新增Shard节点的配置必须大于或等于10 GB。

    变更Shard节点

    • 变配时选择的存储空间需大于或等于当前Shard节点已占用的存储空间。

    • 变配时选择的只读节点数需要大于或等于当前实例中最高Shard节点的只读节点数。

    • 包年包月实例在执行降级配置操作时,不支持增加只读节点数。

    变更ConfigServer节点

    • 变配时选择的存储空间需大于或等于当前ConfigServer节点已占用的存储空间。

    • 本地盘版实例不支持变配ConfigServer节点。

    批量变更多组件多节点配置

    您需要确保满足所选各组件和节点类型在变更配置时的使用限制。

    说明
    • 本地盘版实例不支持变配ConfigServer节点。

    • Shard只读节点数的变更需在单个Shard节点的变配中操作。

    释放Mongos节点

    当分片集群实例中Mongos节点数量为3个及以上时,支持释放。

    说明

    分片集群实例中须至少保留2Mongos节点。

    释放Shard节点

    • 当分片集群实例中Shard节点数量为3个及以上时,支持释放。

      说明

      分片集群实例中须至少保留2Shard节点。

    • 释放Shard节点前,请确保已开启MongoDB均衡器Balancer。开启Balancer,请参见管理MongoDB均衡器Balancer

    • Shard节点数据量、Balancing WindowJumbo Chunk等因素会影响释放节点的实际耗时。

      说明

      关于Balancing WindowJumbo Chunk的更多信息,请参见Balancing WindowJumbo Chunk

    • 请确保剩余的Shard节点有足够的存储空间。

      Shard节点在释放过程中,会将存储的数据迁移至剩余Shard节点。当剩余Shard节点的存储空间被占满时,为避免数据丢失,实例会自动锁定。

    • 数据从待释放的Shard节点迁移至剩余Shard节点时,若出现duplicated key报错,请排查唯一索引字段的值是否相同。

      例如:不同的Shard节点上存储着分片键不同的两个文档,但是主键却相同。

      说明

      duplicated key报错通常是因为数据库中存在孤立文档所致,建议您在释放Shard前先清理孤立文档。清理操作,请参见清理孤立文档

计费规则

详情请参见变配费用说明

注意事项

  • 变配过程中,可能会出现1~2次闪断现象,每次约30秒。您可以按需设置变更生效时间,避免影响业务运行。

    重要

    仅变更存储空间时,系统根据本地宿主机的存储资源是否足够执行不同的操作。

    • 足够:在本地扩容,不需要跨机迁移和切换。变更过程中不会出现闪断现象,且任务会立即执行生效(不需要等到可维护时间段内切换生效)。

    • 不足:需要跨机迁移和切换。变更过程中会出现闪断现象,任务会在您设置的变更生效时间内切换生效。

  • 变更配置的完成时间与多种因素(如网络、任务队列、数量大小)有关,建议您在业务低峰期执行变配操作,并确保您的应用有自动重连机制。

  • 如果您的数据库小版本过期或不在维护列表内,执行变配操作时,系统会默认将您的数据库小版本升级至最新版,以保证提供更出色的性能和稳定性。

变配概览

变更类型

支持变更项

添加Mongos节点

添加Mongos节点时,支持配置规格创建数量

说明

分片集群实例默认最多支持32Mongos节点。如果当前分片集群实例中已有3Mongos节点,在添加Mongos节点时,您最多可添加29Mongos节点。

添加Shard节点

添加Shard节点时,支持配置规格创建数量存储空间只读节点数

说明
  • 分片集群实例默认最多支持32Shard节点。如果当前分片集群实例中已有3Shard节点,在添加Shard节点时,您最多可添加29Shard节点。

  • 新增Shard节点的规格存储空间需大于或等于已有Shard节点的最高配置。

  • MongoDB不支持降低Shard节点的存储空间,如果需要降低存储空间,您可以通过创建新实例,用新实例替换原实例的方法实现,操作方法请参见其他变配场景及方案

  • 新增Shard节点时,如果添加了只读节点数,则该Shard节点和每个只读节点的存储空间大小均为新增Shard节点时选择的存储空间大小。

变更Mongos节点配置

支持变配一个或多个Mongos节点的规格

变更Shard节点配置

支持变配一个或多个Shard节点的规格存储空间只读节点数

说明
  • 变更存储空间时,选择的存储空间需大于或等于当前Shard节点已占用的存储空间。

  • 如果只扩容存储空间,而各节点所在宿主机资源足够的情况下,则会在本地扩容,不需要跨机迁移和切换。因此,任务会立即执行并生效,不需要等到可维护时间段内切换。

  • MongoDB不支持降低Shard节点的存储空间,如果需要降低存储空间,您可以通过创建新实例,用新实例替换原实例的方法实现,操作方法请参见其他变配场景及方案

  • Shard节点的存储空间变更后,Shard节点和每个只读节点的存储空间大小均为变更Shard节点时选择的存储空间大小。

变更ConfigServer节点配置

支持变配ConfigServer节点的规格、存储空间。

说明
  • 变更存储空间时,选择的存储空间需大于或等于节点当前的存储空间。

  • 本地盘版实例暂不支持变更ConfigServer节点配置。

批量变更多组件多节点配置

支持同时发起多个组件、多个节点的变配任务,包括:

  • 一个或多个Shard节点的规格、存储空间。

  • 一个或多个Mongos节点的规格。

  • ConfigServer节点的规格、存储空间。

说明
  • 本地盘版实例不支持变配ConfigServer节点。

  • 需满足所选各组件和节点类型在变更配置时的使用限制。

  • Shard只读节点数的变更需在单个Shard节点的变配中操作。

释放Mongos节点或Shard节点

支持手动释放实例中的Mongos节点或Shard节点。

重要

释放Shard节点前,您需要确保剩余Shard节点完全可以分担释放节点的数据,否则,执行释放操作后,实例状态将会一直为删除节点中,影响对实例进行与数据库、账号、网络等相关的操作。如何查看Shard节点的磁盘使用量,请参见基本监控

更多信息

解决因磁盘空间耗尽导致的锁定或无法写入问题