iLO (integrated Lights Out) ist das Remote Management System von HP um einen Server unabhängig von dem Betriebssystem über die Hardware zu managen. Dabei kann man den Server neustarten, eine Remote Konsole öffnen (KVM like) und auch diverse Informationen zu Hardware bekommen. Den genauen Funktionsumfang bekommt ihr auf der entsprechenden Seite des Herstellers … darum geht es an sich ja gar nicht. Was ich hier beschreibe sollte auch mit der Hardware anderer Hersteller funktionieren.

Ich hatte das Problem, dass ich die Adresse des iLO Interfaces eines Servers nicht wusste. Und nu?

IPMI ist Dein Freund!

Über IPMI (Intelligent Plattform Management Interface) kann man mit Hilfe von Standardtools auf Hardwareinformationen zugreifen. Unter Linux müssen dazu zwei Kernel Module geladen werden: ipmi_si und ipmi_devintf. Manche Hersteller stellen auch eigene ipmi Pakete für ihre Hardware zur Verfügung, die entsprechend installiert sein müssen.

Sind die Module geladen kann mit „ipmitool“ gearbeitet werden. Es können diverse Hardware Parameter abgefragt werden. Das sieht bspw. so aus:


UID Light | 0x0 | discrete | 0x0080| na | na | na | na | na | na
Sys. Health LED | 0x0 | discrete | 0x0080| na | na | na | na | na | na
Power Supply 1 | 85.000 | Watts | nc | na | na | na | na | na | na
Power Supply 2 | 65.000 | Watts | nc | na | na | na | na | na | na
Power Supplies | 0.000 | unspecified | nc | na | na | na | na | na | na
Fan 1 | 6.272 | unspecified | nc | na | na | na | na | na | na
Fan 2 | 6.272 | unspecified | nc | na | na | na | na | na | na
Fan 3 | 6.272 | unspecified | nc | na | na | na | na | na | na
Fan 4 | 34.496 | unspecified | nc | na | na | na | na | na | na
Fan 5 | 43.120 | unspecified | nc | na | na | na | na | na | na
Fan 6 | 43.120 | unspecified | nc | na | na | na | na | na | na
Fans | 0x0 | discrete | 0x0180| na | na | na | na | na | na
01-Inlet Ambient | 23.000 | degrees C | ok | na | na | na | na | 42.000 | 46.000
02-CPU 1 | 40.000 | degrees C | ok | na | na | na | na | 70.000 | 0.000
03-CPU 2 | 40.000 | degrees C | ok | na | na | na | na | 70.000 | 0.000
04-P1 DIMM 1-3 | 27.000 | degrees C | ok | na | na | na | na | 87.000 | 0.000
05-P1 DIMM 4-6 | 27.000 | degrees C | ok | na | na | na | na | 87.000 | 0.000
06-P1 DIMM 7-9 | 27.000 | degrees C | ok | na | na | na | na | 87.000 | 0.000
07-P1 DIMM 10-12 | 29.000 | degrees C | ok | na | na | na | na | 87.000 | 0.000
08-P2 DIMM 1-3 | 32.000 | degrees C | ok | na | na | na | na | 87.000 | 0.000 

....

Damit könnte man ein agentenloses Hardwaremonitoring aufbauen …

… oder auch die IP des Remote Management Boards herausfinden

Zuerst wird die konfigurierte LAN Schnittstelle gesucht:


amachine:/root # for i in `seq 1 14`; do ipmitool lan print $i 2>/dev/null | grep -q ^Set && echo Channel $i; done
Channel 2

Dem entsprechend ist die LAN Schnittstelle 2 mit einer IP belegt. Die weiteren Informationen bekommen wir wie folgt:


amachine:/opt # ipmitool lan print 2
Set in Progress : Set Complete
Auth Type Support :
Auth Type Enable : Callback :
: User :
: Operator :
: Admin :
: OEM :
IP Address Source : Static Address
IP Address : 10.10.100.90
Subnet Mask : 255.255.0.0
MAC Address : e8:cb:b8:c6:ee:2c
BMC ARP Control : ARP Responses Enabled, Gratuitous ARP Disabled
Default Gateway IP : 10.10.100.1
802.1q VLAN ID : Disabled
802.1q VLAN Priority : 0
Cipher Suite Priv Max : Not Available