text: Wenn der Zugriff auf USB-Geräte von Ihrem Xen-Gastbetriebssystem aus eine echte Herausforderung für Sie darstellt, hilft Ihnen unser Xen USB-Passthrough-Handbuch bei der Lösung dieses Problems. In diesem Artikel finden Sie einfache Beschreibungen der gängigsten Methoden zum Umleiten von USB-Peripheriegeräten zur virtuellen Xen-Maschine.
  Informationen zu Xen Hypervisor
  Xen ist ein plattformübergreifender Hypervisor, der eine Vielzahl erweiterter Funktionen unterstützt und sowohl auf Computern für Endverbraucher als auch auf Unternehmensdatenservern weit verbreitet ist.
  Xen Hypervisor funktioniert direkt auf der Systemhardware. Dadurch wird eine Virtualisierungsebene zwischen der Systemhardware und den virtuellen Maschinen hinzugefügt, wodurch die Systemhardware in einen Pool logischer Computerressourcen umgewandelt wird, die vom Hypervisor dynamisch jedem Gastbetriebssystem zugewiesen werden können. Betriebssysteme, die in virtuellen Maschinen ausgeführt werden, interagieren mit virtuellen Ressourcen, als wären sie physische Ressourcen.
  Leiten Sie USB zu Xen Hypervisor um
  Eine der Hauptfunktionen von Xen Hypervisor ist die Unterstützung der Paravirtualisierung, einem speziellen Betriebssystem-Kernel-Modus. Im Gegensatz zur Emulation einer separaten isolierten Umgebung und eines separaten Hardwaresatzes für jede Maschine können Sie in diesem Modus eine viel bessere Leistung erzielen.
  Damit hat der Paravirtualisierungsmodus seine Grenzen: Privilegierte Operationen sind verboten, die Unfähigkeit, vom 32-Bit- in den 64-Bit-Modus zu wechseln und umgekehrt, die Hardware-Virtualisierung des Prozessors wird nicht unterstützt. Keiner dieser Faktoren kann jedoch die Leistung und Benutzerfreundlichkeit des Systems wesentlich beeinflussen.
  Xen USB-Passthrough-Methode
  Es ist kein Problem, ein in einen Host-PC eingestecktes USB-Gerät an eine virtuelle Maschine weiterzuleiten, solange Sie ein spezielles USB-Virtualisierungstool, USB Network Gate, verwenden.
  Basierend auf der USB-Passthrough-Technologie können mit der App USB-Geräte über das Netzwerk (Ethernet, WAN, Internet) umgeleitet werden, sodass sie von einem Gastbetriebssystem aus zugänglich sind. Die Softwarelösung ist für Windows-, Linux- und Mac-Betriebssysteme verfügbar und unterstützt plattformübergreifende Verbindungen.
  Sie installieren USB Network Gate sowohl auf Ihrem Host- als auch auf Ihrem Gastbetriebssystem.
  Geben Sie das erforderliche USB-Gerät (physisch mit dem Host-PC verbunden) über das Netzwerk frei.
  Starten Sie die App auf Ihrer virtuellen Maschine und stellen Sie eine Verbindung zum freigegebenen Peripheriegerät in der Softwareschnittstelle her.
  Sobald die Verbindung hergestellt ist, wird das Gerät im Geräte-Manager Ihres Gastbetriebssystems so angezeigt, als wäre es physisch an die virtuelle Maschine angeschlossen.
  USB-Gerätevirtualisierung
  VMware Workstation USB-Passthrough
  Hyper-V USB-Unterstützung
  VirtualBox USB Passthrough-Handbuch
  Trotz ihrer vielen Vorteile hat die Xen-Lösung immer noch einen großen Nachteil. Wie bei jedem Bare-Metal-Hypervisor hat Xen Probleme, USB-Anschlüsse auf ein Host-Betriebssystem umzuleiten. Gleichzeitig gibt es einige Möglichkeiten, über eine Xen-Gastdomäne auf ein USB-Gerät zuzugreifen. Die obige Methode beschreibt, wie dies mithilfe einer Xenserver USB-Passthrough-Software durchgeführt wird. Lassen Sie uns jedoch einige "native" Methoden für den Zugriff auf USB auch von Xen aus erläutern.
  Am häufigsten werden USB-Geräte entweder durch ihre Busadresse (bus.device) oder ihre Gerätekennzeichnung (vendorid: deviceid) angegeben.
  Sie können die USB-Geräte im System mit dem Befehl lsusb auflisten:
  In der Regel werden einzelne Hostgeräte entweder über einen emulierten USB-Gerätecontroller oder PVUSB an ein Gastbetriebssystem weitergeleitet.
  1. Die erste Methode impliziert, dass das Gerätemodell (qemu) dem Gast einen emulierten USB-Controller präsentiert. Danach übernimmt der Gerätemodellprozess die Kontrolle über das Gerät von Domäne 0 und überträgt die USB-Befehle zwischen dem Gastbetriebssystem und dem Host-USB-Gerät.
  Diese Methode kann nur mit HVM-Domänen verwendet werden und ist nicht für Domänen verfügbar, die mit Stub-Domänen des Gerätemodells ausgeführt werden.
  In Bezug auf Xen 4.6, xl unterstützt nur den emulierten USB aus der Konfigurationsdatei.
  Sie können den emulierten USB-Hub mit usb = 1 aktivieren. Anschließend müssen Sie Geräte in der Liste der Geräte in der Konfigurationsdatei zusammen mit anderen emulierten Geräten mithilfe von host: USBID angeben. Zum Beispiel:
  USB 1.1 ist der von qemu erstellte Standard-USB-Controller. Für einige Geräte ist dies jedoch nicht ausreichend. In einem solchen Fall können Sie ab 4.6 usbversion verwenden, um auch die USB-Controller-Version anzugeben. Derzeit ist dies jedoch nicht mit usbdevice kompatibel und daher nur in Verbindung mit der Gewürz-USB-Umleitung effizient. Diese Option ist für qemu-traditional nicht verfügbar.
  Um PVUSB verwenden zu können, benötigen Sie usbfront in Ihrem Gastbetriebssystem und usbback in dom0 oder usb backend in qemu (oder Ihrer USB-Treiberdomäne).
  Die Unterstützung für PVUSB in xl / libxl (sowohl für PVUSB-Geräte aus der Konfigurationsdatei als auch für Hot-Plug- und Un-Plug-Vorgänge für PVUSB-Geräte) ist seit Xen 4.7 verfügbar. Jetzt funktioniert es mit USB 1.1 und USB 2.0.
  Folgendes sollten Sie tun, um mit PVUSB über Host-USB-Geräte an den Gast zu gelangen:
  Geben Sie zunächst in der Konfigurationsdatei USB-Controller und USB-Hostgeräte an usbctrl und usbdev. Zum Beispiel:
  Dann können Sie für den Typ auto angeben (Standard: xl versucht, den am besten geeigneten Typ auszuwählen), qusb (paravirtualisiertes qemu-basiertes Backend, sollte für von HVM-Domänen verwendetes pvUSB angegeben werden), pv (paravirtualisiertes kernelbasiertes Backend, nicht unterstützt von) aktuelles Standard-Linux) oder Devicemodel (qemu emulierter USB-Controller, noch nicht unterstützt).
  Außerdem können Sie nur usbdev angeben, zum Beispiel:
  Um das PVUSB-Gerät im Hot-Plug-Modus zu entfernen und zu entfernen, können Sie die Befehle usbctrl-attach, usbctrl-attach, usb-list, usbdev-attach und usbdev-separate verwenden.
  Eine weitere beliebte Möglichkeit, über eine Xen-Gastdomäne auf ein USB-Gerät zuzugreifen, ist eine dedizierte Drittanbieterlösung, die über das Netzwerk funktioniert. In diesem Fall benötigen Sie einen USB-Server (Hardware oder Software) und einen USB-Client (Software). Letzteres ist eigentlich ein spezieller Treiber für das Betriebssystem. Schauen wir uns nun diese einfache und effiziente Methode genauer an, um Xen USB-Passthrough-Unterstützung in Ihrer virtuellen Maschine zu erhalten.