Passthrough in PVE eigentlich unerwünscht?

brightrgb

Member
Dec 26, 2021
74
4
13
38
Hallo,
ich komme aus dem ESXi Lager und versuche mich mit meinem neunen Backup-Server mit Proxmox.
Bisher bin ich recht angetan.
Aufsetzten sehr einfach, Windows-Test VM läuft selbst auf einer HDD sehr gut. Verstehe aktuell nicht mehr wieso in anderen Foren immer davor gewarnt wird bei Windows-VMs auf Proxmox zu setzen.

Das Thema das mich jetzt aber bewegt ist Passtrough.
Und vor allem dieser Kommentar "PCI passthrough is an experimental feature in Proxmox VE! VMs with passthroughed devices cannot be migrated." in der Anleitung unter https://pve.proxmox.com/wiki/Pci_passthrough.

Ist Passthrough in Promox eigentlich nicht gewünscht und deshalb nur ein experimentelles Feature und man kann es daher nicht einfach auf der PVE-Oberfläche einschalten.
Habe ich später beim Einspielen von möglichen Backups Probleme, wenn ich in VMs die Passthrough Funktion nutze?
Vielleicht kann hier jemand ein bisschen Licht ins Dunkle bringen, da ich bezüglich Passthrough jetzt schon ein wenig verunsichert bin!
 
Hallo,
ich komme aus dem ESXi Lager und versuche mich mit meinem neunen Backup-Server mit Proxmox.
Bisher bin ich recht angetan.
Aufsetzten sehr einfach, Windows-Test VM läuft selbst auf einer HDD sehr gut. Verstehe aktuell nicht mehr wieso in anderen Foren immer davor gewarnt wird bei Windows-VMs auf Proxmox zu setzen.

Das Thema das mich jetzt aber bewegt ist Passtrough.
Und vor allem dieser Kommentar "PCI passthrough is an experimental feature in Proxmox VE! VMs with passthroughed devices cannot be migrated." in der Anleitung unter https://pve.proxmox.com/wiki/Pci_passthrough.

Ist Passthrough in Promox eigentlich nicht gewünscht und deshalb nur ein experimentelles Feature und man kann es daher nicht einfach auf der PVE-Oberfläche einschalten.
Habe ich später beim Einspielen von möglichen Backups Probleme, wenn ich in VMs die Passthrough Funktion nutze?
Vielleicht kann hier jemand ein bisschen Licht ins Dunkle bringen, da ich bezüglich Passthrough jetzt schon ein wenig verunsichert bin!
Also erst einmal musst du allerhand im BIOS/UEFI umstellen, dass da PCI Passthrough überhaupt laufen kann. Also IOMMU aktivieren und all sowas.
Dann musst du dem Bootloader zusätzliche Parameter übergeben, damit das Linux was PVE nutzt überhaupt Passthrough nutzen könnte. Welche Parameter das sind hängt von deiner Hardware ab (Intel/AMD haben da z.B. andere Befehle). Dann musst du sicherstellen, dass da PVE nicht beim Booten die PCIe Karte initialisiert, da viele der PCI Karten es nicht mögen durchgereicht zu werden, nachdem sie bereits einmal initialisiert wurden. Bei GPUs kann man das z.B. über das z.B. oft über das BIOS, wenn man mehrere GPUs hat, indem man dort sagt, welche die primäre oder sekundäre GPU sein soll (PVE bootet dan von der primären GPU). Oder man nutzt Treiber Blacklisting oder blockiert gewisse IDs, damit PVE die Hardware auslässt und nicht initialisiert.
Und dann hat man natürlich noch das Problem, dass da die Hardware oft einfach ungeeignet ist. AMD GPUs haben z.B. gerne den "Reset-Bug" in dessen Firmware. Das BIOS und die PCB des Mainboards müssen so gebaut worden sein, dass da PCI Geräte in eigenen IOMMU Gruppen sind und sich nicht mehrere Geräte eine Gruppe teilen usw.

Passthrough ist durchaus im WebUI integriert (du kannst bei einer VM im Hardware Tab ein PCI Gerät auswählen und in die VM durchreichen), aber damit das klappt, muss eben erst alles oben beschriebene getan werden, damit PCI Passthrough überhaupt funktionieren kann. Und das hängt wieder alles sehr stark von deiner verwendeten Hardware ab und Dinge wie BIOS Einstellungen könnte PVE auch eh nicht automatisch einrichten.

Soweit ich das beurteilen kann läuft PCI Passthrough selbst ziemlich stabil. Das Problem ist meist eher Consumer Hardware, wo die Hardware dann nicht für solche Zwecke entwickelt wurde und dir dann die Firmware/Hardware Probleme bereitet.

Wegen Migirieren hast du halt das Problem, dass da alle Nodes dann wirklich genau gleiche Hardware nutzen müssten. Sagen wir du reichst eine GPU mit der PCI Addresse 00:03 an eine VM durch. Dann migrierst du die VM auf anderen anderen Node wo die Adresse 00:03 von einer NIC benutzt wurde. Nun würde dir statt der GPU eine NIC in die VM durchgereicht werden. Oder och schlimmer: Du migrierst die VM auf einen Node wo die PCI Adresse 00:03 von dem Memory Controller des Mainboard-Chipsatzes benutzt wird. Jetzt wird dir der Memory-Controller in die VM durchgereicht, der Host hat keinen Zugriff mehr auf den RAM und der ganze Server schmiert ab.
Und wenn du einen HA Cluster betreibst, dann migriert PVE ja alle VMs selbstständig zwischen den Nodes hin und her. Da kann so etwas dann schnell echt übel ausgehen.

Ein Backup-Restore oder ein manuelles Migrieren zwischen Nodes sollte nicht das Problem sein, solange du beim Restore/Migrieren nicht die Checkbox aktivierst, dass da die VM automatisch am Ende gestartet werden soll. Dann kannst du danach ja selbst über das WebUI noch das PCI Gerät entfernen oder dessen PCI Adresse abändern, bevor du die VM startest. Bringt natürlich nichts, wenn die VM wirklich auf die durchgereichte Hardware angewiesen ist. Bringst du eine NVMe SSD per PCI Passthrough in die VM und migrierst dann die VM auf einen anderen Node, dann könntest du zwar vor dem ersten Starten der VM das Passthrough entfernen, damit die VM starten kann (wird das gerät nicht gefunden verweigert PVE sonst das Starten der VM) aber dann würde der VM ja immer noch die Daten von der NVMe SSD fehlen, welche noch im anderen Node steckt.
 
Last edited:
Also erst einmal musst du allerhand im BIOS/UEFI umstellen, dass da PCI Passthrough überhaupt laufen kann. Also IOMMU aktivieren und all sowas.
OK, dann hatte ich da wohl eher Glück, dass das nach ein paar Minuten erledigt war und gelaufen ist.
Ich habe allerdings auch nur testweise einen alten PCIe-Raid Controller durchgereicht an eine TrueNAS-VM um zu testen.

Soweit ich das beurteilen kann läuft PCI Passthrough selbst ziemlich stabil.
OK, ich dachte vielleicht, dass in kommenden PVE Versionen das Feature vielleicht wieder verschwindet, weil es von Kunden nicht benötigt oder angenommen wird. Aber das wird dann wohl nicht so sein, wenn es seit längerem stabil läuft!

Wegen Migirieren hast du halt das Problem, dass da alle Nodes dann wirklich genau gleiche Hardware nutzen müssten.
OK das ist klar.
Das wäre bei ESXi nicht anders.
Aber alle Backups die ich mache und auf der gleichen HW wieder einspiele werden ohne Probleme und Anpassungen laufen?
 
Aber alle Backups die ich mache und auf der gleichen HW wieder einspiele werden ohne Probleme und Anpassungen laufen?
Das einzige was eine VM mit PCI Passthrough von einer VM ohne PCI Passthrough unterscheidet ist eine zusätzliche Zeile in der Konfig-Datei der VM pro durchgereichtem Gerät wie diese hier:
hostpci0: 0000:03:00,pcie=1,x-vga=1

Sollte also keinerlei Unterschiede machen.
 
Also ich habe hier z.b. einen Ryzen9 5950x als PVE laufen darauf laufen diverse Linux VMs und 2 x Windows 11 VMs,
Beiden Windows 11 VMs habe ich die selbe GPU-Karte (RTX 2060) per PCI-Passthrough durchgereicht (es kann natürlich immer nur eines der beiden Windows benutzt werden). Das ganze läuft nun seit über einem Jahr super stabil, und auch die Backups auf den PBS sind kein Problem, selbst das Recovern ging problemlos die Windows VM lief nach dem Recovery wieder sofort via PCI-Passthrough.
Auch das durchreichen mehrerer GPU oder andere Karten an VM's ist hier Problemlos möglich.
Ich kann Proxmox nur Empfehlen, und wenn es mal Probleme gibt ist der Support hier einfach klasse.



Grüße
Foxi
 
Last edited:
  • Like
Reactions: jsterr
Also ich habe hier z.b. einen Ryzen9 5950x als PVE laufen darauf laufen diverse Linux VMs und 2 x Windows 11 VMs,
Beiden Windows 11 VMs habe ich die selbe GPU-Karte (RTX 2060) per PCI-Passthrough durchgereicht (es kann natürlich immer nur eines der beiden Windows benutzt werden). Das ganze läuft nun seit über einem Jahr super stabil, und auch die Backups auf den PBS sind kein Problem, selbst das Recovern ging problemlos die Windows VM lief nach dem Recovery wieder sofort via PCI-Passthrough.
Auch das durchreichen mehrerer GPU oder andere Karten an VM's ist hier Problemlos möglich.
Ich kann Proxmox nur Empfehlen, und wenn es mal Probleme gibt ist der Support hier einfach klasse.



Grüße
Foxi
hello, I have the same system config with ryzen and
rtx 2060 can you please share your proxmox configs to run gpu from vm on windows?
 
Ich habe schon ganze PCI Karten, einzelne NICs usw. durchgereicht. Bisher hatte ich noch nie Probleme damit.
 
  • Like
Reactions: proxifoxi
hello, I have the same system config with ryzen and
rtx 2060 can you please share your proxmox configs to run gpu from vm on windows?
hi most problems with PCI passthrough come from the mainboard and the MMU support that doesn't work well there.
What motherboard are you using?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!