PowerEdge: Paso de PCI: "Error en el encendido del módulo 'DevicePowerOn'" cuando se usan GPU con máquinas virtuales en vSphere

Summary: La VM no se enciende después de configurar el acceso del dispositivo PCI en el host ESXi y de agregar el dispositivo a la VM. Se atasca en un 80 % y, a continuación, genera el error "la cantidad total de páginas necesarias (4206594) supera el límite (917504)". ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Mensaje de error
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.
 

Captura de pantalla del error de PCI


Preliminares

El BIOS del host debe estar configurado correctamente a fin de habilitar la GPU NVIDIA para el acceso, y la máquina virtual destinada a ejecutar estas cargas de trabajo aceleradas debe cumplir con requisitos específicos. En esta sección, se describen todos estos requisitos.


¿Qué dispositivos?

Este artículo solo corresponde si el dispositivo PCI asigna regiones de memoria cuyos tamaños sumen más de 16 GB. Siga las instruccionesEste hipervínculo lo redirige a un sitio web fuera de Dell Technologies. publicadas 1010789 la base de conocimientos de VMware para habilitar los dispositivos de acceso en vSphere. Como regla general, las tarjetas que requieren más de 16 GB de asignación de memoria son tarjetas de alto nivel. Debe seguir las instrucciones de este artículo a fin de habilitarlas para su uso en el modo de acceso en una máquina virtual.


BIOS del host

El BIOS del host debe estar configurado para soportar las regiones de memoria grandes que necesitan estos dispositivos PCI de alto nivel. Para habilitar esto, busque el ajuste del BIOS del host de "memory mapped I/O above 4 GB" y habilítelo.

Asignación de memoria en los dispositivos integrados en la configuración del BIOS del sistema


Nota: Esta opción no está disponible en 16G, pero de manera predeterminada está activada y podría asignar una GPU de 48 GB en el paso a una máquina virtual.


SO huésped

Nota: Estos ajustes son necesarios solo si el modo de arranque del BIOS está configurado en UEFI. Si es el modo heredado o de BIOS, puede ignorar lo siguiente.

Para acceder a estas asignaciones de memoria grande, conéctese al sitio de VMware El SO huésped debe arrancar con EFIEste hipervínculo lo redirige a un sitio web fuera de Dell Technologies.. Es decir, debe habilitar EFI en la VM y, a continuación, realizar una instalación de EFI del SO huésped.
 

Edición de la disponibilidad de dispositivos PCI en el servidor host

El vSphere Hypervisor reconoce inicialmente un dispositivo de hardware de GPU compatible con PCI instalado durante el arranque del servidor sin tener controladores específicos instalados en el hipervisor.

vSphere reconoce todos los dispositivos PCI de esta manera. Puede ver la lista de dispositivos PCI que se encuentran en la herramienta vSphere Client seleccionando el servidor de host específico en el que está trabajando y siguiendo las opciones del menú: Configurar >Hardware >Dispositivos > PCI Edite para ver la lista, como se muestra en el ejemplo de la Figura 2 a continuación.

Si el dispositivo GPU específico no se habilitó previamente para I/O de DirectPath, puede colocar el dispositivo de GPU en modo de I/O de ruta directa (transferencia) haciendo clic en la casilla de verificación de la entrada del dispositivo, como se muestra en el ejemplo del dispositivo NVIDIA.

Editar la disponibilidad de dispositivos PCI en el SO


Habilitación de dispositivos de alto nivel en un archivo de VM

Con los requisitos anteriores satisfechos, se deben agregar dos entradas al archivo VMX de la VM, ya sea mediante la modificación directa del archivo o mediante vSphere Client para agregar estas funcionalidades. La primera entrada es:

pciPassthru.use64bitMMIO="TRUE"

La especificación de la segunda entrada requiere un cálculo simple. Sume los tamaños de todas de las memorias GPU de todos los dispositivos GPU(*) que desee transferir a la VM y, luego, redondee a la siguiente potencia de dos. Por ejemplo, para usar el acceso con 4 dispositivos A2 de 16 GB, el valor sería: 32 + 32 = 64, redondeado hacia arriba a la siguiente potencia de dos para que el resultado sea 128. Utilice este valor en la segunda entrada:

pciPassthru.64bitMMIOSizeGB="128"

Con estos dos cambios en el archivo VMX, siga las instrucciones Este hipervínculo lo redirige a un sitio web fuera de Dell Technologies. de VMware KB 1010789 estándar de vSphere para habilitar dispositivos de acceso en el nivel de host y para especificar qué dispositivos se deben pasar a la VM. La VM ahora debe arrancar correctamente con el dispositivo en modo de acceso.
 

Habilitación de dispositivos de alto nivel en la interfaz de usuario

En vSphere Client nuevamente, elija la máquina virtual y utilice las opciones: Editar configuración>Opciones> de VMAvanzado>Parámetros> de configuración Edite Configuration para ir a la lista de opciones relacionadas con PCI que se muestra a continuación. 

Página Configuration Parameters Edit

Calculamos el valor del parámetro "64bitMMIOSizeGB" mediante un enfoque directo. Cuente la cantidad de dispositivos GPU PCI de alto nivel que desee transferir a esta VM. Puede ser una o más GPU. Multiplique ese número por 16 y redondéelo hacia arriba hasta la siguiente potencia de dos.

Por ejemplo, para utilizar el modo de acceso con dos dispositivos GPU en una VM, el valor sería: 4 * 16 = 64, redondeado hacia arriba a la siguiente potencia de dos para que el resultado sea 128.
 

Asignación de un dispositivo GPU a una máquina virtual

En esta sección, se describe la asignación del dispositivo GPU a la VM. Apague la máquina virtual antes de asignarle el dispositivo GPU.

Para permitir el acceso de una máquina virtual a un dispositivo PCI, en vSphere Client, seleccione la máquina virtual, utilice la opción Edit Settings y desplácese hacia abajo hasta la lista PCI Device. Si su dispositivo aún no aparece en la lista, use el botón Agregar nuevo dispositivo para agregarlo a la lista. Una vez agregado, los ajustes de la máquina virtual deben lucir similares a lo que se muestra en la Figura 7. En este ejemplo, la entrada pertinente es PCI Device 0.

Captura de pantalla que muestra el nuevo dispositivo agregado


Reserva de memoria

Cuando el dispositivo PCI se asigna a una VM, la máquina virtual debe tener una reserva de memoria para el tamaño de memoria configurado completamente de la VM. Esto se realiza en vSphere Client mediante la selección de la VM y el uso de Edit Settings>Virtual Hardware>Memory para acceder y cambiar el valor en el área Reservation.

Por último, encienda la máquina virtual. Después de encender la máquina virtual, inicie sesión en el SO huésped y compruebe que la tarjeta GPU esté presente mediante los comandos:

  • En una máquina virtual Linux, utilice el comando:
"lspci | grep nvidia"
  • En un sistema operativo Windows, utilice el Administrador de dispositivos desde el Panel de control para comprobar los dispositivos GPU disponibles

La GPU ahora está lista para el uso de la aplicación en el modo de acceso.

Additional Information

Solución de problemas

Si siguió las instrucciones anteriores y la VM aún no arranca correctamente con los dispositivos habilitados, el material de esta sección puede ser útil. Si probó las sugerencias a continuación y todavía tiene problemas, comuníquese con nosotros para que podamos ayudarlo.

Problema de asignación:
Si ve un error similar al siguiente en el archivo vmware.log de la máquina virtual:

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

Los ajustes del BIOS no cumplen con los requisitos de ESXi para habilitar este tipo de dispositivo de acceso. ESXi 6.0 p4 a ESXi 6.5 requiere que la memoria asignada para todos los dispositivos PCI sea inferior a 16 TB. Es posible solucionar este problema si el BIOS soporta la capacidad de controlar qué tan alto se asignan las regiones de memoria PCI del espacio de direcciones de la memoria del host. Algunos fabricantes, por ejemplo, SuperMicro, tienen opciones de BIOS para cambiar qué tanto se asigna esta memoria. En los sistemas SuperMicro, el parámetro MMIOHBase se puede cambiar a un valor menor de su valor predeterminado de 56 TB. Los sistemas Sugon también tienen un ajuste de BIOS similar (oculto). Consulte con el proveedor del sistema para saber si el BIOS soporta esta característica de reasignación. Otra solución es actualizar su versión de ESXi a 6.5 u1 o superior, lo que eliminó la limitación de 16 TB.

Configuración incorrecta:
se produjo un error en el archivo vmware.log del siguiente formato:

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

Indica que no se han habilitado correctamente las asignaciones de más de 4 GB en el BIOS del host, como se describe en la sección anterior BIOS del host , o que no se especificaron correctamente las entradas VMX.

No se puede utilizar el dispositivo:
Si siguió todas las instrucciones anteriores y su VM arrancó correctamente, verá un mensaje similar al siguiente cuando ejecute nvidia-smi en su SO invitado:

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

Sugerimos ponerse en contacto directamente con NVIDIA o realizar una búsqueda web mediante esta cadena para encontrar información adicional que pueda ser de ayuda.

Affected Products

VMware ESXi 8.x

Products

C Series, HS Series, Modular Infrastructure, Rack Servers, Tower Servers, XE Servers, XR Servers, OEM Server Solutions
Article Properties
Article Number: 000199172
Article Type: How To
Last Modified: 17 Jan 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.