将 GPU 与群集 VM 一同使用
适用于:Azure Stack HCI 版本 23H2 和 22H2
注意
在 Azure Stack HCI 23H2 上创建和管理 VM 的推荐方法是使用 Azure Arc 控制平面。 仅当需要 Azure Arc VM 中不可用的功能时,才使用下面所述的机制来管理 VM。
你可以在群集中包含 GPU,以便为在群集 VM 中运行的工作负载提供 GPU 加速。 GPU 加速可通过离散设备分配 (DDA) 或通过 GPU 分区来提供,使用 DDA 技术可将一个或多个物理 GPU 专门分配给某个 VM。 群集 VM 可以利用 GPU 加速和群集功能(例如,通过故障转移实现高可用性)。 目前不支持虚拟机 (VM) 的实时迁移,但如果出现故障,可以自动重启 VM 并将其放置在 GPU 资源可用的位置。
在本文中,您将了解如何将图形处理单元 (GPU) 与群集 VM 结合使用,以使用离散设备分配为工作负载提供 GPU 加速。 本文将指导你准备群集、将 GPU 分配到群集 VM 以及使用 Windows Admin Center 和 PowerShell 对该 VM 进行故障转移。
先决条件
在开始将 GPU 与群集 VM 结合使用之前,需要考虑几个要求和事项:
- 需要运行 Azure Stack HCI 版本 22H2 或更高版本的 Azure Stack HCI 群集。
- 需要运行 Windows Server 2025 或更高版本的 Windows Server 故障转移群集。
您必须在集群中的所有服务器上安装相同品牌和型号的 GPU。
查看并按照 GPU 制造商的说明在群集中的每台服务器上安装必要的驱动程序和软件。
可能还需要配置任何 GPU 许可要求,具体取决于硬件供应商。
需要一台安装了 Windows Admin Center 的计算机。 此计算机可以是群集节点之一。
创建要向其分配 GPU 的 VM。 根据使用离散设备分配部署图形设备中的说明,设置其缓存行为、停止操作和内存映射 I/O (MMIO) 属性,为 DDA 准备该 VM。
通过在每台服务器上安装安全缓解驱动程序、禁用 GPU 并将其从主机上卸下,在每台服务器中准备 GPU。 若要了解有关此过程的详细信息,请参阅使用离散设备分配部署图形设备。
按照使用离散设备分配规划设备部署中的步骤在群集中准备 GPU 设备。
确保你的设备在虚拟机中分配了足够的 MMIO 空间。 有关详细信息,请参阅 MMIO 空间。
创建要向其分配 GPU 的 VM。 根据使用离散设备分配部署图形设备中的说明,设置其缓存行为、停止操作和内存映射 I/O (MMIO) 属性,为 DDA 准备该 VM。
通过在每台服务器上安装安全缓解驱动程序、禁用 GPU 并将其从主机上卸下,在每台服务器中准备 GPU。 若要了解有关此过程的详细信息,请参阅使用离散设备分配部署图形设备。
注意
系统必须是受支持的 Azure Stack HCI 解决方案并支持 GPU。 若要浏览选项,请访问 Azure Stack HCI 目录。
准备群集
满足先决条件后,可以准备群集以将 GPU 与群集 VM 结合使用。
准备群集涉及创建一个资源池,其中包含可用于分配给 VM 的 GPU。 群集使用此池来确定分配给 GPU 资源池的任何已启动或移动的 VM 的 VM 放置。
使用 Windows Admin Center,执行以下步骤准备群集,以将 GPU 与群集 VM 结合使用。
若要准备群集并将 VM 分配到 GPU 资源池,请执行以下操作:
将 VM 分配到 GPU 资源池
现在可以将 VM 分配到 GPU 资源池。 可以将一个或多个 VM 分配到群集 GPU 资源池,并从群集 GPU 资源池中删除 VM。
执行以下步骤使用 Windows Admin Center 将现有 VM 分配到 GPU 资源池。
注意
还需要在 VM 内部安装 GPU 制造商提供的驱动程序,使 VM 中的应用能够利用分配给它们的 GPU。
在“将 VM 分配到 GPU 池”页面上,指定以下项,然后选择“分配”:
- 服务器名称
- GPU 池名称
- 要从 GPU 池中将 GPU 分配到的目标虚拟机。
还可以为内存映射 IO (MMIO) 空间定义高级设置值,以确定单个 GPU 的资源需求。
该过程完成后,你将收到一条确认提示,显示你已成功从 GPU 资源池将 GPU 分配到 VM,该提示显示在“分配的 VM”下。
若要取消从 GPU 资源池分配 VM,请执行以下操作:
启动 VM 时,群集可确保将 VM 放置在具有此群集范围池中可用 GPU 资源的服务器上。 该群集还会通过 DDA 将 GPU 分配到 VM,这样就可以从 VM 内部的工作负载访问 GPU。
故障转移分配有 GPU 的 VM
若要测试群集能否使 GPU 工作负载保持可用,请在使用分配的 GPU 运行 VM 的服务器上执行排空操作。 若要清空服务器,请按照故障转移群集维护过程中的说明进行操作。 只要另一台服务器在你创建的池中具有足够的可用 GPU 资源,群集就会在群集中的另一台服务器上重启 VM。
若要测试群集能否使 GPU 工作负载保持可用,请在使用分配的 GPU 运行 VM 的服务器上执行排空操作。 若要清空服务器,请按照故障转移群集维护过程中的说明进行操作。 只要另一台服务器在你创建的池中具有足够的可用 GPU 资源,群集就会在群集中的另一台服务器上重启 VM。
相关内容
有关将 GPU 与群集 VM 结合使用的详细信息,请参阅:
有关将 GPU 与 VM 和 GPU 分区配合使用的详细信息,请参阅: