×

PowerEdge:在 vSphere 上将 GPU 与虚拟机配合使用时,PCI 直通出现“Module 'DevicePowerOn' Power on failed”(模块'DevicePower

hqy hqy 发表于2025-03-11 23:15:12 浏览24 评论0

抢沙发发表评论

https://www.dell.com/support/kbdoc/zh-cn/000199172/poweredge-%E5%9C%A8-vsphere-%E4%B8%8A%E5%B0%86-gpu-%E4%B8%8E%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E6%97%B6-pci-%E7%9B%B4%E9%80%9A%E5%87%BA%E7%8E%B0-module-devicepoweron-power-on-failed-%E6%A8%A1%E5%9D%97-devicepoweron-%E5%BC%80%E6%9C%BA%E5%A4%B1%E8%B4%A5

说明

错误信息
2022-04-22T03:04:15.771Z| vmx| | I005: PCIPassthru: total number of pages needed (4206594) exceeds limit (917504), failing
2022-04-22T03:04:15.771Z| vmx| | I005: Module 'DevicePowerOn' power on failed.
 

PCI 错误的屏幕截图


准备工作

您的主机 BIOS 必须正确配置才能启用 NVIDIA GPU 进行直通,并且要运行这些加速工作负载的虚拟机必须满足特定要求。此部分介绍所有这些要求。


哪些设备?

本文仅在 PCI 设备映射总大小超过 16 GB 的内存区域时才相关。按照 VMware 知识库1010789 vmware.com/kb/1010789" target="_blank" style="background-color: transparent; color: rgb(6, 114, 203); text-size-adjust: 100%; box-sizing: border-box !important;">发布的说明此超链接会将您带往 Dell Technologies 之外的网站。,在 vSphere 下启用直通设备。通常,需要超过 16 GB 内存映射的卡是高端卡。您应该按照本文中的说明进行操作,以使它们能够在虚拟机内以直通模式使用。


主机 BIOS

您的主机 BIOS 必须配置为支持这些高端 PCI 设备所需的大型内存区域。要启用这一点,请找到主机 BIOS 中的“memory mapped I/O above 4 GB”设置并启用它。

系统 BIOS 设置中的集成设备中的内存映射


提醒:此选项在第 16 代服务器上不可用,但默认情况下它会处于激活状态,您可以为虚拟机分配 48 GB GPU 直通。


来宾操作系统

提醒:仅当 BIOS 引导模式设置为 UEFI时才需要这些设置,如果其是传统模式或 BIOS 模式,则可以忽略以下设置。

要访问这些大型内存映射,请连接到 VMware 站点 来宾操作系统必须使用 EFI此超链接会将您带往 Dell Technologies 之外的网站。启动。也就是说,您必须在虚拟机中启用 EFI,然后执行来宾操作系统的 EFI 安装。
 

编辑主机服务器上的 PCI 设备可用性

安装的与 PCI 兼容的 GPU 硬件设备最初由 vSphere 虚拟机管理程序在服务器启动时识别,而无需在虚拟机管理程序中安装任何特定驱动程序。

vSphere 以这种方式识别所有 PCI 设备。您可以通过选择您正在处理的特定主机服务器并遵循菜单选项来查看在 vSphere Client 工具中找到的 PCI 设备的列表:配置 >硬件 >PCI 设备>编辑以查看列表,如下面图 2 中的示例所示。

如果特定 GPU 设备之前未针对 DirectPath I/O 启用,您可以通过单击设备条目上的复选框将 GPU 设备置于 Direct Path I/O(直通)模式,如 NVIDIA 设备示例中所示。 

编辑操作系统中的 PCI 设备可用性


在虚拟机文件中启用高端设备

满足上述要求后,必须将两个条目添加到虚拟机的 VMX 文件中,您可以直接修改该文件,也可以使用 vSphere Client 来添加这些功能,两种方法均能实现目标。第一个条目是:

pciPassthru.use64bitMMIO="TRUE"

指定第二个条目需要简单的计算。将想要传递到虚拟机的所有 GPU 设备 (*) 的 GPU 内存大小相加,然后四舍五入到下一个 2 的次幂。例如,要在具有 4 个 16 GB A2 设备的情况下使用直通,该值将为:32 + 32 = 64,四舍五入到下一个 2 的次幂,结果为 128。在第二个条目中使用此值:

pciPassthru.64bitMMIOSizeGB="128"

对 VMX 文件进行这两项更改后,请按照 VMware 知识库1010789标准 vSphere 说明此超链接会将您带往 Dell Technologies 之外的网站。,在主机级别启用直通设备并指定哪些设备应传递到虚拟机。在您的设备处于直通模式的情况下,虚拟机现在应该可以正常启动。
 

在 UI 中启用高端设备

再次在 vSphere Client 中,选择虚拟机并使用以下选项:编辑设置>虚拟机选项>高深>配置参数>编辑配置以访问下面所示的与 PCI 相关的选项列表。 

配置参数编辑页面

我们使用一种直接的方法来计算“64bitMMIOSizeGB”参数的值。计算要传递到此虚拟机的高端 PCI GPU 设备的数量。这可以是一个或多个 GPU。将该数字乘以 16,然后四舍五入到下一个 2 的次幂。

例如,在一个虚拟机中具有两个 GPU 设备的情况下,要使用直通模式,该值将为:4 * 16 = 64,四舍五入到下一个 2 的次幂,得到 128。
 

将 GPU 设备分配给虚拟机

此部分介绍如何将 GPU 设备分配给虚拟机。在将 GPU 设备分配给虚拟机之前,请先关闭虚拟机电源。

要启用虚拟机对 PCI 设备的访问权限,请在 vSphere Client 中选择虚拟机,使用 编辑设置选项,然后向下滚动到 PCI 设备列表。如果您的设备尚未在此处列出,请使用 “添加新设备”按钮将其添加到列表中。添加后,您的虚拟机设置应该与图 7 所示的相似。在此示例中,相关条目为 PCI Device 0

显示新添加的设备的屏幕截图


内存预留

当 PCI 设备分配给虚拟机时,虚拟机必须为适用于虚拟机的完整配置的内存大小预留内存。这通过选择虚拟机,使用 Edit SettingsVirtual>Hardware>Memory访问和更改Reservation区域中的值,在vSphere客户端中完成。

最后,打开虚拟机。打开虚拟机后,登录到来宾操作系统,并使用以下命令检查 GPU 卡是否存在:

  • 在 Linux 虚拟机上,使用以下命令:

"lspci | grep nvidia"
  • Windows 操作系统上,使用控制面板中的设备管理器检查可用的 GPU 设备

GPU 现在已经准备好在直通模式下供应用程序使用。

其他信息

故障处理

如果您已按照上述说明操作,并且在启用了设备的情况下虚拟机仍然无法正常启动,则此部分中的材料可能会很有帮助。如果您已尝试以下建议,但仍有问题,请联系我们,我们可以为您提供帮助。

映射问题:
如果在虚拟机的 vmware.log 文件中看到类似于以下内容的错误:

1	I120: PCIPassthru: 0000:82:00.0 : Device BAR 0 requested 64-bit memory address that exceeded MPN type (62105227100160)

您的 BIOS 设置不符合 ESXi 对启用此类直通设备的要求。ESXi 6.0 p4 至 ESXi 6.5 要求为 PCI 设备映射的内存均低于 16 TB。如果您的 BIOS 支持对 PCI 内存区域在主机内存地址空间中的映射高度进行控制的能力,那么就有可能解决此问题。某些制造商(例如 SuperMicro)有 BIOS 选项来更改此内存的映射高度。在 SuperMicro 系统上,MMIOHBase 参数可以从默认值 56 TB 更改为较低值。此外,Sugon 系统也具有类似的(隐藏)BIOS 设置。请咨询系统供应商,了解您的 BIOS 是否支持此重新映射功能。另一种解决方案是将 ESXi 版本更新到已消除 16 TB 限制的 6.5 u1 或更高版本。

不正确的配置:
vmware.log 文件中以下形式的错误:

1	2016-07-07T09:18:37.624Z| vmx| I120: PCIPassthru: total number of pages needed (2097186) exceeds limit (917504), failing

表示您尚未在主机 BIOS 中正确启用高于 4 GB 的映射(如上面 的主机 BIOS 部分中所述),或者未正确指定 VMX 条目。

无法使用设备:
如果您已按照上述所有说明进行操作,并且您的虚拟机已正确启动,但在运行 nvidia-smi 实用程序:

1	Unable to determine the device handle for GPU 0000:13:00.0: Unknown Error

我们建议直接联系 NVIDIA 或使用此字符串执行 Web 搜索,以查找可能有帮助的其他信息。

受影响的产品

VMware ESXi 8.x

产品

C Series, HS Series, Modular Infrastructure, Rack Servers, Tower Servers, XE Servers, XR Servers, OEM Server Solutions


本文链接:https://hqyman.cn/post/9487.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏