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.