你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure Stack Edge Pro GPU 设备上部署高性能网络 VM

适用范围:对于 Pro GPU SKU 是必需的Azure Stack Edge Pro - GPU对于 Pro 2 SKU 是必需的Azure Stack Edge Pro 2对于 Pro R SKU 是必需的Azure Stack Edge Pro R对于 Mini R SKU 是必需的Azure Stack Edge Mini R

你可以使用 Azure 门户、模板、Azure PowerShell cmdlet 以及通过 Azure CLI 或 Python 脚本在 Azure Stack Edge Pro GPU 设备上创建和管理虚拟机 (VM)。 本文介绍了如何在 Azure Stack Edge Pro GPU 设备上创建和管理高性能网络 (HPN) VM。

关于 HPN VM

HPN VM 专为 5G 和MEC(多接入边缘计算)网络功能而设计,这些网络功能需要高数据包处理速率、低延迟和低抖动。

HPN VM 依赖于非一致性内存访问 (NUMA) 体系结构来提高处理速度。 在 NUMA 系统中,CPU 被安排在称为节点的较小系统中。 每个节点都有一组专用的逻辑处理器和内存。 一个 HPN VM 只能使用一个 NUMA 节点的 CPU。

在 Azure Stack Edge 设备上,逻辑处理器分布在 NUMA 节点上,高速网络接口可附加到这些节点。

为了在同一 NUMA 节点上实现性能、处理和传输的最大化,将为处理器分配距离最近的内存,以减少物理距离。 有关详细信息,请参阅 NUMA 支持

Azure Stack Edge 的 vCPU 预留

若要在 Azure Stack Edge 上部署 HPN VM,必须在 NUMA 节点上预留 vCPU。 预留的 vCPU 数决定了可分配给 HPN VM 的可用 vCPU。

有关每个 HPN VM 大小使用的内核数,请参阅支持的 HPN VM 大小

在版本 2210 中,将按每个 NUMA 节点支持的最大 vCPU 数自动预留 vCPU。 如果已在某个早期版本中为 HPN VM 预留了 vCPU,现有预留将保留到 2210 版本。 如果未在早期版本中为 HPN VM 预留 vCPU,则升级到 2210 后将继续执行现有配置。

对于版本 2209 及更早版本,必须先在 NUMA 节点上预留 vCPU,然后才能在设备上部署 HPN VM。 建议将 NUMA 节点 0 用于 vCPU 预留,因为 NUMA 节点 0 具有 Mellanox 高速网络接口。

HPN VM 部署工作流

下面是此 HPN 部署工作流的基本摘要信息:

  1. 在设备上配置网络设置时,请确保设备上有一个虚拟交换机与可用于 VM 资源和 VM 的网络接口相关联。 本文中将使用通过 vswitch 创建的默认虚拟网络。 如果需要,可以选择创建和使用其他虚拟网络。

  2. 通过 Azure 门户启用 VM 的云管理。 将 VHD 下载到设备上,并根据 VHD 创建 VM 映像。

  3. 在设备上为版本 2209 及更早版本的 HPN VM 预留 vCPU。 对于版本 2210,会自动预留 vCPU。

  4. 使用在前面的步骤中创建的服务:

    1. 所创建的 VM 映像。
    2. 与虚拟交换机关联的默认虚拟网络。 默认虚拟网络名称与虚拟交换机的名称相同。
    3. 默认虚拟网络的默认子网。
  5. 并创建或指定以下资源:

    1. 指定 VM 名称和支持的 HPN VM 大小,并为 VM 指定登录凭据。
    2. 创建新的数据磁盘或附加现有的数据磁盘。
    3. 为 VM 配置静态或动态 IP。 如果提供静态 IP,则在默认虚拟网络的子网范围中指定一个可用 IP。
  6. 使用上述资源创建 HPN VM。

先决条件

在通过 Azure 门户在设备上创建和管理 VM 之前,请确保:

  • 现已配置并激活 Azure Stack Edge Pro GPU 设备,如教程:使用 GPU 激活 Azure Stack Edge Pro 中所述。

    确保已创建虚拟交换机。 VM 和 VM 的资源将使用此虚拟交换机和关联的虚拟网络。 有关详细信息,请参阅在 Azure Stack Edge Pro GPU 上配置虚拟交换机

  • 你对要创建的 VM 的 VM 映像具有访问权限。 若要创建 VM 映像,可以从 Azure 市场获取映像

  • 除了上述创建 VM 的先决条件外,还需要检查 HPN VM 的 vCPU 预留。

    • 默认 vCPU 预留使用 SkuPolicy,后者会预留可供 HPN VM 使用的所有 vCPU。

    • 如果 vCPU 已在早期版本(例如,版本 2209 或更早版本)中为 HPN VM 预留,则现有预留将保留到 2210 版本。

    • 对于大多数用例,建议使用默认配置。 如果需要,还可以自定义 HPN VM 的 NUMA 配置。 若要自定义配置,请使用为 2209 提供的步骤。

  • 使用以下步骤获取有关设备上的 SkuPolicy 设置的信息:

    1. 连接到设备的 PowerShell 界面

    2. 运行以下命令,查看设备上可用的 NUMA 策略:

      Get-HcsNumaPolicy
      

      下面是示例输出:

      [DBE-BNVGF33.microsoftdatabox.com]: PS>Get-HcsNumaPolicy
      
      Get-HcsNumaPolicy
      PolicyType: AllRoot
      HpnLpMapping:
         CPUs: []
      
      PolicyType: SkuPolicy
      HpnLpMapping:
         CPUs: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47]
      
      [DBE-BNVGF33.microsoftdatabox.com]: PS>
      
    3. 运行以下命令,获取设备上的 vCPU 预留信息:

      此 cmdlet 将输出:

      1. HpnLpMapping:计算机上预留的 NUMA 逻辑处理器索引。
      2. HpnCapableLpMapping:能够进行预留的 NUMA 逻辑处理器索引。
      3. HpnLpAvailable:适用于新 HPN VM 部署的 NUMA 逻辑处理器索引。
      Get-HcsNumaLpMapping
      

      下面是 SkuPolicy 生效时的示例输出:

      [DBE-BNVGF33.microsoftdatabox.com]: PS>Get-HcsNumaLpMapping
      Hardware:
       { Numa Node #0 : CPUs [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] }
       { Numa Node #1 : CPUs [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] }
      
      HpnCapableLpMapping:
       { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] }
       { Numa Node #1 : CPUs [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] }
      
      BNVGF33:
      HpnLpMapping:
       { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] }
       { Numa Node #1 : CPUs [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] }
      
      HpnLpAvailable:
       { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23] }
       { Numa Node #1 : CPUs [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] }
      

      仅当想要更改当前预留或创建新预留时,才继续执行以下步骤。

    4. 运行以下命令,在设备上设置 NUMA 逻辑处理器映射。 如果要指定自定义逻辑处理器集,可以使用 -Custom 参数。 有关指定自定义集时的规则,请参阅本文中的“2209 及更早版本”选项卡。

      运行此命令会停止运行 VM,触发重新启动,然后重启 VM。

      Set-HcsNumaLpMapping -UseSkuPolicy
      

      下面是示例输出:

      [DBE-BNVGF33.microsoftdatabox.com]: Set-HcsNumaLpMapping -UseSkuPolicy
      Requested Config already exists. No action needed.
      
      [DBE-BNVGF33.microsoftdatabox.com]: PS> Set-HcsNumaLpMapping -UseAllRoot
      Requested Configuration requires a reboot...
      Machine will reboot in some time. Please be patient.
      [DBE-BNVGF33.microsoftdatabox.com]: PS>
      
    5. 运行以下命令以验证 vCPU 预留,并验证 VM 是否已重启。

      Get-HcsNumaLpMapping
      

部署 VM

按照以下步骤在设备上创建 HPN VM。

注意

Azure Stack Edge Pro 1 设备具有两个 NUMA 节点,因此,在预配非 HPN VM 之前,必须预配 HPN VM。

  1. 在 Azure Stack Edge 资源的 Azure 门户中,添加 VM 映像。 在下一步中,你将使用此 VM 映像来创建 VM。 可以为 VM 选择 Gen1 或 Gen2。

  2. 按照此配置要求执行添加 VM中的所有步骤。

    在“基本信息”选项卡上,从 HPN 支持的 DSv2 或 F 系列中选择一个 VM 大小。

    显示 Azure Stack Edge 的“添加虚拟机”向导中的“基本信息”选项卡的屏幕截图。突出显示了“基本信息”选项卡和“下一步: 磁盘”按钮。

  3. 完成 VM 创建中的其余步骤。 创建 VM 大约需要 30 分钟。

    显示 Azure Stack Edge 的“添加虚拟机”向导中的“查看 + 创建”选项卡的屏幕截图。突出显示了“创建”按钮。

  4. 成功创建 VM 后,“概述”窗格上将显示新的 VM。 选择新创建的 VM,以转到“虚拟机”。

    显示 Azure Stack Edge 设备的“虚拟机”窗格的屏幕截图。突出显示了“虚拟机”标签和虚拟机条目。

    选择 VM,查看详细信息。

    该屏幕截图显示 Azure Stack Edge 中虚拟机“概述”窗格上的“详细信息”选项卡。突出显示了 VM 大小和“网络”中的 IP 地址。

    你将使用网络接口的 IP 地址连接到 VM。

    注意

    如果在部署之前没有为 HPN VM 保留 vCPU,则部署将失败并出现 FabricVmPlacementErrorInsufficientNumaNodeCapacity 错误。

后续步骤