-
Was ist Disk-Passthrough?
-
Arten des Disk-Passthrough
-
Häufige Anwendungsfälle
-
Methode 1: Einzelne Festplatte per Befehl als Pass-Through mappen
-
Methode 2: PCI-Gerät hinzufügen, SATA-Controller per Pass-Through weitergeben
-
Die Sicherung von Proxmox-VMs ist unerlässlich
-
Fazit
Proxmox VE ist eine leistungsstarke und quelloffene Virtualisierungsplattform, die sowohl KVM-basierte virtuelle Maschinen als auch Linux-Container unterstützt. Eine Funktion, die Proxmox für fortgeschrittene Benutzer besonders flexibel macht, ist das Disk-Passthrough, das direkten Zugriff auf physische Datenträger aus einer virtuellen Maschine heraus ermöglicht. Diese Funktion ist für bestimmte Anwendungsfälle unerlässlich, beispielsweise für rechenintensive Speicheranwendungen, die native Verwendung von ZFS oder das Durchreichen von Hardware-RAID-Controllern an Gastsysteme.
Was ist Disk-Passthrough?
Bei Disk-Passthrough handelt es sich um eine Technik, die einer virtuellen Maschine in Proxmox ermöglicht, direkt auf ein physisches Speichergerät zuzugreifen, ohne den Storage-Stack des Hosts zu durchlaufen. Im Gegensatz zu herkömmlichen virtuellen Festplattenimages, die im Dateisystem des Hosts gespeichert sind, gewährt Disk-Passthrough der VM exklusiven Zugriff auf eine physische Festplatte, was mehrere Vorteile bietet, darunter geringerer I/O-Overhead und die Nutzung nativer Hardwarefunktionen innerhalb der VM.
Arten des Disk-Passthrough
1. Ganzer Disk-Passthrough: Die gesamte physische Festplatte wird ohne Zwischenschichten an die VM weitergegeben. Dadurch erhält die VM vollständige Kontrolle über die Festplatte, was sich beispielsweise für ZFS, RAID-Konfigurationen oder den Betrieb spezialisierter Speicheranwendungen eignet.
2. Partition Passthrough: Anstatt die gesamte Festplatte weiterzugeben, können Sie nur eine bestimmte Partition an die VM weitergeben. Dies ermöglicht eine feinere Kontrolle, wenn Sie nicht die gesamte Festplatte reservieren möchten.
3. Hardware-Controller-Passthrough: Bei Setups, die Hardware-RAID-Karten oder spezialisierte Controller beinhalten, gewährleistet der Durchgriff des gesamten Speichercontrollers an die VM, dass die VM alle am Controller angeschlossenen Festplatten eigenständig verwalten kann.
Häufige Anwendungsfälle
ZFS in einer VM: ZFS ist ein beliebtes Dateisystem, das Funktionen wie Snapshots und RAID-ähnliche Funktionen umfasst. Die Weiterleitung physischer Festplatten an die VM ermöglicht es ZFS, die Festplatten direkt zu steuern, was eine bessere Leistung bietet und erweiterte Funktionen wie Datenintegritätsprüfungen aktiviert.
Speicher-gebundene VMs: Für Systeme wie NAS, iSCSI-Ziele oder andere datenträgerintensive Anwendungen stellt die direkte Datenträgerweitergabe sicher, dass Leistungsengpässe, die typischerweise durch Virtualisierungsschichten verursacht werden, minimiert werden.
Hardware-RAID: Wenn Ihr Server Hardware-RAID-Controller verwendet, stellt das Durchreichen sicher, dass Ihre VM vollen Zugriff auf die RAID-Konfigurationen hat, ohne auf Software-Emulation angewiesen zu sein.
Es gibt zwei Möglichkeiten, Festplatten in Proxmox VE weiterzuleiten:
Methode 1: Einzelne Festplatte per Befehl als Durchgang abbilden;
Methode 2: PCI-Gerät hinzufügen, SATA-Controller weiterleiten.
Methode 1: Einzelne Festplatte per Befehl als Pass-Through mappen
Greifen Sie auf die SSH des Proxmox VE-Systems zu oder geben Sie direkt die Web-Shell des PVE-Managements ein.
1. Überprüfen Sie die Datenträger-ID
ls -l /dev/disk/by-id/
Hinweis: „ata, mmc“ usw. geben das Schnittstellenverfahren an. Gängige Typen sind ATA, SATA, SCSI, NVME, eMMC und SASI. IDE- und SATA-Schnittstellen werden im Allgemeinen als „ata“ gekennzeichnet, während SCSI- und SAS-Schnittstellen als „scsi“ gekennzeichnet sind.
2. Importieren Sie die virtuelle Maschine
qm set <vm_id> –<disk_type>[n] /dev/disk/by-id/<type>-$brand-$model_$serial_number
<disk_type>[n]: Der Bustyp und seine Nummer für die importierte Festplatte. Bustypen können IDE, SATA, VirtIO Block oder SCSI sein, die Nummerierung beginnt bei 0. Der Maximalwert hängt vom Bustyp ab: IDE bis 3, SATA bis 5, VirtIO Block bis 15 und SCSI bis 13.
/dev/disk/by-id/-brand-brand−model_$serial_number: Der spezifische Pfad und Name der Datenträger-ID.
Beispielsweise wird die Festplatte mit den Daten „ata-ST4000VX000-2AG166_ZGY163KG“ an die virtuelle Maschine mit der VM-ID 102 weitergeleitet, und die Busschnittstelle ist sata2 (bitte setzen Sie die Busnummer entsprechend der PVE-Virtuellen Maschine).
qm set 102 -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG
Die Rückgabeinformationen werden angezeigt:
update VM 102: -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG
Dies zeigt an, dass die Durchleitung erfolgreich war.
Methode 2: PCI-Gerät hinzufügen, SATA-Controller per Pass-Through weitergeben
Wenn ein SATA-Controller in Proxmox VE per Pass-Through weitergegeben wird, wird der gesamte SATA-Bus weitergegeben, das bedeutet, dass der über den Southbridge- oder Northbridge-verbundene SATA-Bus direkt weitergeleitet wird. Auf einigen Mainboards führt dies dazu, dass alle SATA-Schnittstellen weitergegeben werden.
Hinweis: Wenn Ihr PVE-System auf einer SATA-Festplatte installiert ist, kann dies dazu führen, dass das PVE-System nicht startet. Stellen Sie daher vor der Weiterleitung des SATA-Controllers sicher, wo das PVE-System installiert ist, oder installieren Sie das System direkt auf einem NVMe-Laufwerk.
Stellen Sie vor dem Start sicher, dass die IOMMU-Hardware-Passthrough-Funktion aktiviert ist, und fahren Sie anschließend mit dem Hinzufügen des SATA-Controllers fort.
1. Bestätigen Sie, ob die CPU Ihres Motherboards Vt-d unterstützt
Wenn nicht, können Sie die Weiterleitung nicht durchführen. Intel verlangt mindestens den Chipsatz B75, um dies zu unterstützen. Mit anderen Worten: Intel Core-Prozessoren ab der 4. Generation unterstützen diese Funktion. VT-d dient der I/O-Virtualisierung, nicht VT-x.
Viele Anfänger glauben fälschlicherweise, dass die Aktivierung der Virtualisierung auf dem Motherboard für das Pass-Through ausreicht, aber das ist nicht der Fall. VT-D muss für die I/O-Virtualisierung aktiviert werden. Auf der AMD-Plattform heißt es IOMMU, und auf einigen OEM-Motherboards wird es SRIOV genannt. Bitte beachten Sie dies.
2. IOMMU aktivieren
Bearbeiten Sie die GRUB-Datei. Ändern Sie sie nicht blind. Passen Sie sie entsprechend Ihrer Umgebung an.
vi /etc/default/grub
Finden Sie diese Zeile:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Wenn eine Intel-CPU verwendet wird, ändern Sie sie in:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
Wenn eine AMD-CPU verwendet wird, ändern Sie sie wie folgt:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
Wenn GPU-Passthrough erforderlich ist, wird empfohlen, eine zusätzliche Zeile hinzuzufügen:
video=vesafb:off video=efifb:off video=simplefb:off
Nachdem diese Zeile hinzugefügt wurde, startet PVE neu und bleibt nach dem Betriebssystemkern auf einem Bildschirm stehen.
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafb:off video=efifb:off video=simplefb:off"
Nach der Änderung grub direkt aktualisieren:
update-grub
Hinweis: Falls diese Methode IOMMU nicht aktiviert, ändern Sie die Datei „/etc/kernel/cmdline“ und verwenden Sie „proxmox-boot-tool refresh“, um die Boot-Optionen zu aktualisieren.
3. Laden Sie die erforderlichen Kernel-Module
echo vfio >> /etc/modules echo vfio_iommu_type1 >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_virqfd >> /etc/modules
Kernel-Parameter aktualisieren
update-initramfs -k all -u
Host neu starten
reboot
4. Überprüfen Sie, ob IOMMU aktiviert ist
Nach dem Neustart geben Sie den folgenden Befehl im Terminal ein:
dmesg | grep iommu
Wenn die folgende Ausgabe erscheint, deutet dies auf einen Erfolg hin:
[ 1.341100] pci 0000:00:00.0: Adding to iommu group 0 [ 1.341116] pci 0000:00:01.0: Adding to iommu group 1 [ 1.341126] pci 0000:00:02.0: Adding to iommu group 2 [ 1.341137] pci 0000:00:14.0: Adding to iommu group 3 [ 1.341146] pci 0000:00:17.0: Adding to iommu group 4
Geben Sie hier ein:
find /sys/kernel/iommu_groups/ -type l
Wenn viele Durchgriffsgruppen erscheinen, deutet dies auf Erfolg hin. Wenn nichts erscheint, ist IOMMU nicht aktiviert.
Wählen Sie das erforderliche PVE-System aus, klicken Sie auf „Hardware“ > „Hinzufügen“ > „PCI-Gerät“ > wählen Sie „SATA-Controller“ und klicken Sie abschließend auf „Hinzufügen“, um den SATA-Controller dem entsprechenden System zuzuweisen. Nach dem Neustart werden die PVE-Hardware-Passthrough-Einstellungen wirksam.
Die Sicherung von Proxmox-VMs ist unerlässlich
Vinchin Backup & Recovery ist eine leistungsfähige Lösung zum Schutz von Daten virtueller Maschinen, die für Multi-Platform-Umgebungen konzipiert ist und vollständige Unterstützung für gängige Virtualisierungsplattformen wie Proxmox bietet. Zu ihren zentralen Funktionen gehören automatisierte Sicherungen sowie Deduplizierungs- und Komprimierungstechnologien, die Benutzern helfen, erhebliche Speicherplatz einzusparen. Außerdem unterstützt sie die plattformübergreifende Datenmigration sowie erweiterte Funktionen wie sofortige Wiederherstellung und granulare, dateiebenebezogene Wiederherstellung, wodurch Geschwindigkeit und Effizienz der Wiederherstellung deutlich gesteigert werden. In einer Proxmox-Umgebung gewährleistet Vinchin Backup & Recovery durch effiziente Backup-Verschlüsselung und -Schutz Datensicherheit und Zuverlässigkeit und stellt somit eine unverzichtbare Lösung für virtuelle Umgebungen dar.
In nur 4 Schritten sichern Sie Ihre Proxmox VE-VMs mit Vinchin Backup & Recovery:
1. Wählen Sie das Sicherungsobjekt aus.

2. Sichern Sie das Sicherungsziel aus.

3. Sichern Sie die Backup-Strategien.

4. Überprüfen und Einreichen der Aufgabe.

Klicken Sie auf die Schaltfläche unten, um eine 60-tägige kostenlose Testversion herunterzuladen und fortgeschrittene Funktionen selbst auszuprobieren!
Fazit
Der Proxmox-Durchgriff auf Festplatten ist eine unschätzbare Funktion für Szenarien, in denen die VM nativen Zugriff auf die Festplatte benötigt. Egal ob Sie speicherintensive Anwendungen ausführen, ZFS-Pools verwalten oder Hardware-RAID-Konfigurationen handhaben – der direkte Zugriff auf physische Festplatten kann die Leistung und Funktionalität erheblich verbessern.
Teilen auf: