Azure DocumentDB 提供无缝可伸缩性和区域内高可用性(HA)。 本文档为想要了解如何缩放和配置群集的开发人员提供了快速指南。
先决条件
扩展集群计算
群集层允许配置群集物理分片上的 vCore 数量和 RAM 数量。 可以随时根据需要更改群集层,而无需中断。 例如,可以从 M50 增加到 M60 或从 M50 减少到 M40。
在群集边栏的“设置”下,选择“缩放”。
若要更改群集层,请从下拉菜单中选择新层。
选择“保存”以保存更改。
要扩大或缩小集群计算层,请通过更改 update 属性中的 MXXX 值,使用 compute.tier 操作来更新现有群集。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.compute.tier="<compute-tier>"
可以直接使用 Azure REST API,或者在 Azure CLI 环境中结合 az rest 一起使用。
使用此命令更改群集计算层:
az rest \
--method "PATCH" \
--url "https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"compute\":{\"tier\":\"<compute-tier>\"}}}"
增大存储大小
可以增加 存储大小 ,以增加数据库增长空间。 例如,可以将存储从 128 GiB 增加到 256 GiB。
若要增加存储大小,请从下拉菜单中选择新大小。
选择“保存”以保存更改。
若要增加群集存储大小,请使用 update 操作更新现有群集,方法是增加属性中的 storage.sizeGb 值。 支持的存储大小已在支持的存储页面上列出。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.storage.sizeGb="<new-size-in-GiB>"
可以直接使用 Azure REST API,或者在 Azure CLI 环境中结合 az rest 一起使用。
使用此命令更改群集计算层:
az rest \
--method "PATCH" \
--url "https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"storage\":{\"sizeGb\":\"<new-size-in-GiB>\"}}}"
启用或禁用高可用性
可以根据需要启用或禁用 区域内高可用性(HA )。 区域内 HA 通过维护群集中每个主分片的副本分片来避免数据库停机。 如果主分片出现故障,则传入连接会自动重定向到其副本分片,以确保故障时间最短。
若要启用或禁用区域内 HA,请切换复选框选项。
选择“保存”以保存更改。
要在群集上启用区域内高可用性,请通过将 属性中的值设置为 update 来使用 highAvailability.targetMode 操作更新现有群集ZoneRedundantPreferred。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.highAvailability.targetMode="ZoneRedundantPreferred"
要在群集上禁用区域内高可用性,请通过将 属性中的值设置为 update 来使用 highAvailability.targetMode 操作更新现有群集Disabled。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.highAvailability.targetMode="Disabled"
可以直接使用 Azure REST API,或者在 Azure CLI 环境中结合 az rest 一起使用。
使用此命令在群集上启用区域内高可用性:
az rest \
--method "PATCH" \
--url "https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"highAvailability\":{\"targetMode\":\"ZoneRedundantPreferred\"}}}"
使用此命令在群集上禁用区域内高可用性:
az rest \
--method "PATCH" \
--url "https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"highAvailability\":{\"targetMode\":\"Disabled\"}}}"
增加物理分片数
当数据库超出单个物理分片群集的容量时,可以增加 存储大小 或添加更多 物理分片。 将新的物理分片添加到群集后,必须执行群集重新均衡作,以便跨分片重新分发数据。 群集中的每个物理分片始终具有相同的 计算 和 存储 配置。
若要添加物理分片,请从列表中选择新的分片数量。
选择“保存”以保存更改。
在弹出窗口中选择“继续”以保留更改。
要向群集添加物理分片,请通过将 update 属性的值增加 1 来使用 sharding.shardCount 操作更新现有集群。
az resource update \
--resource-type "Microsoft.DocumentDB/mongoClusters" \
--name "<cluster-name>" \
--resource-group "<resource-group>" \
--set properties.sharding.shardCount="<current-shard-count-plus-one>"
注释
一次只能添加一个物理分片。 如果需要将多个物理分片添加到群集,则需要按顺序执行此操作。
可以直接使用 Azure REST API,或者在 Azure CLI 环境中结合 az rest 一起使用。
使用此命令将物理分片添加到群集:
az rest \
--method "PATCH" \
--url "https://management.chinacloudapi.cn/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.DocumentDB/mongoClusters/<cluster-name>?api-version=2025-09-01" \
--body "{\"location\":\"<cluster-region>\",\"properties\":{\"sharding\":{\"shardCount\":\"<current-shard-count-plus-one>\"}}}"
注释
一次只能添加一个物理分片。 如果需要将多个物理分片添加到群集,则需要按顺序执行此操作。
小窍门
如果在群集上需要 10 个以上的物理分片,请开具支持票证。
重新平衡数据
将物理分片添加到群集后,或者如果多分片群集在其物理分片中存储使用率不均衡,数据重新均衡会重新分发分片之间的数据,而不会造成任何停机。
在预览版中,需要在群集上启用数据重新均衡:
- 在 Azure 门户中,打开群集属性。
- 在“功能”页上的“设置”下,为多分片群集选择“重新平衡器”。
- 在 多分片群集面板的“重新平衡器 ”中,选择“ 启用”。
若要启动数据重新均衡,请使用管理工具(如 Mongo shell)连接到群集。
使用 sh.startBalancer() 命令启动重新平衡器。
使用 sh.isBalancerRunning() 检查重新平衡器状态。
使用 sh.stopBalancer() 命令停止重新平衡器。
注释
重新均衡过程的持续时间取决于在物理分片之间移动的数据量。 该作联机执行,不会影响群集可用性或功能。
后续步骤
本指南介绍了在 Azure 门户中缩放和配置 Azure DocumentDB 群集的过程非常简单。 Azure 门户提供了调整群集层级、扩展存储空间、启用或禁用高可用性,以及在无需停机的情况下添加物理分片的功能。