Cómo habilitar el acceso a GPU en contenedores LXC de Proxmox para cargas de trabajo con IA

Una guía completa para aprovechar el rendimiento casi nativo de tarjetas gráficas NVIDIA o AMD en entornos ligeros y eficientes con contenedores LXC en Proxmox VE

El uso de contenedores LXC en Proxmox se ha convertido en una alternativa cada vez más popular frente a las máquinas virtuales tradicionales para ejecutar cargas de trabajo con aceleración por GPU, especialmente en entornos donde el rendimiento y la eficiencia importan. Gracias a su menor sobrecarga y arranque casi instantáneo, los contenedores LXC son ideales para tareas como inferencia de modelos de IA, codificación de vídeo o estaciones de trabajo virtualizadas. Sin embargo, habilitar el passthrough de GPU a contenedores LXC en Proxmox requiere una serie de pasos específicos que difieren notablemente de la configuración en máquinas virtuales (VMs).

¿Por qué elegir LXC con GPU frente a VMs?

  • Arranque más rápido y menor uso de recursos del sistema.
  • Rendimiento casi nativo de la GPU.
  • Ideal para ejecutar aplicaciones como Ollama, Jellyfin o para acelerar escritorios remotos.

No obstante, existe una limitación: no se puede habilitar el passthrough de GPU simultáneamente en VMs y contenedores LXC, debido a configuraciones del sistema que entran en conflicto (como el uso de VFIO o el blacklist de controladores).

Requisitos previos

  • Proxmox VE 7.x u 8.x.
  • Tarjeta gráfica NVIDIA o AMD instalada y visible.
  • Drivers instalados directamente en el host.
  • Contenedor LXC ya creado (preferiblemente privilegiado).
  • Secure Boot desactivado en BIOS.

Pasos para habilitar el passthrough de GPU en contenedores LXC

1. Deshacer configuraciones previas de passthrough a VM
Si se ha usado anteriormente el modo VM:

  • Eliminar o comentar las líneas en /etc/modprobe.d/vfio.conf
  • Eliminar blacklist en /etc/modprobe.d/blacklist-nvidia.conf
  • Regenerar el initramfs con update-initramfs -u -k all
  • Reiniciar el host

2. Instalar controladores en el host Proxmox

apt install build-essential software-properties-common make -y
apt install -y nvidia-driver  # O bien, instalar manualmente desde NVIDIALenguaje del código: PHP (php)
  • Para AMD: apt install -y firmware-amd-graphics
  • Verificar con: nvidia-smi

3. Detectar los dispositivos NVIDIA

ls -al /dev/nvidia*

Normalmente se mostrarán:

  • /dev/nvidia0
  • /dev/nvidiactl
  • /dev/nvidia-uvm
  • /dev/nvidia-caps/*

4. Añadir dispositivos al contenedor LXC

Desde la interfaz de Proxmox:

  • Seleccionar el contenedor > Recursos > Añadir > Device Passthrough
  • Añadir cada uno de los dispositivos /dev/nvidia* detectados anteriormente

5. Instalar drivers en el contenedor LXC

Transferir el fichero del driver:

pct push <ID del LXC> NVIDIA-Linux-xxx.run /root/Lenguaje del código: HTML, XML (xml)

Dentro del contenedor, ejecutar:

chmod +x NVIDIA-*.run
./NVIDIA-*.run

6. (Opcional) Instalar NVIDIA Container Toolkit para Docker

Solo necesario si se usará Docker dentro del LXC:

apt install -y nvidia-cuda-toolkit nvidia-container-toolkit

Verificar con:

nvidia-smi

7. Instalar Ollama o tu aplicación IA preferida

Ejemplo con Ollama:

curl -fsSL https://ollama.com/install.sh | shLenguaje del código: JavaScript (javascript)

Y para usarlo con OpenWebUI en otro contenedor:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://<IP del contenedor>:11434 \
-v open-webui:/app/backend/data --name open-webui --restart always \
ghcr.io/open-webui/open-webui:mainLenguaje del código: JavaScript (javascript)

Seguridad y consideraciones

  • Contenedores privilegiados facilitan el acceso a GPU pero son menos seguros.
  • Para entornos multiusuario o productivos, se recomienda usar VMs o Kubernetes con plugins de dispositivos GPU.

Pros y contras del passthrough a LXC

ProsContras
Bajo consumo de recursosConfiguración más compleja que en VMs
Rendimiento casi nativoMenor aislamiento en contenedores privilegiados
Ideal para cargas IA ligerasRequiere gestión manual de dispositivos

Habilitar el acceso a GPU en contenedores LXC de Proxmox no solo es posible, sino que ofrece una opción potente y eficiente para ejecutar aplicaciones de inteligencia artificial, renderizado y multimedia con bajo consumo de recursos. Eso sí, la configuración exige atención al detalle y una elección clara entre contenedores o VMs.

📷 Puedes consultar capturas de pantalla detalladas y más instrucciones en la guía original publicada por Brandon Lee en VirtualizationHowTo.com.

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio
×