ESXi unterstützt eine großes Portfolio an Hardware und liefert hierfür Treiber mit, die bereits in der Standardinstallation verfügbar sind. Gelegentlich gibt es Hardware, deren Treiber im Standard Image jedoch nicht vorhanden ist. Diese vSphere Installation Bundles (VIB) kann man mit der vSphereCLI auf dem ESXi Server installieren. Ungünstig wird es, wenn ausgerechnet der LAN Adapter keinen Treiber hat. Dann muss man direkt ans Direct-Console-User-Interface (DCUI) und das VIB Paket über USB in den ESXi Server bringen.
USB Stick vorbereiten
ESXi kann von der DCUI nicht jeden beliebigen Stick lesen. Er muss z.B. unbedingt mit FAT16 formatiert sein. Das limitiert die Partitionsgröße auf maximal 4GB. Dies ist für den Transfer von VIB Paketen aber mehr als ausreichend.
FAT16 unter Windows7
USB Sticks lassen sich unter Windows7 nicht über die GUI mit FAT16 formatieren. DISKPART ist hier das Werkzeug der Wahl.
Kommadozeile als Administrator öffnen
diskpart
Mit dem Kommando list disk werden alle Datenträger im System angezeigt.
DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ---------- ------- ------- --- --- Disk 0 Online 40 GB 0 B Disk 1 Online 7538 MB 0 B
Der USB Stick (8GB) meldet dich hier als Disk 1 und wird für weitere Aktionen ausgwählt.
DISKPART> select disk 1 Disk 1 is now the selected disk.
Mit dem Befehl list part kann man die Partitionen auf dem selektierten Datenträger anzeigen.
DISKPART> list part Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Primary 500 MB 1024 KB
Die vorhandene Partition wird gelöscht. Dabei gehen alle Daten auf dem Stick verloren!
DISKPART> clean DiskPart succeeded in cleaning the disk.
Der Datenträger ist nun bereit zur Partitionierung. Wir erzeugen eine kleine primäre Partition von 500 MB, was für unsere Zwecke völlig ausreicht.
DISKPART> create part primary size=500 DiskPart succeeded in creating the specified partition.
Markierung der Partition als “active”.
DISKPART> active DiskPart marked the current partition as active.
Jetzt kann der USB Stick mit FAT16 formatiert werden. Mit der Option “quick” wird kein Verify durchgeführt.
DISKPART> format fs=fat quick 100 percent completed DiskPart successfully formatted the volume.
Damit wir auf den neu erzeugten USB Stick Daten kopieren können, muss dieser noch eingebunden werden.
DISKPART> assign DiskPart successfully assigned the drive letter or mount point.
Die entpackten Treiber Pakete haben meist eine Struktur wie unten dargestellt. Ein DOC Ordner, ein ZIP, ein VIB und ein Sourcen Verzeichnis. Manchmal auch nur ein VIB oder nur das Offline Bundle.
Login DCUI
Mit diesem Werkzeug an der Hand kann die weitere Konfiguration am ESX Server vorgenommen werden. Doch bevor der USB Stick verbunden werden kann, müssen noch ein paar Einstellungen am ESX Server vorgenommen werden.
- Login DCUI
- F2
- Trouleshooting Options
Die Shell ist im Standard deaktiviert.
Der Zugriff auf USB-Laufwerke wurde sehr schön von virtuallyGhetto im Artikel How to Access USB Storage in ESXi Shell beschrieben.
Damit man auf dem Konsoleninterface auf den USB Stick zugreifen kann, muss zunächst der usbarbitrator Daemon gestoppt werden. Dieser sorgt normalerweise dafür, daß USB Medien an VMs weitergereicht werden und in der DCUI maskiert sind. Genau das wollen wir aber nicht.
/etc/init.d/usbarbitrator stop
Jetzt den USB-Stick mit dem ESXi Server verbinden. Es gilt nun festzustellen, wie sich der Stick im System meldet.
esxcli storage core device list | grep -i usb
Der Stick meldete sich in meinem Fall als mpx.vmhba36:C0:T0:L0:1
esxcli storage filesystem list
Das USB Laufwerk ist eingebunden unter /vmfs/volumes/
Treiber Installation
Der Vorgang der manuellen Treiber Installation wird für unterschiedliche Szenarien in vmware KB2005205 beschrieben. In hier geschilderten Fall ist bereits ein ESXi Server installiert. Es fehlt nur das entsprechende Treiberpaket zur Unterstützung des LAN Adapters. Wir wechseln dazu in das USB Verzeichnis (Name kann abweichen). Die TAB Taste ist hier ein nützlicher Helfer ;-).
cd /vmfs/volumes/mpx.vmhba36\:C0\:T0\:L0\:1/ ls
Da der Name der VIBs und des Offline Bundles meist sehr lang ist, kürze ich ihn hier als <Offline Bundle> ab.
esxcli software vib install -d <offline-bundle>.zip
Nach erfolgreicher Installation wird angezeigt, welche Pakete installiert, entfernt oder übersprungen wurden. Der Server fordert danach einen Reboot.
Mit <Alt> <F2> zurück in das DCUI und von dort den Neustart auslösen.
Links
- virtuallyGhetto – How to Access USB Storage in ESXi Shell
- vmware KB2005205 – Installing async drivers on ESXi
Könnte es sein, dass die eingesetzte Hardware nicht in der HCL war/ist und deswegen der Treiber nachinstalliert werden muss? Eventuell wäre der Griff zur einem OEM VMware ISO der richtige Schritt gewesen.
So ist es. Das System war alt. Ursprünglich in der HCL, jedoch über die Jahre herausgefallen. Das System wurde mit einem OEM Image ausgestattet – schon wegen der CIM Treiber. Aber sowohl native VMware Images, als auch angepasste OEM Images vom Hersteller konnten den LAN Adapter nicht zur Funktion bringen. Inzwischen hörte ich aber von einem bekannten Problem mit Broadcom Adaptern und dem zugehörigen tg3 Paket.
http://kb.vmware.com/kb/2035701
Ich werde das überprüfen, sobald ich wieder Zugang zu genanntem Gerät habe und berichten.