Virtuelle Maschine mit Unterstützung für Hardwarezugriff: USB 3 (und PCI)

Virtuelle Maschine mit Unterstützung für Hardwarezugriff: USB 3 (und PCI)

Ich bin gerade dabei eine VM-Software auszuwählen.

Ich muss auf ein benutzerdefiniertes USB3-Gerät in einer VM zugreifen (Windows 8 64-Bit-Gast, Host ist Windows 7 64-Bit). Soweit ich gelesen habe, wäre VMware die beste Wahl für USB3-Unterstützung. Stimmt das? Ich habe auch gelesen, dass die USB-Unterstützung nicht 100 % zuverlässig ist – stimmt das auch und was muss ich erwarten?

Optional möchte ich auch eine PCI-Karte verwenden (eigentlich zum Aufnehmen von Videos von einer Kamera). Soweit ich gelesen habe, ist es ziemlich schwierig, einer VM Zugriff auf PCI-Hardware zu gewähren. Es gibt (??) rudimentäre Unterstützung in ESXi und XEN (beide keine Desktop-Virtualisierung??), die meisten VM-Programme unterstützen dies überhaupt nicht.

Habt ihr Erfahrungen zu diesen Themen? Mein Hauptaugenmerk liegt auf USB2 und vor allem USB3, der PCI-Zugriff wäre einfach nett zu haben.

Kontext:

Ich werde diese VMs für die Entwicklung einer Anwendung rund um eine proprietäre USB3-Hardware verwenden.

(Der Vorteil dürfte sein, dass man das System schnell in völlig unterschiedliche Zustände bringen kann, Installationen auf frischen Windows-Installationen testen kann, außerdem wird es viele Entwickler geben, aber nur wenig Hardware (Prototypen), sodass es schön wäre, wenn jeder seine eigene Umgebung hätte (zumindest der Reihe nach) usw.)

Antwort1

Wenn Sie an der Weiterleitung von Geräten mit maximaler Vorhersagbarkeit interessiert sind (d. h. Sie möchten sicher sein, dass die von Ihnen entwickelte Software über eine weitergeleitete USB3-Verbindung funktioniertgenau soes wäre besser als ein echtes, anstatt sich auf Desktop-Hypervisor-Passthrough-Technologien und Host-OS-Treiberprobleme zu verlassen), ist die Verwendung einer Desktop-Virtualisierungslösung möglicherweise nicht der beste Weg. ESXi, Xen und XenServer bieten alle eine viel niedrigere und vorhersehbarere Hardware-Passthrough-Funktion als jede Desktop-basierte Lösung. Das ist sinnvoll, da es bei den Desktop-Lösungen eher darum geht, die Endbenutzerkonfiguration zu minimieren und nur einige Funktionen eines Geräts zum Laufen zu bringen.

Wenn sie auf kompatibler Hardware ausgeführt werden, unterstützen die Thin-Hypervisor-Lösungen die Möglichkeit, „Device Passthrough“ zu verwenden, mit dem ein Gerät an eine VM weitergeleitet werden kann überIOMMU/VT-D-Verarbeitung, auch bekannt alsPCI-Passthrough. Dieses Gerät ist dann dieser VM gewidmet (bis Sie es trennen).

Das heißt, es funktioniertgenauals ob es direkt angeschlossen wäre. Es gibt keine „Was wäre wenn“-Zwischenschicht, die kompatible Treiber für den Host erfordert, und eine funktionale Ressourcenfreigabestrategie pro Gerätetyp für den Hypervisor: Das Gerät wird einfach roh an den Gast durchgereicht. Alle drei großen Thin-Hypervisoren unterstützen auch die direkte Durchleitung beliebiger USB-Geräte auf ähnliche Weise (wofür allerdings keine IOMMU/VT-D-fähige Hardware erforderlich ist). Durchgereichte USB-Geräte können im Gegensatz zu durchgereichten PCI-Geräten auch im laufenden Betrieb ein- und ausgesteckt werden.

Die Verwendung eines Thin Hypervisors bietet Ihnen außerdem den Vorteil, dass Sie nur wenige Instanzen des Geräts, auf dem Sie testen, mit einem einzigen Server verbinden und dann jedem Ihrer Entwickler eine VM auf diesem Server zuweisen können. Wenn ein Entwickler mit der Hardware testen möchte, kann er eine Geräteverbindung anfordern, ein Administrator kann das USB-Gerät über Geräte-Passthrough mit der VM dieses Entwicklers verbinden und dieser kann dann über Remotedesktop oder Ähnliches auf seine VM zugreifen.

Es gibt jedoch einige Einschränkungen:

Erstens: Außerhalb eines sehr engen Bereichs kompatibler Hardware funktioniert die Durchleitung von Grafikkarten nicht gut (und sie funktioniert meist nur zuverlässig auf XenServer--hier ist wie, Undhier ist die HCL). Soweit ich weiß, gilt dies nicht für Videoaufnahmekarten wie die, die Sie besprochen haben. Zweitens blockieren direkt angeschlossene PCI-Geräte häufig die Verwendung anderer fortschrittlicher Hypervisor-Technologien (wie Snapshotting, Migration oder andere HA-Funktionen). Drittens: Mit Ausnahme von Grafikkartenproblemen verfügt ESXi über die robusteste und vom Benutzer konfigurierbarste Methode zur Verwaltung des Geräte-Passthrough.Mit Xen geht das(Undmanuell mit XenServer), aber nicht so leicht wie Siekann mit ESXi. Viertens: Bestimmte Versionen von ESXi legen Beschränkungen fest, welche Geräte durchgelassen werden können. ESXi 5.0 lässt mehr oder weniger alles durch, was Sie ihm geben (selbst wenn dies die Systemstabilität gefährdet). 5.1 ist viel wählerischer und deaktiviert die Durchleitung für Geräte häufig, ohne Ihnen einen guten Grund dafür zu nennen.

Antwort2

VMware Workstation 9 unterstützt Windows 8 und USB 3.0. Ich habe meine Microsoft StudioCam mit USB erfolgreich mit VMs verwendet, indem ich einfach die Option zum Verbinden mit dem Gast (Trennen vom Host) umgeschaltet habe. Möglicherweise treten Probleme mit der PCI-Karte auf, daher würde ich vorschlagen, eine alternative USB-Lösung zum Aufzeichnen des Feeds zu finden.

Antwort3

Ich habe einen Dell-Laptop, der nur mit USB 3.0-Anschlüssen verkauft wurde. Ich habe große Schwierigkeiten, USB 3 auf diesem Computer zum Laufen zu bringen/aufrechtzuerhalten, während ich VMware Workstation 9.01.894247 verwende.

Wenn Ihr Computer Intel XCHI-Treiber für USB verwendet, sind Sie ebenfalls davon betroffen.

andere mit dem Problem hier

Im obigen Thread gibt es viele Arten von Fixes. Der, der bei mir funktioniert, ist, „Intel_Chipset_7-Series_USB3_FJ3FJ_A03_SETUP_ZPE.exe“ von der Intel-Site herunterzuladen, auszuführen und zu installieren. Bei jedem Neustart von Windows 7 muss ich es neu installieren. Manchmal muss ich es neu installieren, wenn ich die virtuelle Maschine neu starte. Das ist wirklich nervig und ich hoffe, dass VMware bald ein neues Update herausbringt.

verwandte Informationen