barcode

Das Intelligent Platform Management Interface (IPMI) ist eine Sammlung von standardisierten Schnittstellen in Computer-Hardware und Firmware, die benutzt wird, um den Computer zu warten und zu verwalten. Außerdem wird es eingesetzt, um automatische Berichte über auftretende Fehler zu erzeugen.

Installation

Hinweis:

Dieses Howto wurde für openSUSE 11.2 erstellt. Es müsste mit kleinen Abweichungen aber auch für andere Distributionen gültig sein

per YaST folgende Pakete installieren:

Ist alles installiert, muss man den Dienst starten

/etc/init.d/ipmi start

und in den Runlevels eintragen, damit der Dienst bei jedem Start gestartet wird.

Testen

Zu Testzwecken kann man jetzt schon mal einigen Kommandos testen

Einfach in der Konsole folgende Befehle eintragen

AufrufFunktion
ipmitool chassis statusZeige Power- und Chassis-Status
ipmitool sensorZeige Informationen der Umgebungs-Sensoren (Lüfter, Temperaturen)
ipmitool mc listZeige Informationen über BMC (Firmware, Hersteller, …)

eine Übersicht über weitere Kommandos bekommt man, wenn man nur

ipmitool

eingibt.

Auslesen über LAN

Vorteil von ipmi ist, dass man die Komponenten nicht nur lokal auslesen kann. Dies funktioniert auch per serieller Schnittstelle und auch per LAN.

Dabei gilt grundsätzlich:

Da die Rechner aber nicht immer an sind (z.B. Weil Lüfter ausgefallen sind), kann man diese Schnittstellen auch abfragen, wenn der Rechner aus(!) ist.

Konfiguration

Zur Konfiguration reicht es nicht, der Schnittstelle eine IP-Adresse zu geben. Es müssen auch Standardgateway, Userprivilegien und User konfiguriert werden

Schnittstellenkonfiguration

Um die ipmitools über die LAN-Schnittstelle nutzen zu können, muss man den Kanal konfigurieren, der für das Netzwerkinterface zuständig ist

Am Besten man lässt sich per

ipmitool channel info 1

anzeigen, ob dies der richtige Kanal ist. Wenn nicht, muss man mit dem zweiten Chanel fortsetzen usw..

In meinem Fall ist das LAN-Interface auf Chanel 2

[root@ipmisrv ~]# ipmitool lan set 2 ipsrc static
[root@ipmisrv ~]# ipmitool lan set 2 ipaddr <IP-Adresse>
Setting LAN IP Address to <IP-Adresse>
[root@ipmisrv ~]# ipmitool lan set 2 netmask <Netzwerkmaske>
Setting LAN Subnet Mask to <Netzwerkmaske>
[root@ipmisrv ~]# ipmitool lan set 2 defgw ipaddr <IP-Adresse>
Setting LAN Default Gateway IP to <IP-Adresse>
[root@ipmisrv ~]# ipmitool lan set 2 defgw macaddr <MAC-Adresse>
Setting LAN Default Gateway MAC to <MAC-Adresse>
[root@ipmisrv ~]# ipmitool lan set 2 arp respond on
Enabling BMC-generated ARP responses
[root@ipmisrv ~]# ipmitool lan set 2 auth ADMIN MD5

Erklärung:

BefehlErklärung
ipmitool lan set 2 ipsrc staticSetzen der Netzwerkkarte auf Statische Vergabe der IP-Adresse
ipmitool lan set 2 ipaddr <IP-Adresse>Setzen der IP-Adresse
ipmitool lan set 2 netmask <Netzwerkmaske>Setzen der Netzwerkmaske
ipmitool lan set 2 defgw ipaddr <IP-Adresse>Setzen des Default-Gateways (Standardgateway)
ipmitool lan set 2 defgw macaddr <MAC-Adresse>
ipmitool lan set 2 arp respond onDie Schnittstelle darf auf MAC-Adressen-Anfragen antworten
ipmitool lan set 2 auth ADMIN MD5Nur ADMIN darf auf die Schnittstelle von außen zugreifen. die Passwortverschlüsselung erfolgt über MD5

Zum überprüfen der Einstellungen kann man sich eine Liste anzeigen lassen mit

ipmitool lan print 2

Die Ausgabe sieht dann ungefähr aus wie diese:

Auth Type Support       : NONE MD5 PASSWORD
Auth Type Enable        : Callback : NONE MD5 PASSWORD
                        : User     : NONE MD5 PASSWORD
                        : Operator : NONE MD5 PASSWORD
                        : Admin    : MD5
                        : OEM      : NONE MD5 PASSWORD
IP Address Source       : Static Address
IP Address              : 189.193.30.114
Subnet Mask             : 255.255.255.240
MAC Address             : 00:0a:e4:7e:08:2e
SNMP Community String   : public
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled

Userkonfiguration

Damit wir jetzt auf die Schnittstelle zugreifen dürfen, müssen wir noch einen User konfigurieren, der die entsprechenden Rechte hat.

[root@ipmisrv ~]# ipmitool user set name 2 admin
[root@ipmisrv ~]# ipmitool user set password 2
Password for user 2: 
Password for user 2: 
[root@ipmisrv ~]# ipmitool channel setaccess 1 2 link=on ipmi=on callin=on privilege=4
[root@ipmisrv ~]# ipmitool user enable 2

Erklärung:

BefehlErklärung
ipmitool user set name 2 adminUser Admin erstellen mit der ID-Nummer 2
ipmitool user set password 2Setzen des Passwortes für Admin
ipmitool channel setaccess 2 2 link=on ipmi=on callin=on privilege=4Was darf der User? Auf Kanal2 darf der User mit der ID 2 auf ipmi zugreifen… (Privilegien sind in der folgendenen Tabelle aufgeführt)
ipmitool user enable 2Aktivieren des users

Mögliche Privilegien-levels sind:

NummerWas
1 Callback level
2 User level
3 Operator level
4 Administrator level
5 OEM Proprietary level
15 No access

Aufruf

Zum Aufruf muss man nur an einem anderen Rechner ipmitool wie folgt aufrufen. Dabei ist es egal, welches Betriebssystem verwendet wird.

ipmitool -I lan -H <IP-Adresse> -U <Username> <Kommando>

Am folgenden Beispiel wird gezeigt, wie ein Server, der heruntergefahren ist, über ipmi angeschaltet wird.

[user@ipmiadmin ~]$ ipmitool -I lan -H <IP-Adresse> -U <User> power status
Password: 
Chassis Power is off
[user@ipmiadmin ~]$ ipmitool -I lan -H <IP-Adresse> -U <User> -P relation power on
Chassis Power Control: Up/On

Sollte man es leid sein, immer das Passwort eingeben zu müssen, kann man es mit der Option -P <password> setzen

Operationen

KommandoBeschreibung
rawSend a RAW IPMI request and print response
i2cSend an I2C Master Write-Read command and print response
spdPrint SPD info from remote I2C device
lanConfigure LAN Channels
chassisGet chassis status and set power state
powerShortcut to chassis power commands
eventSend pre-defined events to MC
mcManagement Controller status and global enables
sdrPrint Sensor Data Repository entries and readings
sensorPrint detailed sensor information
fruPrint built-in FRU and scan SDR for FRU locators
selPrint System Event Log (SEL)
pefConfigure Platform Event Filtering (PEF)
solConfigure and connect IPMIv2.0 Serial-over-LAN
tsolConfigure and connect with Tyan IPMIv1.5 Serial-over-LAN
isolConfigure IPMIv1.5 Serial-over-LAN
userConfigure Management Controller users
channelConfigure Management Controller channels
sessionPrint session information
sunoemOEM Commands for Sun servers
kontronoemOEM Commands for Kontron devices
picmgRun a PICMG/ATCA extended cmd
fwumUpdate IPMC using Kontron OEM Firmware Update Manager
firewallConfigure Firmware Firewall
shellLaunch interactive IPMI shell
execRun list of commands from file
setSet runtime variable for shell and exec
hpmUpdate HPM components using PICMG HPM.1 file
ekanalyzerrun FRU-Ekeying analyzer using FRU files