ESXi USB Passthrough – oder wie verwende ich USB-Geräte in einer Virtuellen Maschine
Abgelegt unter Allgemein, EDV, IT, Nightshift am 07.09.2011Gleich vorweg:
erfolgreich und stabil läuft das erst mit ESXi 4.1, ich habe aber schon den ESXi 5.0 am Laufen (daher nicht über die HW-Version 8 wundern…), der hat auch die nette Möglichkeit, USB-Geräte vom vSphere-Client mit in die VM zu schleifen 😛
Für den zu konfigurierenden Passthrough (also das Durchreichen oder Durchschleifen) müßt Ihr auch bedenken, daß Ihr den ESXi-Host mindestens 1x rebooten müßt, und die Gäste, welche USB erhalten, ebenfalls einmal zusätzlich heruntergefahren werden sollten/müssen (also insgesamt 2x)!
Ebenso sollte der Host nach Möglichkeit die Tastatur über PS2 angeschlossen bekommen, warum, erkläre ich später.
Generelle Voraussetzung ist, daß der ESXi hardwareseitig einen/mehrere USB-Controller verbaut hat, die auch unterstützt werden.
In meinem Falle war es ein Dell PowerEdge T310, der hat Intel-Chipsatz auf dem Board 🙂
(4 Anschlüsse hinten, 2 vorne)
So, also, Schritt 1:
nachgucken, ob der ESXi mit der verbauten Hardware was anfangen kann
Vorbereitung wie bei jedem dieser Eingriffe:
ESXi-Konfiguration sichern, Host nach Herunterfahren aller Maschinen in den Wartungsmodus versetzen.
Dann geht es weiter:
1. Host selektieren
2. Konfiguration wählen
3. Erweiterte Einstellungen
4. Bearbeiten
5. USB-Hardware auswählen
So, jetzt wird Euch der ESXi mitteilen, daß er gerne neu starten würde, um die Hardware exklusiv verwenden zu können.
Und genau hier liegt der Hund begraben:
wenn man jetzt neu gestartet hat, gehen die angeschlossenen USB-Geräte, welche sich an der für Passthrough zu verwendenden Schnittstellen befinden, einfach nicht mehr für die Steuerung.
Bedeutet: USB-Keyboard kann nicht für die ESXi-Konsole verwendet werden!
Gut, nach einem Neustart wird man hoffentlich nicht mit einem Freeze begrüßt 🙂
Jetzt heißt es, der virtuellen Maschine, welcher man das/die USB-Gerät/e durchschicken will, erst einmal mitteilen, daß USB benötigt wird:
Einfach einen USB-Controller hinzufügen, hier empfiehlt es sich, dies bei heruntergefahrenem Gast zu erledigen; sollte auch im laufenden Betrieb funktionieren, jedoch hatte ich in Tests bei Ubuntu und CentOS ein klein wenig zu kämpfen…
So, dann den Gast erst einmal wieder hochfahren, Hardwareerkennung zuschlagen lassen, sollte nichts Besonderes sein.
Gast wieder runterfahren.
Jetzt nochmal Hardware hinzufügen, diesmal aber PCI:
Wie man auf dem Screener sehen kann, PCI kann nicht einfach so hinzugefügt werden 🙂
So, und jetzt, beim Auswahl-Dialog, welches Teil man den bitteschön verwenden möchte, einfach den passenden USB-Controller selektieren 🙂
So, man bekommt dann auch gleich nochmal den Hinweis, daß mit zugewiesenem Passthrough kein vMotion und kein Snapshot möglich ist.
Jupp, das ist dann halt mal ein Nachteil, und man man hat dann hoffentlich eine Backup-Lösung, die in der VM funktioniert 😉
Nun, nach einem Hochfahren des Gastes sollte der USB-Anschluss tadellos funktionieren.
ABER:
jedes Gerät, welches man jetzt an diesen USB-Anschluss steckt, wird gnadenlos an die entsprechende VM durchgereicht.
Wenn der Gast jetzt noch Autostart hat, steht einem fröhlichen r00ten virtueller Maschinen mittels USB-Stick nichts mehr im Wege!
Egal ob Token, USB-Platte oder sonstige USB-Peripherie, das Durchschleifen auf den Gast funktioniert zuverlässig; sogar der DATEV-Dongle macht keinerlei Probleme 😉