选择 Azure Batch 池中计算节点的 VM 大小和映像
为 Azure Batch 池选择节点大小时,可以从 Azure 提供的几乎所有 VM 大小中进行选择。 Azure 针对不同工作负荷,为 Linux 和 Windows VM 提供一系列大小。
支持的 VM 系列和大小
虚拟机配置中的池
虚拟机配置中的 Batch 池支持 Azure 中的几乎所有 VM 大小。 Batch 管理 API 可用于获取地区中支持的 VM 大小。 你可以使用下列方法之一返回地区中 Batch 支持的 VM 大小列表:
- PowerShell:Get-AzBatchSupportedVirtualMachineSku
- Azure CLI:az batch location list-skus
- Batch 管理 API:列出支持的虚拟机 SKU
例如,使用 Azure CLI,可以使用以下命令获取特定 Azure 地区的 SKU 列表:
az batch location list-skus --location <azure-region>
提示
Batch 不支持仅具有远程存储空间的任何 VM SKU 大小。 Batch 需要本地临时磁盘。 例如,Batch 支持 ddv4 和 ddsv4,但不支持 dv4 和 dsv4。
使用第 2 代 VM 映像
一些 VM 系列(如 Mv2)只能与第 2 代 VM 映像一起使用。 第 2 代 VM 映像的指定方式与任何 VM 映像的指定方式一样,都是使用 imageReference
配置的 sku
属性;sku
字符串具有后缀,如 -g2
或 -gen2
。 若要获得 Batch 支持的 VM 映像列表(包括第 2 代映像),请使用“列表支持的映像”API、PowerShell 或 Azure CLI。
云服务配置中的池
警告
云服务配置池已被弃用。 请改用虚拟机配置池。
云服务配置中的 Batch 池支持所有云服务的 VM 大小,但以下项除外:
VM 系列 | 不支持的大小 |
---|---|
A 系列 | 超小 |
Av2 系列 | Standard_A1_v2、Standard_A2_v2、Standard_A2m_v2 |
大小注意事项
应用程序要求 - 请考虑要在节点上运行的应用程序的特征和要求。 考虑应用程序是否是多线程的以及其消耗的内存量等因素有助于确定最合适且经济高效的节点大小。 对于多实例 MPI 工作负荷或 CUDA 应用程序,请分别考虑使用专用 HPC VM 大小或启用 GPU 的 VM 大小。 有关详细信息,请参阅在 Batch 池中使用支持 RDMA 或启用了 GPU 的实例。
每个节点的任务数 - 通常,选择节点大小时会假设一个任务要在节点上运行一次。 但是,在作业执行期间,让多个任务(因此有多个应用程序实例)在计算节点上并行运行可能是很有利的。 在此情况下,往往会选择多核节点大小,以满足更高的并行任务执行需求。
不同任务的负载级别 - 池中的所有节点都是相同大小。 如果打算运行具有不同系统要求和/或负载级别的应用程序,建议使用不同的池。
区域可用性 - 某个 VM 系列或大小在创建 Batch 帐户的区域中可能无法使用。 若要检查大小是否可用,请参阅可用产品(按区域)。
池配置 - 通常,与云服务配置相比,在虚拟机配置中创建池时有更多 VM 大小选项。
支持的 VM 映像
使用以下 API 之一返回 Batch 当前支持的 Windows 和 Linux VM 映像列表,包括每个映像的节点代理 SKU ID:
- PowerShell:Get-AzBatchSupportedImage
- Azure CLI:az batch pool supported-images
- Batch 服务 API:列出支持的映像
例如,使用 Azure CLI,可以使用以下命令获取受支持的 VM 映像的列表:
az batch pool supported-images list
提示
建议避免使用 Batch 支持终止 (EOL) 日期临近的映像。 可以通过 ListSupportedImages
API、PowerShell 或 Azure CLI 发现这些日期。
有关详细信息,请参阅有关 Batch 池 VM 映像选择的 Batch 最佳做法指南。
后续步骤
- 了解 Batch 服务工作流和主要资源,例如池、节点、作业和任务。
- 有关使用计算密集型 VM 大小的信息,请参阅在 Batch 池中使用支持 RDMA 或启用 GPU 的实例。