你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
虚拟机规模集的备用池
借助虚拟机规模集的备用池,可以通过创建预先预配的虚拟机池来提高缩放性能。 备用池中的虚拟机完成所有预配后流程,比如安装应用程序、下载数据包等等。虚拟机完全预配后,可以保持在正在运行状态或停止(已解除分配)状态。 当规模集需要更多实例时,备用池中的实例会自动移入规模集。 备用池可显著缩短虚拟机规模集横向扩展所需的时间。
如果维护一个处于正在运行状态的虚拟机备用池,那么这些虚拟机在移入规模集后立即准备好接收流量。 如果维护一个处于停止(已解除分配)状态的虚拟机备用池,那么这些虚拟机在移入规模集后会自动启动。 由于它们已经完成了所有预配步骤,准备好接收流量的唯一延迟是启动虚拟机所需的时间。
先决条件
若要允许备用池在订阅中创建和管理虚拟机,请将相应的权限分配给备用池资源提供程序。
- 在“Azure 门户”中,导航到订阅。
- 选择要调整权限的订阅。
- 选择“访问控制 (IAM)”。
- 依次选择“添加”、“添加角色分配”。
- 在“角色”选项卡下,搜索“虚拟机参与者”并选择它。
- 移动到“成员”选项卡。
- 选择 + 选择成员。
- 搜索“备用池资源提供程序”并选择它。
- 移动到“查看 + 分配”选项卡。
- 应用更改。
- 重复上述步骤,并向备用池资源提供程序分配“网络参与者”角色和“托管标识操作员”角色。 如果使用存储在 Compute Gallery 中的映像,另请分配“Compute Gallery 共享管理员”和“Compute Gallery 工件发布者”角色。
有关分配角色的信息,请参阅使用 Azure 门户分配 Azure 角色。
注意
若要在 Azure 门户中创建和管理备用池,请注册以下功能标志:Register-AzProviderFeature -FeatureName StandbyVMPoolPreview -ProviderNamespace Microsoft.StandbyPool
有关分配角色的信息,请参阅使用 Azure 门户分配 Azure 角色。
缩放
每当触发横向扩展事件时,虚拟机就会在备用池和规模集之间自动移动。 不需要额外的配置。 只要备用池中存在已完成所有预配步骤的可用实例,规模集在进行纵向扩展时默认使用该实例。
重新缩减时,会根据横向缩减策略从规模集中删除实例,并且备用池会重新填充以达到配置的最大就绪容量。 如果规模集在任何时间点需要缩放的实例数超过了备用池中已有的实例数,规模集默使用标准横向扩展方法并创建新实例。
备用池仅提供池中与配置的所需电源状态匹配的虚拟机。 例如,如果所需电源状态设置为停止(已解除分配),则备用池仅提供与当前电源状态匹配的规模集实例。 如果虚拟机的状态为正在创建、失败或任何其他非预期状态,则规模集默认创建新虚拟机。
备用池大小
有三个设置可确定在任何给定时间点备用池中存在多少个实例。 其中包括规模集实例计数、最小就绪容量和最大就绪容量。
规模集实例计数是规模集中当前部署的实例数。 这是一个规模集级别属性,可通过纵向扩展或缩减在任何时间点更改。 无论你如何管理规模集的缩放规则,备用池都会跟踪已部署的实例数量并相应地进行调整。
最小就绪容量是用户定义的参数。 默认情况下,任何新备用池的最小就绪容量为零。 通过设置最小就绪容量,它会告知备用池应至少保持那么多的实例。 例如,如果你设置的最小就绪容量为 5,那么每当一台虚拟机从备用池移入规模集,导致最小就绪容量降至低于 5 时,备用池会自动创建一个额外的实例,并开始为横向扩展做准备。
最大就绪容量是用户定义的参数。 此设置告知备用池在备用池中最多应保持多少个实例。 最大就绪容量与规模集实例计数直接相关。 如果最大就绪容量为 20,并且当前规模集中有 10 个实例,则池大小等于 10。 如果规模集缩减到 5,池大小将增加到 15。 随着规模集增加和实例计数减少,这会持续动态调整。
设置 | 说明 |
---|---|
maxReadyCapacity | 要在池中创建的最大虚拟机数。 |
minReadyCapacity | 要在池中保持的虚拟机的最小数量。 |
instanceCount | 规模集中已部署的当前虚拟机数。 |
备用池大小 | 备用池大小 = maxReadyCapacity – instanceCount |
虚拟机状态
备用池中的虚拟机可以保持正在运行或停止(已解除分配)状态。
已解除分配:已解除分配的虚拟机会关闭,并保留任何关联的磁盘、网络接口和任何静态 IP。 暂存 OS 磁盘不支持已解除分配状态。
正在运行:当延迟和可靠性要求严格时,建议使用处于正在运行状态的虚拟机。 处于正在运行状态的虚拟机保持完全预配状态。
可用性区域
将备用池与跨可用性区域的虚拟机规模集配合使用时,池中的实例将分布在虚拟机规模集使用的同一区域中。
在某个区域中触发横向扩展时,会使用同一区域的池中的虚拟机。 如果在不再有任何共用虚拟机的区域中需要虚拟机,规模集会直接在规模集中创建新虚拟机。
定价
用户根据备用池中部署的资源付费。 例如,处于正在运行状态的虚拟机会产生计算、网络和存储成本。 处于已解除分配状态的虚拟机不会产生任何计算成本,但任何永久性磁盘或网络配置仍会产生成本。 因此,正在运行的虚拟机池比已解除分配的虚拟机池产生的成本更高。 有关虚拟机计费的详细信息,请参阅 Azure 虚拟机的状态和计费状态。
不受支持的配置
- 创建备用池或将其附加到使用 Azure Spot 实例的虚拟机规模集。
- 创建备用池或将其附加到启用了 Azure 自动缩放的虚拟机规模集。
- 创建备用池或将其附加到容错域大于 1 的虚拟机规模集。
- 创建备用池或将其附加到位于不同区域中的虚拟机规模集。
- 创建备用池或将其附加到不同订阅中的虚拟机规模集。
- 创建备用池或将其附加到已有备用池的虚拟机规模集。
- 创建备用池或将其附加到使用统一编排的虚拟机规模集。
后续步骤
了解如何创建备用池。