-
Was ist PVE USB-Passthrough und warum benötigen Sie dies?
-
Voraussetzungen für USB-Passthrough in Proxmox VE
-
Wie behandelt PVE USB-Passthrough intern?
-
Methode 1: USB-Gerät über die Web-Oberfläche an eine VM übergeben
-
Methode 2: Weiterleiten von Geräten an LXC-Container
-
Methode 3: Kompletter Controller-Passthrough mithilfe der PCIe-Zuweisung
-
Best Practices für USB-Passthrough in Proxmox VE
-
Problembehandlung bei häufigen Problemen mit PVE USB-Passthrough
-
Schutz der Proxmox-VM mit Vinchin
-
PVE USB-Passthrough-Häufig gestellte Fragen
-
Fazit
USB-Passthrough ist eine entscheidende Funktion für viele Proxmox VE Benutzer. Sie ermöglicht es, physische USB-Geräte – wie Lizenzdongles oder Chipkartenleser – an virtuelle Maschinen oder Container anzuschließen, als wären sie direkt verbunden. Doch was passiert eigentlich im Hintergrund? Und wie stellt man sicher, dass dies zuverlässig in verschiedenen Konfigurationen funktioniert?
In dieser Anleitung führen wir Sie Schritt für Schritt durch den Aufbau Ihres Verständnisses – von der grundlegenden Geräteabbildung bis hin zum erweiterten Controller-Passthrough – und erläutern praktische Lösungen für häufige Herausforderungen. Egal ob Sie ein Home Lab betreiben oder eine Unternehmensinfrastruktur verwalten: Die Beherrschung des USB-Passthrough kann neue Möglichkeiten in Ihrer virtuellen Umgebung erschließen.
Was ist PVE USB-Passthrough und warum benötigen Sie dies?
USB-Passthrough ermöglicht es einem virtuellen Maschine (VM) oder einem LXC-Container, auf ein physisches USB-Gerät zuzugreifen, das an Ihren Proxmox-Host angeschlossen ist. Das bedeutet, dass Software innerhalb Ihres Gastsystems Hardware-Schlüssel, Speicherlaufwerke, Zigbee-Sticks oder andere Peripheriegeräte genauso nutzen kann wie auf einem physischen System.
Wie funktioniert das? Bei VMs nutzt Proxmox die eingebaute Unterstützung von QEMU, um den USB-Verkehr vom Host zum Gastbetriebssystem umzuleiten. Bei Containern (LXC) verlässt es sich auf Kernel-Funktionen von Linux wie cgroups und Namespaces, um Geräteknoten sicher bereitzustellen.
Warum ist das wichtig? Viele Geschäftsanwendungen erfordern den direkten Hardwarezugriff – beispielsweise:
Verwenden eines Hardware-Sicherheitsschlüssels für die Zwei-Faktor-Authentifizierung
Verbinden externer Laufwerke zum Datentransfer
Sicheres Anmelden durch Anschluss von Chipkartenlesern
Integration von IoT-Geräten über Zigbee- oder Z-Wave-Dongles
Ohne ordnungsgemäße Passthrough-Konfiguration bleiben diese Geräte in Ihren Gastsystemen unsichtbar. Wenn Sie verstehen, wie Passthrough funktioniert – und welche Einschränkungen es hat –, können Sie sich später Ärger ersparen.
Voraussetzungen für USB-Passthrough in Proxmox VE
Bevor Sie den USB-Passthrough in Proxmox VE einrichten, überprüfen Sie einige grundlegende Anforderungen:
Stellen Sie zunächst sicher, dass die Virtualisierung (Intel VT-d oder AMD-Vi) in der BIOS/UEFI-Einstellung Ihres Servers aktiviert ist. Für die PCIe-Controller-Passthrough-Funktion (fortgeschrittene Anwendungsfälle) aktivieren Sie die IOMMU-Unterstützung, indem Sie intel_iommu=on
oder amd_iommu=on
den Kernel-Boot-Parametern hinzufügen.
Als Nächstes sollten Sie wissen, welchen Typ von USB-Controller Sie besitzen – EHCI (USB 2.0) oder xHCI (USB 3.x) –, da dies die Kompatibilität und Stabilität beeinflusst, wenn Sie ganze Controller durchreichen.
Beachten Sie schließlich, dass neuere Versionen von Proxmox Geräteberechtigungen aufgrund von Änderungen an den udev
-Regeln oder Kernel-Aktualisierungen möglicherweise anders handhaben. Prüfen Sie stets die Kompatibilitätshinweise, bevor Sie Produktionssysteme aktualisieren.
Wie behandelt PVE USB-Passthrough intern?
Wenn Sie ein physisches USB-Gerät einer VM mit Proxmox VE zuweisen:
1. Der Host erkennt das Gerät anhand seiner einzigartigen Hersteller-ID (idVendor
) und Produkt-ID (idProduct
).
2. QEMU erstellt eine virtuelle Darstellung dieses Geräts innerhalb der virtuellen Maschine.
3. Die gesamte Kommunikation zwischen Gast-Software und Hardware erfolgt über diesen Kanal – Emulation wird umgangen, um nahezu native Geschwindigkeit zu erreichen.
Für LXC-Container:
1. Der Host macht spezifische /dev
-Knoten durch Bind-Mounts zugänglich.
2. Die Cgroup-Berechtigungen steuern, welche Geräte innerhalb jedes Containers sichtbar sind.
3. Persistente Symlinks unter /dev/serial/by-id
helfen dabei, stabile Pfade beizubehalten, selbst wenn Geräte ab- und wieder angeschlossen werden.
Dieser direkte Ansatz bietet hohe Leistung, erfordert jedoch eine sorgfältige Konfiguration – insbesondere im Bereich von Berechtigungen und Isolationsgrenzen.
Methode 1: USB-Gerät über die Web-Oberfläche an eine VM übergeben
Die einfachste Möglichkeit, ein USB-Gerät an eine virtuelle Maschine weiterzugeben, ist über die Web-Oberfläche von Proxmox. Diese Methode eignet sich für die meisten Benutzer, die Linux- oder Windows-Gäste betreiben.
Verbinden Sie das gewünschte USB-Gerät mit einem verfügbaren Anschluss auf Ihrem Hostserver.
Wählen Sie in der Web-Benutzeroberfläche die Ziel-VM aus.
Klicken Sie auf Hardware, dann auf Add > USB Device.
Wählen Sie eine der folgenden Optionen aus:
Use USB Vendor/Device ID: Für ein spezifisches Gerät, das unverändert bleibt.
Use USB Port: Für flexible Installationen, bei denen jedes Gerät, das an einen bestimmten Anschluss angeschlossen wird, weitergeleitet wird.
Änderungen speichern und den virtuellen Computer neu starten. Führen Sie innerhalb Ihres Gastbetriebssystems den Befehl
lsusb
aus (Linux) oder öffnen Sie den Geräte-Manager (Windows), um zu prüfen, ob das Gerät erfolgreich weitergeleitet wurde.
Methode 2: Weiterleiten von Geräten an LXC-Container
Das Weiterleiten physischer Geräte an LXC-Container ist aufgrund der strengeren Isolation komplizierter, aber dennoch machbar.
Tipp 1: Verwenden persistenter Gerätepfade
Persistente Pfade unter /dev/serial/by-id
bieten stabile Geräteverknüpfungen, auch nach dem Ab- und Wiederanschließen von Geräten. Um diese Methode zu verwenden:
Auf dem Host ausführen:
ls -l /dev/serial/by-id
Beispielausgabe:lrwxrwxrwx 1 root root 13 Sep 9 10:54 usb-Silicon_Labs_CP210x-if00-port0 -> ../../ttyUSB0
Wählen Sie in der Web-Benutzeroberfläche den Zielcontainer aus und klicken Sie auf Resources.
Klicken Sie auf Add > Device Passthrough und geben Sie den vollständigen Gerätepfad ein (z. B.
/dev/serial/by-id/...
).Änderungen speichern und den Container neu starten.
Tipp 2: Manuelles Bearbeiten der LXC-Konfiguration
Falls persistente Pfade nicht verfügbar sind oder Sie eine genauere Kontrolle über die Berechtigungen benötigen:
Bearbeiten Sie die Konfigurationsdatei des Containers unter
/etc/pve/lxc/<CTID>.conf
und fügen Sie Folgendes hinzu:lxc.cgroup2.devices.allow: c 188:* rwm lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
Starten Sie den Container neu, um die Änderungen anzuwenden.
Verwaltung von Berechtigungen und Replug-Ereignissen
Manchmal führt das Ausstecken und erneute Einstecken von Geräten zu Berechtigungsrücksetzungen oder Änderungen in der Zuordnung der Gerätenodes unter /dev
. Um damit umzugehen:
Persisente UDEV-Regeln erstellen:
Erstellen Sie eine benutzerdefinierte UDEV-Regel, um automatische Berechtigungsanpassungen und die Erstellung von Symlinks zu ermöglichen:SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="mydevice", GROUP="lxcuser", MODE="0660"
Laden Sie die UDEV-Regeln mit folgendem Befehl neu:
udevadm control --reload && udevadm trigger
Automatisches Neustarten von Containern nach Replug-Ereignissen:
Kombinieren Sie UDEV-Triggers mit Skripten, um Container nach Geräte-Replug-Ereignissen automatisch neu zu starten:pct restart <CTID>
Methode 3: Kompletter Controller-Passthrough mithilfe der PCIe-Zuweisung
Für maximale Leistung kann es sinnvoll sein, einen gesamten USB-Controller anstelle einzelner Geräte weiterzugeben. Dies ist besonders nützlich für Geräte mit hohem Datendurchsatz, wie z. B. externe SSDs.
IOMMU aktivieren im BIOS und im Bootloader (
intel_iommu=on
oderamd_iommu=on
).Find the controller address using:
lspci | grep -i usb
Den Controller-Treiber bei Bedarf mithilfe von VFIO-Tools binden:
echo "8086:a36d" > /sys/bus/pci/drivers/vfio-pci/new_id
Wählen Sie in der Web-Oberfläche die Ziel-VM aus, klicken Sie auf Hardware und anschließend auf Add > PCI Device.
Wählen Sie die entsprechende Controller-Adresse aus und bestätigen Sie.
Wichtige Warnung: Vermeiden Sie die Zuweisung des Root-Hubs/Controllers für Tastatur-/Maus-Steuerung, es sei denn, Sie verfügen über verfügbare Remote-Verwaltungstools, da dies Sie sonst aus dem System aussperren könnte.
Best Practices für USB-Passthrough in Proxmox VE
Beim Weiterleiten physikalischer Geräte zwischen Hosts und Gästen sollte stets das Prinzip der minimsten Rechte angewendet werden, um Sicherheitsrisiken zu minimieren.
Gewähren Sie niemals umfassenderen Zugriff, als notwendig ist. Übermitteln Sie nur die erforderlichen Anbieter-/Produktkennungen.
Überwachen Sie die Protokolle regelmäßig auf ungewöhnliche Aktivitäten, insbesondere nach Upgrades oder Hardwareaustausch.
In Mehrbenutzerumgebungen sollten gruppenbasierte Einschränkungen mithilfe benutzerdefinierter UDEV-Regeln/Skripte verwendet werden, um den Gerätezugriff zu beschränken.
Problembehandlung bei häufigen Problemen mit PVE USB-Passthrough
Wenn Geräte nicht erkannt werden oder Berechtigungen fehlschlagen:
USB-Erkennung prüfen:
Führen Sielsusb
sowohl auf dem Host als auch auf dem Gastsystem aus, um die Erkennung zu überprüfen.Berechtigungsfehler:
Überprüfen Sie die Gruppen-/Benutzereigentümerschaft unter/dev
und korrigieren Sie diese mitchown
oderchmod
.Hot-Plug-Ausfälle:
Stellen Sie sicher, dass der QEMU-Agent in den virtuellen Maschinen aktiviert ist, und verwenden Sie Skripte, um den Neustart von Containern für LXCs zu automatisieren.
Schutz der Proxmox-VM mit Vinchin
Nach der Konfiguration zuverlässiger PVE-Umgebungen – einschließlich erweiterter Funktionen wie USB-Passthrough – wünschen Sie eine leistungsstarke Backup-Lösung, um Daten zu schützen und die Geschäftskontinuität sicherzustellen.
Vinchin Backup & Recovery ist eine Enterprise-Backup-Lösung für virtuelle Maschinen, die über fünfzehn gängige Plattformen unterstützt – darunter spezielle Unterstützung für Proxmox VE sowie VMware, Hyper-V, oVirt, OLVM, RHV, XCP-ng, XenServer, OpenStack, ZStack und weitere – allesamt über eine einheitliche Plattform verwaltet.
Zu den wichtigsten Funktionen gehören Incremental Backup-Technologie, die den Speicherbedarf minimiert; integrierte Daten-Deduplizierung und Kompression; nahtlose V2V-Migration zwischen heterogenen Plattformen; fein granulare Wiederherstellungsmöglichkeiten sowie geplante automatische Backups mit flexiblen Aufbewahrungsrichtlinien – alles darauf ausgerichtet, Effizienz im großen Maßstab zu gewährleisten, ohne Kompromisse bei Zuverlässigkeit oder Geschwindigkeit einzugehen.
Die intuitive Vinchin-Webkonsole macht es einfach, beliebige Proxmox-VMs zu schützen:
1. Wählen Sie den Proxmox VM aus, der gesichert werden soll;
2. Sichern Sie den Speicherort;
3. Backup-Strategien konfigurieren;
4. Auftrag einreichen.
Tausende vertrauen weltweit auf Vinchin – mit hohen Bewertungen aus verschiedenen Branchen – und jetzt können Sie alle Funktionen kostenlos mit unserer umfassenden 60-Tage-Testversion nutzen.
PVE USB-Passthrough-Häufig gestellte Fragen
F1: Kann ich einen neuen USB-Stick hot-plugen, sodass mein Windows Server ihn sofort erkennt?
A1: Ja – solange die Hotplug-Unterstützung sowohl in den QEMU-Einstellungen aktiviert ist als auch die Gastwerkzeuge installiert sind, erscheint der Stick sofort, ohne neu starten zu müssen.
Q2: Meine LXC-App kann keine Dateien schreiben, obwohl ich meinen Seriellen Adapter durchgeschleift habe – warum?
A2: Prüfen Sie die Gruppeneigentümerrechte/Modi-Bits unter /dev; passen Sie diese bei Bedarf mithilfe von benutzerdefinierten udev-Regeln oder chmod/chown-Befehlen an.
Fazit
Der flexible Ansatz von PVE ermöglicht es Administratoren, fast jede Art von physischen Peripheriegeräten – von Einzelplatz-Dongles bis hin zu ganzen Hochgeschwindigkeitscontrollern – sicher und effizient mit ihren virtualisierten Workloads zu verbinden. Mit zuverlässigen Backups, unterstützt von Vinchin, bleibt Ihre kritische Daten geschützt, egal wie komplex die Situation wird. Probieren Sie Vinchin noch heute aus – und genießen Sie Ruhe gewissheit sowie optimale Leistung!
Teilen auf: