HBA Driver und Firmware Version ermitteln

Vor Upgradevorgängen ist es ratsam, einen Blick in die VMware HCL zu werfen und Hostsystem und IO-Devices auf Kompatibilität zu prüfen. Hierbei ist das Zusammenspiel von Treiberversion, Firmware und VMware ESXi Version entscheidend. Auch kleinere Updates können mit dem Verlust der HCL Kompatibilität einhergehen. Ein System, das bei Installation noch HCL-konform war, muss es nach dem dritten Update nicht mehr zwingend sein. Durch Updates aktualisierte Treiber können möglicherweise eine höhere Firmware erfordern.

Nun kann man sich glücklich schätzen, wenn man eine Software im Einsatz hat, die einem die mühevolle Suche abnimmt. Runecast Analyzer leistet hier sehr gute Dienste und zeigt auf einen Blick bestehende Inkompatibilitäten. Darüber hinaus kann man ein Upgrade zu einer beliebigen vSphere-Version simulieren und den HCL-Status ermitteln.

Leider haben viele Kunden keine derartige Software im Einsatz und so muss man auf die Bordmittel der ESXi Shell zurückgreifen. Dafür muss SSH auf den Hosts aktiviert werden. Entweder über den vSphere-Client, oder sehr schnell und elegant über ein PowerCLI Kommando.

HBA Driver ermitteln

esxcfg-scsidevs -a

Dieses Kommando listet alle SCSI-Adapter und HBA auf, sowie deren eingesetzte Treiber.

Die Treiberversion ermittelt man mit dem Kommando vmkload_mod.

vmkload_mod -s <HBADriver> | grep Version

Also im Beispiel hier mit dem Emulex-HBA Treiber lpfc.

vmkload_mod -s lpfc | grep Version

HBA Firmware ermitteln

In ESXi Versionen vor 5.5 fand man die notwendige Info unter:

cat /proc/scsi/<drivername>/x

Native Driver sind seit 5.5 nicht mehr unter /proc gelistet. Wir benötigen hier das Kommando vmkmgmt_keyval, für das wir zweckmäßigerweise zunächst die Hilfefunktion aufrufen.

 /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -h

vmkmgmt_keyval options:
-a | –allKeys : Dump all the key values in the system, for all instances. May not be used with dumpInstances.
-d | –dumpInstances : Dump the instance names for all instances in the system. May not be used with allKeys.
-i | –instance : The key-value instance to inspect. Required for instance-specific operations.
-l | –list : List all the keys for a given instance
-k | –key : The key name to get or set. Required for getting or setting. Invalid otherwise.
-g | –get : Get the value for the specified instance and key.
-s | –set : Set the key for the specified instance and key with the provided value
-h | –help : Show the usage for this program.

Wir benötigen Informationen über alle Instanzen. Der Parameter –dumpInstances [-d] zeigt alle HBA devices.

/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -d

Wir haben es hier mit zwei Emulex HBA zu tun (vmhba1 und vmhba0).

Alle Keys einer Instanz werden mit dem Parameter –list [-l] und der Instanz –instance [-i] aufgelistet.

 /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i <instance_name>

Der Parameter [-i] ist zwingend erforderlich. Das Ergebnis ist eine lange Liste an Informationen. Wir sind jedoch nur an der Firmware-Version interessiert und pipen das Kommando an grep FW.

 /usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i vmhba0/Emulex | grep FW

Das Ergebnis ist die Zeile mit der FW Version. Hier 2.02A.

Links

VMware KB 1031534

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert