ESX – HBA und NIC Firmware Status ermitteln

Zur Gewährleistung von Kompatibilität und bei Supportanfragen ist es gelegentlich notwendig, den aktuellen Firmware Status von Netzwerkadapter oder HBA zu ermitteln. Natürlich kann man theoretisch den Server neu booten und dabei in die BIOS Einstellungen des Adapters gehen, aber dies ist gerade bei ESX Servern mit viel Aufwand verbunden. VM müssen auf andere Hosts im Cluster migriert werden, ein Konsolenzugang oder eine Remotekonsole wird benötigt. Dies alles kostet viel Zeit.

Viel schneller geht es mit ein paar Kommandos auf der ESXi Shell, ohne den Host zu beeinträchtigen. Dazu benötigt man nur einen Zugang per SSH.

Firmware und Treiber des HBA ermitteln

Zunächst kann man die installierten SCSI Komponenten ermitteln.

~ # esxcfg-scsidevs -a

HBAquery01Im obigen Beispiel handelt es sich um einen Emulex LPe12000 8GB FC HBA. Der verwendete Treiber für den Emulex HBA ist „lpfc“ (hier: vmhaba3 und vmhba4).

Die Treiberversion ermittelt man mit dem Kommando vmkload_mod.

# vmkload_mod -s <HBADriver> | grep Version

Also im Beispiel hier mit lpfc

# vmkload_mod -s lpfc | grep Version

HBAquery02

Vendor ID des HBA ermitteln

Für Recherche in der VMware Hardware Compatibility List (HCL) benötigt man Vendor-ID (VID), Device-ID (DID), Sub-Vendor-ID (SVID) und Sub-Device-ID (SDID).

Die FC HBA haben hier die Nummern vmhba3 und vmhba4.

vmkchdev -l | grep vmhba3

HBAquery03

  • VID = 10df
  • DID = f100
  • SVID = 10df
  • SDID = f100

Mit diesen Informationen kann man den VMware Compatibility Guide durchsuchen.

HBAquery05

ESX Host Version prüfen

Die Abfrage der installierten ESXi Version erfolgt mit dem Befehl:

vmware -v

HBAquery04

Firmware und Treiber des NIC ermitteln

Liste aller installierten Netzwerkadapter ausgeben (für ESXi Versionen ab 5.0)

# esxcli network nic list

HBAquery06

# ethtool -i <vmnic-name>

Im Beispiel wird gezielt die Information zu vmnic9 untersucht.

~ # ethtool -i vmnic9
driver: igb
version: 5.2.5
firmware-version: 1.52, 0x80000778
bus-info: 0000:0d:00.1

Für ESXi Versionen ab 5.0 wird noch ein anderes Kommando empfohlen:

# esxcli network nic get -n <vmnic-name>
~ # esxcli network nic get -n vmnic9
   Advertised Auto Negotiation: true
   Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full
   Auto Negotiation: true
   Cable Type: Twisted Pair
   Current Message Level: 7
   Driver Info:
         Bus Info: 0000:0d:00.1
         Driver: igb
         Firmware Version: 1.52, 0x80000778
         Version: 5.2.5
   Link Detected: true
   Link Status: Up
   Name: vmnic9
   PHYAddress: 1
   Pause Autonegotiate: true
   Pause RX: false
   Pause TX: false
   Supported Ports: TP
   Supports Auto Negotiation: true
   Supports Pause: true
   Supports Wakeon: true
   Transceiver: internal
   Wakeon: MagicPacket(tm)

Vendor ID des NIC ermitteln

Auch hier kann man die Vendor-ID ermitteln. Das Verfahren ist analog zum oben beschriebenen.

vmkchdev -l | grep vmnic9

Hier wird nur die Information zu vmnic9 gesucht.

~ # vmkchdev -l | grep vmnic9
0000:0d:00.1 8086:1521 1734:11ce vmkernel vmnic9
  • VID = 8086
  • DID = 1521
  • SVID = 1734
  • SDID = 11ce

Links

VMware KB 1027206 – Determining Network/Storage firmware and driver version in ESXi/ESX 4.x, ESXi 5.x, and ESXi 6.x

Schreibe einen Kommentar

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