-
Was ist Proxmox GPU-Passthrough?
-
Voraussetzungen für GPU-Passthrough auf Proxmox
-
Einrichtung des GPU-Passthrough auf Proxmox
-
Vergessen Sie nicht, Ihre VM zu sichern!
-
Proxmox GPU Passthrough FAQs
-
Fazit
Der GPU-Passthrough ermöglicht es einer VM, direkt auf eine physische GPU zuzugreifen. Dadurch wird die Leistung bei Rechen- oder Grafikaufgaben verbessert. In diesem Artikel wird gezeigt, wie man den GPU-Passthrough unter Proxmox VE einrichtet.
Was ist Proxmox GPU-Passthrough?
GPU-Passthrough bindet eine Host-GPU über VFIO an eine VM. Der Host-Kernel trennt die GPU und übergibt sie dem Gastsystem. Dies führt zu nahezu nativer Leistung. Proxmox VE nutzt KVM- und VFIO-Module, um diese Bindung zu verwalten. Sie müssen die Hardwareunterstützung prüfen und IOMMU konfigurieren. Rechnen Sie damit, BIOS und Kernel anzupassen, damit der Host die exklusive Kontrolle an die VM übergibt.
Voraussetzungen für GPU-Passthrough auf Proxmox
Bevor Sie beginnen, vergewissern Sie sich, dass CPU, Motherboard, BIOS und GPU kompatibel sind. Die CPU muss IOMMU unterstützen: Intel VT-d oder AMD-Vi. Im BIOS müssen diese Optionen sowie 4G-Decodierung oder Above-4G-Decodierung aktiviert sein.
Warnung: Das Durchreichen der primären GPU des Hosts kann dazu führen, dass der Host ohne Out-of-Band-Zugriff wie IPMI oder KVM-over-IP nicht mehr erreichbar ist. Bei einigen Systemen muss CSM/legacy Boot deaktiviert werden, wenn die einzige GPU, die für die Host-Konsole verwendet wird, weitergeleitet wird. Für UEFI-VMs muss das GPU-ROM UEFI GOP unterstützen; andernfalls funktioniert SeaBIOS, beschränkt jedoch die Funktionen. Lade VFIO-Module: vfio, vfio_pci, vfio_iommu_type1 (und vfio_virqfd bei älteren Proxmox-Versionen). Prüfe, ob IOMMU-Gruppen die GPU und ihre Audiofunktion isolieren; vermeide das Teilen mit kritischen Geräten. Verwende die Proxmox-API oder lspci -nnk, um die Gruppen zu überprüfen.
Warnung zur ACS-Überschreibung
Einige Hardware verfügt nicht über ordnungsgemäße ACS-Gruppierung. Sie können pcie_acs_override=downstream hinzufügen oder vfio_iommu_type1.allow_unsafe_interrupts=1 verwenden. Verwenden Sie dies nur bei Bedarf. Die ACS-Überschreibung kann Sicherheits- oder Stabilitätsrisiken mit sich bringen. Bevorzugen Sie Hardware mit nativer Isolation.
Einrichtung des GPU-Passthrough auf Proxmox
1. Host-Konfiguration
Aktivieren Sie zunächst IOMMU im BIOS oder UEFI. Aktivieren Sie „Intel VT-d“ oder „AMD IOMMU“ sowie „Above 4G decoding“, falls verfügbar. Deaktivieren Sie CSM, wenn UEFI für die Host-Konsole auf der GPU verwendet wird. Starten Sie neu in Proxmox VE.
GRUB sicher bearbeiten. Für Intel ausführen:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& intel_iommu=on iommu=pt/' /etc/default/grub
Führen Sie für AMD Folgendes aus:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& amd_iommu=on iommu=pt/' /etc/default/grub
Falls eine ACS-Überschreibung erforderlich ist, fügen Sie pcie_acs_override=downstream mit einem Leerzeichen dahinter hinzu. Führen Sie dann update-grub aus und starten Sie neu. Überprüfen Sie die IOMMU-Aktivierung: cat /proc/cmdline | grep iommu und dmesg | grep -e DMAR -e AMD-Vi. Es sollte ersichtlich sein, dass die Interrupt-Umleitung aktiviert ist.
2. Module laden und auf die Blacklist setzen
Erstellen Sie eine dedizierte modprobe-Datei für VFIO:
echo -e "vfio\nvfio_pci\nvfio_iommu_type1" > /etc/modules-load.d/vfio.conf
Auf älteren Proxmox-Versionen auch vfio_virqfd laden. GPU-Treiber über separate Dateien sperren. Für NVIDIA:
echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nouveau.confecho "blacklist nvidiafb" > /etc/modprobe.d/blacklist-nvidia.conf
Für AMD:
echo "blacklist amdgpu" > /etc/modprobe.d/blacklist-amdgpu.confecho "blacklist radeon" > /etc/modprobe.d/blacklist-radeon.conf
Für Intel iGPU:
echo "blacklist i915" > /etc/modprobe.d/blacklist-i915.conf
Nach dem Blacklisting initramfs neu generieren: update-initramfs -u. Probleme mit initramfs debuggen: journalctl -b 0 | grep vfio. Neustart durchführen und bestätigen mit lsmod | grep vfio.
3. Überprüfen der IOMMU-Gruppierung
Ausführen:
pvesh get /nodes/<nodename>/hardware/pci --pci-class-blacklist ""
oder prüfen Sie /sys/kernel/iommu_groups. Identifizieren Sie die GPU und ihre Audiofunktionsgruppe. Stellen Sie sicher, dass keine kritischen Geräte die Gruppe teilen. Wenn die Gruppierung umfangreich ist, verwenden Sie ACS-Override in GRUB, starten Sie neu und überprüfen Sie erneut. Bestätigen Sie ACS-Meldungen in den Protokollen: dmesg | grep ACS.
Verwenden Sie lspci -tv, um Geräte den CPU-Sockets zuzuordnen. Dies hilft, die NUMA-Lokalität zu optimieren. Wählen Sie die Zuweisung der Host-CPU und VM-CPU, um sie mit dem NUMA-Knoten der GPU auszurichten.
4. Bindung des Hostmoduls (Erweitert)
Falls die automatische Bindung fehlschlägt, geben Sie IDs in der VFIO-Konfiguration an:
echo "options vfio-pci ids=1234:5678,abcd:ef01" > /etc/modprobe.d/vfio-ids.conf
Ersetzen Sie durch Vendor:Device-IDs von lspci -nn. Fügen Sie ggf. einen softdep hinzu:
echo "softdep <drivername> pre: vfio-pci" > /etc/modprobe.d/<drivername>.conf
Initramfs aktualisieren und neu starten. Bestätigen Sie, dass die GPU an vfio-pci gebunden ist, über lspci -nnk.
5. VM-Konfiguration
Wählen Sie unter Machine und Firmware den Chipsatz q35. Für UEFI wählen Sie OVMF. Stellen Sie sicher, dass die Partition für Firmware-Variablen ≥1 MB beträgt (wird von Proxmox automatisch verwaltet). Prüfen Sie, ob das GPU-ROM UEFI GOP unterstützt. Falls nicht, verwenden Sie SeaBIOS, müssen aber mit Einschränkungen rechnen.
Im Hardware-Reiter der VM auf Add und anschließend auf PCI Device klicken. GPU-Adresse auswählen (z. B. 00:02.0). All Functions aktivieren, falls Audio separat ist. PCIe aktivieren (pcie=on). Falls es die einzige GPU ist, Primary GPU aktivieren (x-vga=on). Über die CLI:
qm set <VMID> -machine q35 -hostpci0 01:00.0,pcie=on,x-vga=on
Für Multifunktion:
qm set 100 -hostpci0 01:00.0,rombar=0 -hostpci1 01:00.1
Binden Sie diese Konfiguration an die für GPU-Aufgaben verwendete VM.
6. Gastbetriebssystem-Einrichtung
Installieren Sie das Gastbetriebssystem normal. Windows: Laden Sie offizielle GPU-Treiber ab Version 465 von NVIDIA herunter, um Fehlercode 43 zu vermeiden. Hypervisor ausblenden: CPU-Argumente hinzufügen:
args: -cpu 'host,kvm=off,hv_vendor_id=proxmox'
Wenn der Anbieter den Treiber sperrt, dumpen Sie das GPU-ROM oder fälschen Sie die IDs in den erweiterten Einstellungen der VM. Linux: Installieren Sie Treiber, testen Sie CUDA/OpenCL oder grafische Anwendungen. Ein lokaler Monitor, der an die GPU angeschlossen ist, oder RDP/VNC innerhalb des Gasts ist erforderlich; die Proxmox-Konsole zeigt keine GPU-Ausgabe an.
Vergessen Sie nicht, Ihre VM zu sichern!
Um sicherzustellen, dass Ihre Proxmox-VMs während der GPU-Passthrough-Konfiguration oder zukünftiger Updates geschützt sind, ist eine zuverlässige Sicherungslösung unerlässlich. Vinchin Backup & Recovery ist eine professionelle, unternehmensfähige VM-Sicherungslösung, die Proxmox VE sowie andere führende Plattformen wie VMware, Hyper-V, XenServer, oVirt und mehr unterstützt. Mit Funktionen wie agentenloser Sicherung, CBT-basierter inkrementeller Sicherung, sofortiger Wiederherstellung und automatischer Planung hilft Vinchin, Ihre Proxmox-Virtualisierungsumgebung mit minimalem Aufwand zu schützen. Egal, ob Sie rechenintensive Workloads oder GPU-beschleunigte VMs betreiben, Vinchin stellt sicher, dass Ihre Daten und Konfigurationen sicher und wiederherstellbar bleiben.
Um Ihre Proxmox-VM zu sichern, führen Sie vier Schritte aus, die mit dieser VM verknüpft sind:
1. Wählen Sie die Proxmox-VM für die Sicherung aus

2. Sicherungsspeicherort auswählen

3. Sichern Sie die Backup-Strategie

4. Auftrag senden

Vinchin verfügt über eine globale Nutzerbasis und hohe Bewertungen. Holen Sie sich jetzt eine 60-tägige kostenlose Testversion mit allen Funktionen.
Proxmox GPU Passthrough FAQs
F1: Wie überprüft man die CPU-IOMMU-Unterstützung?
A1: Führen Sie dmesg | grep -e DMAR -e AMD-Vi aus und suchen Sie nach aktivierter Interrupt-Remapping.
F2: Wie isoliert man eine GPU in einer IOMMU-Gruppe?
A2: ACS-Übersteuerung nur bei Bedarf verwenden: pcie_acs_override=downstream zur GRUB hinzufügen und neu starten, um Geräte zu trennen.
F3: Wie greift man auf die Gastanzeige zu, wenn die Konsole leer ist?
A3: Monitor an die GPU anschließen oder RDP/VNC im Gastbetriebssystem einrichten.
Q4: Warum zeigt die weitergeleitete GPU „Fehler 43“ an?
A4: Hyper-V/KVM ausblenden, aktuelle Treiber verwenden, Vendor/Device-IDs fälschen oder GPU-ROM dumpen, falls gesperrt.
Fazit
GPU-Passthrough auf Proxmox ermöglicht eine hohe Leistung für VMs. Führen Sie Hardware-Prüfungen, BIOS-Anpassungen und Kernel-Änderungen durch. Laden Sie die VFIO-Module, isolieren Sie die IOMMU-Gruppen und binden Sie die GPU an VFIO. Konfigurieren Sie die VM nach Möglichkeit mit q35 und OVMF. Optimieren Sie CPU-Pinning und NUMA für beste Ergebnisse. Beheben Sie Probleme wie Fehlercode 43, Reset-Fehler und prüfen Sie die Logs. Sichern Sie stets vor wichtigen Änderungen. Vinchin bietet zuverlässige Backups, um Ihre VMs und Daten zu schützen.
Teilen auf: