simoncaron.pve_nvidia_passthrough

Ansible Role: Configuración de Passthrough NVIDIA en Proxmox VE

Ansible Lint Ansible Release Descargas de Ansible Galaxy

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/.conf)

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:

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.

Acerca del proyecto

A role to configure nvidia GPUs passthrough on Proxmox VE 7.x

Instalar
ansible-galaxy install simoncaron.pve_nvidia_passthrough
Licencia
mit
Descargas
12.3k
Propietario
Software Engineer | IaC | Containers | Ansible | Kubernetes | Helm