simoncaron.pve_nvidia_passthrough
Ansible Role : Configuration du Passthrough NVIDIA sur Proxmox VE
Un rôle Ansible qui configure les pilotes NVIDIA sur Proxmox VE 7.x pour un passthrough vers des VMs et des LXCs.
Ce rôle a été testé sur Proxmox VE 7.3, sur des conteneurs LXC basés sur le modèle Ubuntu 22.04.
Exigences
Aucune.
Variables du Rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
) :
pve_nvidia_passthrough_driver_version: ""
pve_nvidia_passthrough_initramfs_update_options: -k all -u
La valeur pve_nvidia_passthrough_driver_version
est requise et doit contenir la version du pilote souhaitée. Vous pouvez utiliser l'assistant officiel pour identifier la dernière version disponible pour votre GPU : https://www.nvidia.com/Download/index.aspx.
La clé pve_nvidia_passthrough_initramfs_update_options
permet de configurer les options de la commande initramfs lorsque des modules sont ajoutés.
Par défaut, le rôle installe/configure le pilote pour l'hôte Proxmox. Pour configurer le pilote pour un invité LXC, la clé pve_nvidia_passthrough_install_mode
doit être définie sur guest
.
Dépendances
Avant d'exécuter le rôle sur des invités LXC, vous devez définir les drapeaux lxc appropriés dans le fichier .conf de votre conteneur.
Exemple, pour les entrées suivantes dans /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
Vous devez ajouter les lignes suivantes au fichier .conf de l'invité LXC (dans /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
Après avoir ajouté les lignes, vous devez redémarrer le LXC. Vous pouvez exécuter ce rôle avec pve_nvidia_passthrough_install_mode
défini sur guest
pour configurer l'invité.
Consultez ces ressources pour plus d'informations :
- https://jocke.no/2022/02/23/plex-gpu-transcoding-in-docker-on-lxc-on-proxmox/
- https://theorangeone.net/posts/lxc-nvidia-gpu-passthrough/
Exemple de Playbook
- hosts: localhost
vars:
pve_nvidia_passthrough_driver_version: "525.89.02"
roles:
- simoncaron.pve_nvidia_passthrough
Licence
MIT
Informations sur l'Auteur
Ce rôle a été créé en 2023 par Simon Caron.
A role to configure nvidia GPUs passthrough on Proxmox VE 7.x
ansible-galaxy install simoncaron.pve_nvidia_passthrough