Aprenda a configurar Proxmox vGPU para IA, VDI y renderizado con configuración paso a paso, pruebas y conocimientos de rendimiento.
Proxmox Server Solutions anunció recientemente la compatibilidad con NVIDIA vGPU para su hipervisor de Entorno Virtual (VE), lo que abre un nuevo mundo de aceleración de GPU para renderizado, VDI, IA y otras aplicaciones. Acompáñenos a analizar y guiarle a través del nuevo conjunto de características del hipervisor y evaluar su rendimiento.
¿Por qué es tan importante el soporte de vGPU?
Si no está familiarizado con el software vGPU de NVIDIA, este permite particionar y distribuir los recursos de procesamiento y memoria de una GPU entre varias máquinas virtuales (VM). En esta configuración, las VM se alternan utilizando la potencia de procesamiento de la GPU y asignan una parte de la memoria de la tarjeta según sus necesidades. Este enfoque permite que la GPU mantenga un uso máximo, incluso cuando la intensidad de las cargas de trabajo de las VM invitadas varía.
Antes de empezar… (Requisitos previos)
Necesitará algunas cosas antes de configurar un entorno de virtualización de GPU en Proxmox VE (PVE). Como muchas ventajas para centros de datos, el software vGPU de NVIDIA no es gratuito. Necesitará... comprar or Regístrate para la versión de evaluación de su software de GPU virtual y crear una cuenta NVIDIA Enterprise. A continuación, debe obtener una Tarjeta compatible con vGPU y descargue los controladores apropiados desde portal de licenciasDescargue las versiones actuales de los controladores "KVM para Linux". Como mínimo, descargue estos:
- Software vGPU: 18.0
- Controlador de host: 570.124.03
- Controlador invitado de Linux: 570.124.06
- Controlador invitado de Windows: 572.60
Aprovechamos la NVIDIA L40S y un Dell PowerEdge R760 para este proyecto.
Además, necesitará un servidor de licencias dedicado (DLS) o un servidor de licencias en la nube (CLS) para activar la funcionalidad vGPU en sus invitados. Puede encontrar una guía de inicio rápido haciendo clic en aquí.
A continuación, verifique que la configuración UEFI (BIOS) de su servidor habilite las funciones de virtualización adecuadas. Busque TV-d or AMD-v, SR-IOV, decodificación superior a 4G, barra redimensionable y Interpretación de ID de enrutamiento alternativo (IRA) configuraciones y asegúrese de que todas estén habilitadas.
Nota: Es posible que no encuentres todas estas funciones en el menú UEFI, ya que algunas pueden no estar expuestas al usuario.
Por último, comprueba que estés usando una versión compatible de Proxmox VE. La funcionalidad vGPU requiere, como mínimo, la versión 8.3.4 de pve-manager, con kernel 6.18.12-8-pve o posterior. Puedes comprobar las versiones de software de tu nodo PVE accediendo a la pestaña "Resumen" del servidor deseado, como se muestra a continuación:
El host con más (configuración de vGPU del host Proxmox)
Ahora que todo está listo, es hora de configurar el servidor Proxmox VE. En la interfaz web de su servidor Proxmox VE, haga clic en el nombre del servidor a la izquierda de la pantalla y seleccione la pestaña "Shell". Escriba este comando en la ventana de consola que aparece y pulse Intro al terminar:
apt install pve-nvidia-vgpu-helper
Esto garantizará que la herramienta de configuración de vGPU esté instalada en su servidor, preparándolo para la compatibilidad con Proxmox vGPU. Una vez que el servidor termine de instalar el script o le informe que ya está instalado, ejecute un comando más para ejecutar la herramienta.
Configuración de pve-nvidia-vgpu-helper
Responda "Y" a cualquier pregunta y continúe hasta que la ventana de la consola vuelva a abrirse y el script haya finalizado. Reinicie rápidamente el servidor navegando a la pestaña "Resumen" y pulsando el botón "Reiniciar", o escriba el comando de reinicio en la consola de la pestaña "Shell" y pulse Intro.
A continuación, es necesario cargar el controlador de host vGPU de NVIDIA en el servidor. Una vez que el servidor se haya reiniciado por completo, utilice una herramienta de transferencia SSH o SCP como WinSCP para copiar el controlador del host al nodo.
Nota: Si descargó todos los controladores juntos como una carpeta comprimida (.zip), es posible que primero deba extraer su contenido y elegir el archivo “.run” de la carpeta “Host_Drivers”.
Coloque el archivo en el directorio “/home” del servidor y prepárese para ejecutar el instalador con los siguientes comandos.
cd /home chown root NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run chmod +X NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run ./NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run --dkms
Nota: Reemplace "NVIDIA-Linux-x86_64-570.124.03-vgpu-kvm.run" con el nombre del controlador que descargó. Puede usar el comando "ls" para ver el nombre del archivo una vez que se haya colocado en el directorio "/home".
Ahora que el controlador está instalado en el servidor, ¡estamos a solo unos pasos de configurar la parte host de nuestra vGPU de Proxmox! Antes de poder marcar la GPU como un dispositivo que se puede dividir entre máquinas virtuales, debemos habilitar la virtualización de E/S de raíz única (SR-IOV). NVIDIA define esta característica Como "...una tecnología que permite que un dispositivo PCIe físico se presente varias veces a través del bus PCIe. Esta tecnología permite múltiples instancias virtuales del dispositivo con recursos separados". Dado que SR-IOV es una tecnología crucial para la funcionalidad básica de vGPU en las GPU modernas, configúrela para que se active al arrancar con el siguiente comando:
systemctl habilitar --ahora [email protected]
Finalmente, podemos mapear los recursos de la GPU para distribuirlos correctamente entre las máquinas virtuales. En la interfaz web del servidor Proxmox VE, haga clic en "Centro de datos" en la esquina superior izquierda y desplácese hacia abajo para seleccionar la pestaña "Asignaciones de recursos".
Haga clic en el botón “Agregar” debajo de la sección “Dispositivos PCI” de la página y complete el campo “Nombre:” en la siguiente ventana con el nombre que describe la GPU que está asignando.
A continuación, marque la casilla "Usar con dispositivos mediados" y asegúrese de que el menú desplegable "Asignación en nodo" contenga el servidor con la GPU que se va a asignar. Desplácese por la lista de dispositivos y confirme que todos los ID de dispositivo tengan "NVIDIA Corporation" en la columna "Proveedor". Si es así, marque la casilla de verificación en la esquina superior izquierda de la tabla para seleccionar todos los dispositivos; de lo contrario, seleccione solo los dispositivos cuyo proveedor sea "NVIDIA Corporation".
Nota: Si hay varias GPU instaladas en su sistema, puede usar el comando “lspci” en la pestaña “Shell” del servidor deseado para determinar los ID que corresponden a cada tarjeta.
Al terminar de seleccionar el dispositivo, haga clic en el botón "Crear" en la esquina inferior derecha de la ventana emergente para confirmar su selección. ¡Su GPU NVIDIA ya está lista para ser dividida en vGPU para los invitados de su servidor Proxmox VE!
Atender a los invitados (asignar vGPU a máquinas virtuales)
Ya tenemos todo listo para empezar a asignar y usar vGPU en nuestras máquinas virtuales. Para empezar, crea una nueva máquina virtual, como siempre, o usa una máquina virtual existente. Para nuestra demostración, usaremos una máquina virtual con Windows Server 2025.
En la interfaz web del servidor Proxmox VE, apague la máquina virtual utilizando cualquier método que considere adecuado (consola noVNC, menú de energía del invitado, etc.) y haga clic en la pestaña “Hardware” del invitado.
En el menú desplegable que aparece después de hacer clic en el botón “Agregar”, seleccione un “Dispositivo PCI”.
En la ventana emergente “Agregar: dispositivo PCI”, seleccione el nombre que asignó a la GPU con recursos asignados en el campo “Dispositivo:”.
A continuación, haga clic en el campo "Tipo MDev:" y observe la lista de opciones de tipo de dispositivo mediado. Observe que cada opción tiene un número y una letra. El número representa la cantidad de VRAM asignada al invitado (en gigabytes), mientras que "A", "B" y "Q" se refieren al caso de uso de la vGPU:
- Q – Estaciones de trabajo virtuales con controladores RTX Enterprise (requiere licencia RTX vWS)
- B – Escritorios virtuales (requiere licencia NVIDIA Virtual PC o licencia RTX vWS)
- A – Soluciones de aplicaciones (requiere una licencia de NVIDIA Virtual Applications)
Nota: Puede leer más sobre los diferentes perfiles de vGPU y sus licencias requeridas. aquí.
Para esta demostración, usamos el perfil "NVIDIA L40S-12Q". Tras seleccionar el tipo de dispositivo de mediación deseado, marque la casilla "PCI-Express" y haga clic en el botón azul "Agregar".
La máquina virtual ya tiene una vGPU asignada, pero aún necesitamos instalar el controlador invitado y un token de licencia para que todo funcione. Ya puede encender la máquina virtual e iniciar sesión.
Después de iniciar sesión, transfiera el controlador invitado NVIDIA vGPU adquirido anteriormente desde portal de licencias a la máquina virtual de la forma que prefiera (SMB, SCP, descarga directa, etc.). Como alternativa, puede crear y cargar un archivo de CD-ROM virtual (.iso) que contenga el controlador al almacenamiento de su servidor PVE mediante software como ImgBurn para implementar muchos invitados habilitados para vGPU simultáneamente.
Ejecute el archivo de instalación del controlador haciendo doble clic en el ejecutable y siga las instrucciones del menú de instalación que aparece.
Extraiga el controlador a la ubicación predeterminada en el campo “Ruta de extracción:” y elija la opción de instalación “Express” cuando se le solicite.
Una vez completada la instalación del controlador, haga clic en el botón “CERRAR” para salir del menú.
A continuación, necesitaremos activar la licencia de vGPU en el invitado. Los métodos de activación pueden variar considerablemente según si selecciona un servidor de licencias dedicado (DLS) o un servidor de licencias en la nube (CLS), y su sistema operativo. Siga las instrucciones de NVIDIA. Guía de inicio rápido del sistema de licencias y Guía del usuario de licencias de cliente para conocer los pasos detallados sobre cómo activar clientes para su configuración específica.
Usamos un servidor de licencias en la nube y recibimos un archivo de token para instalar en los invitados durante la activación. Mueva este archivo al invitado y cópielo en la carpeta "C:\Archivos de programa\NVIDIA Corporation\vGPU Licensing\ClientConfigToken".
A continuación, es necesario reiniciar el invitado para completar el proceso de activación.
Siguiendo todos los pasos de configuración del host y del invitado que se detallan aquí, debería estar listo para ejecutar programas y aplicaciones que requieren una GPU. No olvide habilitar el Protocolo de Escritorio Remoto (RDP) o instalar su software de escritorio remoto favorito en sus invitados después del reinicio para disfrutar de la visualización remota acelerada por GPU.
Acelerando el motor (probando Proxmox vGPU)
Ahora que tenemos algunos servidores virtuales con GPU virtuales, ¡probémoslos! Cada una de nuestras máquinas virtuales está configurada con 8 vCPU Intel Xeon Platinum 8580 (4 núcleos con hiperproceso), 32 gigabytes de RAM DDR5 4800 MT/s con ECC registrada y el perfil de vGPU NVIDIA L40S-12Q (estación de trabajo virtual) con 12 gigabytes de VRAM. Puede ver la configuración completa del hardware de las máquinas virtuales a continuación:
Cinebench 2024
Basado en el software de modelado y animación Cinema 4D de Maxon, Cinebench 2024 ofrece una perspectiva interesante y objetiva del rendimiento de renderizado en vGPU. Comparemos el rendimiento total del L40S en su perfil "48Q" (los 48 gigabytes de VRAM) con una máquina virtual frente a cuatro máquinas virtuales con el perfil "12Q".
Aunque no tiene mucho sentido que una sola máquina virtual ocupe todo el L40S, podemos observar que el rendimiento es impresionante, con 21,147 2,514 puntos en la prueba de rendimiento de GPU de una sola pasada. Sin embargo, dividir la GPU en cuatro partes muestra el impacto del enfoque de segmentación temporal de NVIDIA para compartir los núcleos CUDA de la GPU, con puntuaciones individuales que oscilan entre 2,567 y XNUMX cuando la prueba se ejecutó simultáneamente en todas las máquinas virtuales.
Al volver a ejecutar la prueba en una sola máquina virtual con el perfil "12Q", con las otras tres máquinas virtuales inactivas, la puntuación vuelve a subir a 15,133 XNUMX. No es exactamente un retorno a la puntuación de la GPU completa, pero sigue siendo respetable para una vGPU particionada.
Puntos de referencia de la licuadora
Continuemos con algunas pruebas de rendimiento de renderizado con Blender. Siguiendo tendencias similares a las de Cinebench 2024, dividir la GPU en cuatro partes resulta en un rendimiento total significativamente menor en comparación con una sola máquina virtual que ejecuta la misma carga de trabajo en el mismo perfil.
Como se demostró en el benchmark Monster, con tan solo cuatro máquinas virtuales que comparten la potencia de procesamiento de la GPU, el rendimiento de renderizado individual puede ser tan solo el 8 % del de una sola máquina virtual con el mismo perfil. Sin embargo, observamos que una máquina virtual obtuvo una ventaja considerable sobre las demás, hasta 2.4 veces la puntuación de la máquina virtual con peor rendimiento.
Los puntos de referencia de Junkshop y Classroom cuentan historias similares, con grandes caídas en el rendimiento para tres de las cuatro máquinas virtuales y un solo invitado obteniendo una puntuación mucho más alta que los demás.
Curiosamente, parece haber breves momentos en los que la vGPU de una máquina virtual recibe mayor prioridad y toma una ventaja significativa. Por ejemplo, durante la prueba de rendimiento Classroom, nuestra segunda máquina virtual con Windows Server 2025 (WIN2025-2) alcanzó más del triple de rendimiento que sus similares a pesar de ejecutarse simultáneamente. Si bien no podemos determinar con precisión si esto se debe a la programación del software de la vGPU o a la naturaleza de la propia GPU, esto pone de manifiesto algunas peculiaridades de rendimiento inherentes al enfoque de NVIDIA basado únicamente en la segmentación de tiempo con esta tarjeta.
Conclusión
La configuración y el soporte del software vGPU de NVIDIA pueden no ser tan sofisticados como los de otras plataformas de la competencia. Aun así, es una característica interesante y valiosa para organizaciones y usuarios de laboratorios domésticos que ya utilizan sistemas de entorno virtual Proxmox. Aunque el rendimiento se reduce significativamente al dividir los recursos de la GPU, muchas organizaciones aún aprovechan la tecnología vGPU de NVIDIA y han determinado que compartir una GPU compensa esta desventaja. Esta actitud ha sido adoptada por muchos hiperescaladores y centros de datos con espacio limitado, donde agrupar el mayor número posible de inquilinos (en este caso, máquinas virtuales con vGPU) en el menor espacio posible es la opción más eficiente y rentable.
La reciente y rápida expansión de funciones de Proxmox Server Solutions, como redes definidas por software, compatibilidad con el kernel Linux 6.11 y un sistema de gestión de centros de datos dedicado Muestra un progreso significativo y demuestra que se está convirtiendo en una opción válida en el ámbito de los hipervisores. Esperamos ver un desarrollo continuo en este ámbito y esperamos poder contarles más sobre las emocionantes herramientas y tecnologías que llegarán pronto a PVE.
Interactuar con StorageReview
Boletín | canal de YouTube | Podcast iTunes/Spotify | Instagram | Twitter | @TikTok | RSS Feed