Xen USB
Passthrough-Anleitung

Wenn der Zugriff auf USB-Geräte von Ihrem Xen-Gastbetriebssystem aus zu einer echten Herausforderung für Sie wird, hilft Ihnen die Xen USB-Passthrough-Anleitung, dieses Problem zu lösen. In diesem Artikel finden Sie einfache Beschreibungen der am häufigsten verwendeten Möglichkeiten, USB-Peripheriegeräte an eine virtuelle Xen-Maschine umzuleiten.

Inhalt

  1. Über Xen Hypervisor
  2. Die effizienteste Xen USB-Passthrough-Methode
  3. Einfache Schritt-für-Schritt-Anleitung
  4. USB in Xen OS: mögliche Optionen

Was ist Xen Hypervisor?


Xen ist ein plattformübergreifender Hypervisor, der eine Vielzahl fortschrittlicher Funktionen unterstützt und sowohl auf Consumer-Computern als auch auf Enterprise-Datenservern verbreitet ist.

Der Xen Hypervisor arbeitet direkt auf der Hardware des Systems. Dabei wird eine Virtualisierungsebene zwischen der Hardware des Systems und den virtuellen Maschinen hinzugefügt, wodurch die Systemhardware zu einem Pool logischer Rechenressourcen wird, der vom Hypervisor jedem Gastbetriebssystem dynamisch zugewiesen werden kann. Betriebssysteme, die in virtuellen Maschinen ausgeführt werden, interagieren mit virtuellen Ressourcen, als wären sie physische Ressourcen.

Eine der Hauptfunktionen von Xen Hypervisor ist die Unterstützung der Paravirtualisierung, eines speziellen Betriebssystem-Kernel-Modus. Im Gegensatz zur Emulation einer separaten isolierten Umgebung und eines Hardware-Sets für jeden Computer können Sie mit diesem Modus eine wesentlich bessere Leistung erzielen.

Damit hat der Paravirtualisierungsmodus seine Grenzen: Privilegierte Vorgänge sind verboten, das Umschalten vom 32-Bit-Modus auf den 64-Bit-Modus und umgekehrt, die Hardware-Virtualisierung des Prozessors wird nicht unterstützt. Keiner dieser Faktoren kann jedoch die Leistung und Verwendbarkeit des Systems erheblich beeinflussen.

Die effizienteste 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 verwenden, USB Network Gate.
USB Network Gate logo

USB Network Gate

USB über Ethernet für Windows teilen
4.9 Rang basierend auf 179+ Nutzer, Bewertungen(72)
Herunterladen 14 Tage Testzeit, Nur ein lokales USB-Gerät kann freigegeben werden
USB Network Gate

Basierend auf der USB-Passthrough-Technologie kann die App USB-Geräte über das Netzwerk (Ethernet, WAN, Internet) umleiten, 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.

So funktioniert die Software:

  1. Sie installieren USB Network Gate auf Ihrem Host- und Gastbetriebssystem.
  2. Teilen Sie das erforderliche USB-Gerät (physisch mit dem Host-PC verbunden) über das Netzwerk.
  3. Starten Sie die App auf Ihrer virtuellen Maschine und stellen Sie über das Software-Interface eine Verbindung zum freigegebenen Peripheriegerät her.

Sobald die Verbindung hergestellt ist, erscheint das Gerät im Geräte-Manager Ihres Gastbetriebssystems so, als wäre es physisch an die virtuelle Maschine angeschlossen.

USB in Xen OS: mögliche Optionen


Trotz der vielen Vorteile hat die Xen-Lösung immer noch einen großen Nachteil. Wie jeder Bare-Metal-Hypervisor hat Xen Probleme beim Umleiten von USB-Ports an ein Host-Betriebssystem. Gleichzeitig gibt es einige Möglichkeiten, über eine Xen-Gastdomäne auf ein USB-Gerät zuzugreifen. Die obige Methode beschreibt, wie Sie dies mit Hilfe von a tun USB-Passthrough-Software, Aber lassen Sie uns über einige "native" Methoden sprechen, um auch über Xen auf USB zuzugreifen.

USB-Geräte anschließen

In der Regel werden USB-Geräte entweder über ihre Busadresse (bus.device) oder ihre Gerätekennung (vendorid: deviceid) angegeben.

Sie können die USB-Geräte im System mit dem Befehl auflisten lsusb:

Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 003 Device 002: ID f617:0905
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0424:2640 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 005: ID 0424:4060 Standard Microsystems Corp. Ultra Fast Media Reader
Bus 001 Device 006: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse

Wenn Sie beispielsweise die Logitech-Maus umleiten müssen, können Sie entweder 046d: c016 oder 1.6 angeben.

Normalerweise werden einzelne Host-Geräte entweder über eine emulierte USB-Gerätesteuerung 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 Prozess des Gerätemodells die Steuerung des Geräts 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 Gerätemodell-Stub-Domänen ausgeführt werden.

Zu Xen 4.6, xl unterstützt nur den emulierten USB aus der Konfigurationsdatei.

Sie können den emulierten USB-Hub mit aktivieren usb=1. Anschließend müssen Sie Geräte in der Liste der Geräte in der Konfigurationsdatei zusammen mit anderen emulierten Geräten angeben host:USBID. For instance:

usb=1
usbdevice=['tablet','host:1.6','host:0424:460']

USB 1.1 ist der von qemu erstellte Standard-USB-Controller. Für einige Geräte reicht dies jedoch nicht aus. In einem solchen Fall können Sie ab 4.6 verwenden usbversion um auch die Version des USB-Controllers anzugeben. Derzeit ist dies jedoch nicht mit kompatibel usbdevice, und ist daher nur in Verbindung mit der Spice-USB-Umleitung effizient. Diese Option ist für Qemu-Traditional nicht verfügbar.

2. Die zweite Methode, PVUSB, verwendet eine paravirtualisierte Front-End / Back-End-Schnittstelle, ähnlich den herkömmlichen Xen PV-Netzwerk- und Festplattenprotokollen.

Um PVUSB verwenden zu können, benötigen Sie in Ihrem Gastbetriebssystem "usbfront" und in "dom0" oder "usbbackend" in qemu (oder in Ihrer USB-Treiberdomäne).

Die Unterstützung für PVUSB in xl / libxl (sowohl für das PVUSB-Gerät aus der Konfigurationsdatei als auch für das Hot-Plug und das Plug-in für das PVUSB-Gerät) ist seit Xen 4.7 verfügbar. Jetzt funktioniert es mit USB 1.1 und USB 2.0.

Gehen Sie folgendermaßen vor, um Host-USB-Geräte mit PVUSB an den Gast zu übergeben:

  • Legen Sie zunächst in der Konfigurationsdatei USB-Controller und USB-Hostgeräte mit fest usbctrl und usbdev. Zum Beispiel:

    usbctrl=['type=qusb,version=2,ports=4', 'type=qusb,version=1, ports=4', ]
    usbdev=['hostbus=2, hostaddr=1, controller=0,port=1', ]

  • Für type können Sie dann auto angeben (Standardeinstellung: xl versucht, den am besten geeigneten Typ auszuwählen), qusb (paravirtualisiertes qemu-basiertes Backend, das für von HVM-Domänen verwendete pvUSB angegeben werden soll), pv (paravirtualisiertes Kernel-basiertes Backend, wird nicht unterstützt Standard-Linux-Standard) oder Gerätemodell (qemu emulierter USB-Controller, noch nicht unterstützt).

    Sie können auch nur usbdev angeben. Beispiel:

    usbdev=['hostbus=2, hostaddr=1, ]

  • Danach werden automatisch ein USB-Controller (Version 2.0) und 8 Ports erstellt und das USB-Gerät an den ersten Port dieses neuen Controllers angeschlossen.

  • Um das PVUSB-Gerät im laufenden Betrieb zu installieren und zu trennen, können Sie die Befehle usbctrl-attach, usbctrl-detach, usb-list, usbdev-attach und usbdev-detach verwenden.

    Zum Beispiel:

    #xl usbctrl-attach test_vm version=1 ports=8

Zugriff auf USB-Geräte über das Netzwerk


Eine weitere beliebte Methode, um von einer Xen-Gastdomäne auf ein USB-Gerät zuzugreifen, ist eine dedizierte Drittanbieterlösung, die über das Netzwerk arbeitet. 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. Sehen wir uns nun diesen einfachen und effizienten Weg an, Xen USB Passthrough-Unterstützung in Ihrer virtuellen Maschine zu erhalten.

Eltima Software / Eltima-Produkte / USB Network Gate / Xen USB Passthrough-Anleitung

USB Network Gate

Anforderungen für Windows (32-bit und 64-bit): XP/Vista/7/8/10, Windows Server 2003/2008/2012/2016/2019
Auch erhältlich für macOS, Linux OS und Android , 5.62MB Größe
Version 8.0.1859 (der 2. Nov, 2017) Versionshinweise
Categorie: CommunicationApplication