规模集的设计注意事项
本文讨论虚拟机规模集的设计注意事项。 有关什么是虚拟机规模集的信息,请参阅虚拟机规模集概述。
何时使用规模集而不使用虚拟机?
通常,规模集对于任何多 VM 部署都很有用,因为它允许你定义实例是分散在可用性区域还是容错域中,是否应协调平台更新以减少或消除应用程序完全停机时间,并提供业务流程和批量实例管理。 但是,有些功能只能在规模集中使用,还有些功能只能在 VM 中使用。 若要就何时使用每种技术做出明智的决策,我们首先应该大致了解可在规模集中使用,但不能在 VM 中使用的一些常用功能:
特定于规模集的功能
- 指定规模集配置后,可以更新“容量”属性以并行部署更多的 VM。 此过程比编写一个脚本来协调众多 VM 的同时部署要简单得多。
- 可以使用 Azure 自动缩放根据预定义的日程安排、指标或预测性 AI 自动添加或移除实例。
- 可以指定升级策略,方便在规模集中的各个 VM 上实施升级。 使用单个 VM 时,必须自行协调更新。
特定于 VM 的功能
某些功能目前仅在 VM 中可用:
- 虽然可以从灵活规模集中的 VM 捕获映像,但不能从统一规模集中的 VM 捕获映像。
- 可将单个 VM 从经典磁盘迁移到托管磁盘,但无法迁移统一规模集中的 VM 实例。
预配过度
重要
只有统一业务流程模式支持超量预配,灵活业务流程模式不支持它。
开启过度预配时,规模集实际预配的 VM 数量超过所要求的数量,在成功预配所请求数量的 VM 后删除额外的 VM。 过度预配可提高预配成功率和减少部署时间。 这些额外的 VM 不会计费,并且不会计入配额限制。
虽然过度预配可以提高预配成功率,但对于不是用于处理时而出现时而消失的额外 VM 的应用程序,会导致其行为混乱。 若要关闭过度预配,请确保模板中包含以下字符串:"overprovision": "false"
。 可在规模集 REST API 文档中找到更多详细信息。
如果规模集使用用户管理的存储,并且关闭了过度预配,则可为每个存储帐户预配超过 20 个 VM,但是出于 IO 性能考虑,建议不要超过 40 个 VM。
限制
在市场映像(也称为平台映像)或 Azure Compute Gallery 中用户定义的自定义映像上构建并配置为使用 Azure 托管磁盘的规模集最多支持 1,000 个 VM 的容量。 如果将规模集配置为支持超过 100 个 VM,则并非所有方案的运行方式都相同(例如负载均衡)。 有关详细信息,请参阅使用大型虚拟机规模集。
使用用户管理的存储帐户配置的规模集目前限制为 100 个 VM(建议为此规模使用 5 个存储帐户)。
配置了 Azure 托管磁盘后,在旧托管映像上构建的规模集最多支持 600 个 VM 的容量。 如果规模集配置了用户管理的存储帐户,则必须在同一存储帐户中创建所有 OS 磁盘 VHD。 因此,基于自定义映像和用户管理的存储构建的规模集中 VM 的最大建议数目为 20。 如果关闭预配过度,最大可为 40。