simoncaron.pve_nvidia_passthrough
Ansible Role: Configuración de Passthrough NVIDIA en Proxmox VE
Un rol de Ansible que configura los controladores NVIDIA en Proxmox VE 7.x para permitir el passthrough a máquinas virtuales (VMs) y LXC.
Este rol fue probado en Proxmox VE 7.3, en contenedores LXC basados en la plantilla de Ubuntu 22.04.
Requisitos
Ninguno.
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml
):
pve_nvidia_passthrough_driver_version: ""
pve_nvidia_passthrough_initramfs_update_options: -k all -u
El valor pve_nvidia_passthrough_driver_version
es obligatorio y debe contener la versión del controlador deseada. Puedes usar el asistente oficial para identificar la última versión disponible para tu GPU: https://www.nvidia.com/Download/index.aspx.
La clave pve_nvidia_passthrough_initramfs_update_options
permite configurar las opciones del comando initramfs cuando se añaden módulos.
Por defecto, el rol instala/configura el controlador para el Host de Proxmox. Para configurar el controlador para un invitado LXC, la clave pve_nvidia_passthrough_install_mode
debe configurarse en guest
.
Dependencias
Antes de ejecutar el rol en invitados LXC, necesitarás establecer las banderas lxc adecuadas en el archivo .conf de tu contenedor.
Ejemplo, para las siguientes entradas en /dev
:
root@pve01:/etc/pve/lxc# ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195, 0 Feb 13 21:15 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Feb 13 21:15 /dev/nvidiactl
crw-rw-rw- 1 root root 195, 254 Feb 13 21:15 /dev/nvidia-modeset
crw-rw-rw- 1 root root 511, 0 Feb 13 21:15 /dev/nvidia-uvm
crw-rw-rw- 1 root root 511, 1 Feb 13 21:15 /dev/nvidia-uvm-tools
Debes agregar las siguientes líneas al archivo de configuración del invitado LXC (en /etc/pve/lxc/
lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 508:* rwm
lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file
lxc.mount.entry: dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-modeset dev/nvidia-modeset none bind,optional,create=file
Después de agregar las líneas, debes reiniciar el LXC. Puedes ejecutar este rol con pve_nvidia_passthrough_install_mode
configurado en guest
para configurar el invitado.
Consulta estos recursos para obtener información adicional:
- https://jocke.no/2022/02/23/plex-gpu-transcoding-in-docker-on-lxc-on-proxmox/
- https://theorangeone.net/posts/lxc-nvidia-gpu-passthrough/
Ejemplo de Playbook
- hosts: localhost
vars:
pve_nvidia_passthrough_driver_version: "525.89.02"
roles:
- simoncaron.pve_nvidia_passthrough
Licencia
MIT
Información del Autor
Este rol fue creado en 2023 por Simon Caron.
A role to configure nvidia GPUs passthrough on Proxmox VE 7.x
ansible-galaxy install simoncaron.pve_nvidia_passthrough