Passthrough de GPU y dispositivos
Configurar passthrough de PCI, GPU, vGPU, NIC SR-IOV y dispositivos USB en VergeOS: desde los requisitos previos de BIOS y grupos de recursos hasta el uso compartido de dispositivos a nivel de inquilino.
Resumen
VergeOS admite múltiples formas de passthrough de dispositivos, lo que permite que las máquinas virtuales accedan directamente al hardware físico conectado a los nodos host. Esto habilita cargas de trabajo que requieren acceso a dispositivos bare metal -- renderizado acelerado por GPU, entrenamiento de IA/ML, claves de seguridad de hardware, redes de alto rendimiento -- y, al mismo tiempo, se benefician de la orquestación, las instantáneas y la multitenencia de VergeOS.
Todos los tipos de passthrough comparten una arquitectura común basada en grupos de recursos y reglas de recursos, lo que proporciona una experiencia de gestión coherente independientemente del tipo de dispositivo.
Prerrequisitos de BIOS
Antes de configurar cualquier passthrough basado en PCI (PCI uno a uno, NVIDIA vGPU o SR-IOV), la BIOS del servidor debe tener habilitados la virtualización de hardware y el soporte IOMMU:
Intel
VT-d y VT-x habilitado; SR-IOV activada
AMD
AMD-Vi / AMD-V y IOMMU habilitado; SR-IOV activada
Agrupación IOMMU
Todos los dispositivos PCI dentro del mismo grupo IOMMU se pasan juntos -- un solo grupo IOMMU no puede dividirse entre distintos invitados. Algunos ejemplos comunes de grupos IOMMU compartidos incluyen:
Una GPU y su controlador de audio asociado
Ambos puertos de una NIC de doble puerto
Varios dispositivos que comparten una tarjeta riser PCI en la misma ranura
Puede ver la pertenencia a grupos IOMMU en la interfaz de VergeOS en Infraestructura > Recursos > Dispositivos PCI. Haga clic en el encabezado de la IOMMU columna para ordenar e identificar los dispositivos agrupados.
Grupos de recursos y reglas de recursos
VergeOS utiliza una abstracción de dos capas para todo el passthrough de dispositivos:
Grupos de recursos
Un grupo de recursos es un conjunto con nombre de uno o más dispositivos físicos (o de función virtual) del mismo tipo. Cuando adjunta un dispositivo a una VM o a un inquilino, selecciona el grupo de recursos: el sistema asigna automáticamente un dispositivo disponible del conjunto cuando la VM se enciende.
Tipos de grupos de recursos:
PCI -- passthrough exclusivo uno a uno
NVIDIA vGPU -- fragmentos de GPU virtual compartidos
NIC SR-IOV -- adaptadores de red de función virtual
USB -- passthrough de dispositivos USB
Reglas de recursos
Las reglas de recursos definen los criterios de filtrado que determinan qué dispositivos físicos pertenecen a un grupo de recursos. Cada regla puede coincidir con atributos como el nombre del dispositivo, el proveedor, la ranura, el número de serie y más. Los campos de filtro disponibles varían según el tipo de dispositivo.
Generado automáticamente
Seleccione un dispositivo y haga clic en Hacer recurso -- el sistema crea las reglas automáticamente (recomendado)
Manual
Cree reglas mediante Infraestructura > Recursos > Reglas > Nuevo con expresiones de filtro personalizadas
Los operadores de filtro incluyen: Igual, Distinto, Menor/Mayor que, Empieza con, Termina con, Contiene (con o sin distinción de mayúsculas), y Regex.
Tipos de passthrough de dispositivos
Passthrough PCI uno a uno
El passthrough PCI uno a uno dedica un único dispositivo PCI físico a una sola VM a la vez. El sistema operativo invitado ve y controla el dispositivo como si estuviera físicamente conectado.
Casos de uso comunes: GPUs dedicadas para renderizado, HBAs especializados, aceleradores FPGA o cualquier dispositivo que requiera acceso directo al hardware.
Guía de configuración
Lado del host:
Vaya a Infraestructura > Recursos (panel del Administrador de recursos).
Haga clic en Dispositivos PCI para listar todos los dispositivos detectados en los nodos.
Seleccione el/los dispositivo(s) de destino y haga clic en Hacer recurso.
Elija un grupo de recursos PCI existente o cree uno nuevo (Tipo: PCI).
Reinicie el/los nodo(s) asociado(s) si se le solicita (use Modo de mantenimiento para evitar interrupciones de la carga de trabajo).
Lado de la VM:
Abra el panel de la VM de destino (Máquinas virtuales > Lista > seleccionar VM).
Haga clic en Dispositivos > Nuevo.
Establezca el tipo en PCI, seleccione el grupo de recursos y especifique la cantidad de dispositivos.
Haga clic en Enviar, luego reinicie la VM para adjuntar el dispositivo.
Instale los controladores de invitado necesarios del proveedor del hardware.
NVIDIA vGPU (GPU virtual)
La tecnología NVIDIA vGPU divide una sola GPU NVIDIA física en múltiples GPU virtuales, lo que permite que varias VMs compartan simultáneamente una pieza de hardware GPU. Esto es ideal para implementaciones VDI, inferencia de IA/ML y aplicaciones aceleradas por GPU donde no se requiere dedicar el dispositivo completo.
Ventajas clave frente al passthrough de GPU uno a uno:
Varias VMs comparten una sola GPU física
Admite migración en caliente (experimental) -- las VMs con vGPU pueden moverse entre nodos sin tiempo de inactividad (función experimental a partir de 4.13+)
Dimensionamiento flexible mediante perfiles NVIDIA vGPU (cantidades variables de framebuffer por VM)
MIG y perfiles heterogéneos de vGPU
A partir de VergeOS 26.1.3, las GPUs NVIDIA compatibles pueden configurarse con opciones adicionales de particionado vGPU:
GPU multiinstancia (MIG) -- una sola GPU compatible puede particionarse en hasta siete instancias aisladas por hardware, proporcionando cómputo, memoria y ancho de banda de memoria garantizados por instancia sin contención de recursos. Requiere compatibilidad del dispositivo (se recomienda el controlador más reciente de NVIDIA para centros de datos).
Perfiles heterogéneos de vGPU -- varios tipos y tamaños tradicionales de perfiles vGPU pueden ejecutarse simultáneamente en el mismo dispositivo físico. Requiere la versión 17.2 o posterior del controlador de NVIDIA y compatibilidad del dispositivo. No se pueden mezclar perfiles MIG y tradicionales en el mismo dispositivo físico.
Guía de configuración
Lado del host:
Obtenga el controlador bundle Linux-KVM de NVIDIA adecuado para su hardware de GPU desde el portal de licencias de NVIDIA.
Cargue el paquete del controlador al vSAN de VergeOS (Sistema > Archivos o carga mediante arrastrar y soltar).
Vaya a Infraestructura > Recursos y haga clic en Dispositivos PCI, luego filtre por Tipo = controlador de pantalla para ver las GPU físicas compatibles.
Seleccione la(s) GPU de destino y haga clic en Hacer recurso.
Elija un grupo de recursos NVIDIA vGPU existente o cree uno nuevo (Tipo: NVIDIA vGPU).
Durante la creación del grupo de recursos, seleccione el perfil de vGPU (determina la asignación de framebuffer por VM).
Reinicie el/los nodo(s) asociado(s) si se le solicita.
Lado de la VM:
Abra el panel de la VM de destino y haga clic en Dispositivos > Nuevo.
Establezca el tipo en NVIDIA vGPU y seleccione el grupo de recursos.
Haga clic en Enviar y reinicie la VM.
Instala el controlador invitado NVIDIA GRID dentro de la VM (que coincida con la rama del controlador del host).
Genere un token de configuración de cliente en el servidor de licencias de NVIDIA, descárguelo en el invitado de la VM y luego reinicie la VM.
NIC de función virtual SR-IOV
La virtualización de E/S de raíz única (SR-IOV) crea múltiples funciones virtuales (VFs) a partir de un único adaptador de red físico compatible con SR-IOV. Cada VF se comporta como una NIC independiente que puede asignarse a una VM, ofreciendo un rendimiento de red casi nativo al omitir la pila de red de software.
Casos de uso comunes: cargas de trabajo sensibles a la latencia, canalizaciones de datos de alto rendimiento, NFV (virtualización de funciones de red) y escenarios que requieren acceso directo a la NIC.
Guía de configuración
Vaya a Infraestructura > Recursos y haga clic en NIC SR-IOV.
Haga clic en Dispositivos PCI de NIC para listar los dispositivos físicos compatibles.
Seleccione la(s) NIC(s) de destino y haga clic en Hacer recurso.
Cree un nuevo grupo de recursos SR-IOV (Tipo: NIC SR-IOV) y configure:
Número de dispositivos VF por dispositivo físico
VLAN nativa etiqueta (opcional)
Límites de ancho de banda (Mbps de transmisión mínimo y máximo)
Estado de enlace virtual (Auto, Habilitar o Deshabilitar)
Comprobación de suplantación, Confianza, y Prioridad de QoS ajustes
Adjunte el VF SR-IOV a una VM mediante Dispositivos > Nuevo > NIC SR-IOV.
Instale el controlador de NIC adecuado dentro del sistema operativo invitado.
Passthrough de dispositivos USB
El passthrough USB permite que una VM acceda a un dispositivo USB conectado al host como si estuviera conectado directamente. Esto es útil para dongles de licencia de hardware, cámaras de seguridad, teclados/ratones y otros periféricos USB.
Guía de configuración
Vaya a Infraestructura > Recursos (o un panel específico del nodo).
Haga clic en Dispositivos USB para listar los periféricos USB detectados.
Seleccione el/los dispositivo(s) de destino y haga clic en Hacer recurso.
Cree o seleccione un grupo de recursos USB (Tipo: USB).
Configure los ajustes opcionales: Permitir reinicio del invitado y Permitir reinicio total del invitado.
Adjunte el dispositivo USB a una VM mediante Dispositivos > Nuevo > USB.
Pasar dispositivos a los inquilinos
Los cuatro tipos de passthrough (PCI, NVIDIA vGPU, NIC SR-IOV, USB) pueden compartirse con los inquilinos, lo que permite a los administradores de inquilinos asignar dispositivos a sus propias VMs. Cuando los dispositivos se pasan a un inquilino:
Un un nuevo grupo de recursos se crea automáticamente dentro del inquilino.
Los dispositivos se aprovisionan de forma gruesa -- el inquilino es propietario exclusivo del/los dispositivo(s), incluso cuando no se usan.
La VM del inquilino debe ejecutarse en el nodo del inquilino donde está adjunto el dispositivo.
Guía paso a paso:
Ir al panel del inquilino (Inquilinos > Lista > seleccionar inquilino).
Haga clic en Nodos, luego haga doble clic en un nodo del inquilino.
Haga clic en Dispositivos > Nuevo.
Seleccione el dispositivo Tipo y configure la cantidad.
Haga clic en Enviar. El grupo de recursos ya está disponible dentro del inquilino.
Comparación de tipos de passthrough
Compartición
1 dispositivo : 1 VM
1 GPU : muchas VMs
1 NIC : muchas VFs
1 dispositivo : 1 VM
Migración en vivo
No
Sí (experimental, 4.13+)
No
No
IOMMU requerido
Sí
Sí
Sí
No
Controlador requerido
Específico del proveedor
NVIDIA GRID
Específico del proveedor
Varía
Compatibilidad con inquilinos
Sí (grueso)
Sí (grueso)
Sí (grueso)
Sí (grueso)
Casos de uso
GPU dedicada, FPGA, HBA
VDI, inferencia de IA/ML, renderizado
Redes de baja latencia, NFV
Dongles de licencia, periféricos
Casos de uso y recomendaciones
VDI y escritorios remotos
Usa NVIDIA vGPU para compartir una sola GPU entre docenas de escritorios virtuales. Los perfiles de vGPU le permiten equilibrar la asignación de framebuffer por usuario. Admite migración en caliente para mantenimiento sin tiempo de inactividad.
Entrenamiento de IA / ML
Para cargas de trabajo de entrenamiento dedicadas, use passthrough PCI uno a uno para dar a una VM acceso completo a una GPU física. Para acceso particionado a GPUs de centro de datos que admitan MIG (como la NVIDIA A100 o H100), use vGPU respaldada por MIG perfiles. Para inferencia o cargas de trabajo más ligeras, vGPU proporciona una compartición eficiente.
Redes de alto rendimiento
NIC VF SR-IOV ofrecen un rendimiento de red casi nativo para aplicaciones sensibles a la latencia como análisis en tiempo real, trading financiero o virtualización de funciones de red.
Periféricos de hardware
passthrough USB permite que las VMs accedan a dongles de licencia, cámaras de seguridad, lectores de códigos de barras y otros dispositivos USB como si estuvieran conectados directamente.
Puntos clave
Los grupos de recursos y las reglas de recursos son el mecanismo universal para todo el passthrough de dispositivos en VergeOS -- apréndalos una vez, aplíquelos en todas partes.
La configuración de BIOS (VT-d/VT-x para Intel, AMD-Vi/IOMMU para AMD) es un prerrequisito para todo passthrough basado en PCI.
NVIDIA vGPU es el único tipo de passthrough que admite migración en caliente (experimental, 4.13+) -- lo que lo convierte en la opción preferida para cargas de trabajo de GPU que requieren alta disponibilidad, aunque esta función debe validarse en su entorno antes de usarla en producción.
El passthrough PCI uno a uno proporciona el máximo rendimiento del dispositivo, pero ancla la VM a un nodo específico.
NIC SR-IOV eluden la red virtual de VergeOS para obtener un rendimiento casi nativo, pero sacrifican las funciones de red administradas.
Todos los tipos de dispositivo pueden compartirse con inquilinos mediante aprovisionamiento grueso, lo que permite a los MSP ofrecer GPU o hardware especializado a clientes individuales.
Última actualización
¿Te fue útil?