Heterogene Serverlandschaften einheitlich managen und überwachen Server-Fernwartung mit dem Intelligent Platform Management Interface

Autor / Redakteur: Werner Fischer / Dipl.-Ing. (FH) Andreas Donner |

Für fast alle Server gibt es Fernwartungsoptionen. Per Web-Interface können sie eingeschaltet, das System Event Log ausgelesen oder die Sensor-Zustände abgefragt werden. Solche Funktionen lassen sich mit unterschiedlichen Linux- und Windowstools auch auf der Kommandozeile nutzen – dank IPMI sogar herstellerunabhängig.

Anbieter zum Thema

Das Intelligent Platform Management Interface (IPMI) erlaubt ungeachtet des Herstellers eine Server-Fernwartung
Das Intelligent Platform Management Interface (IPMI) erlaubt ungeachtet des Herstellers eine Server-Fernwartung
(Bild: © lightpoet - Fotolia.com)

Die Intelligent Platform Management Interface Specification (IPMI) wurde 1998 von Intel, HP, NEC und Dell veröffentlicht. Die aktuelle IPMI-Version trägt die Nummer 2.0 und stammt mit einigen späteren Ergänzungen aus dem Jahr 2004 [1]. Die IPMI Spezifikation definiert einheitliche Schnittstellen zum so genannten Platform Management eines Servers. IPMI bietet dabei die folgenden Funktionen:

  • Monitoring (Überwachung) von Hardwaresensoren wie Temperatur, Spannung, Lüfter, Netzteile, Chassis Intrusion, Speicherfehlern usw.
  • Recovery Control (Wiederherstellungsfunktionen) für automatisches oder manuelles Ein- oder Ausschalten bzw. Resets.
  • Logging (Protokollierung) von Hardwarewarnungen und Hardwarefehlern im System Event Log (SEL).
  • Alerting (Alarmierung) bei Fehlerzuständen, z.B. per SNMP.
  • Inventory (Inventarisierung) zur Identifizierung von ausgefallenen Hardwarekomponenten.

Abbildung 1 zeigt den schematischen Aufbau der IPMI-Komponenten. Kernstück ist der Baseboard Management Controller (BMC). Sobald ein IPMI-fähiger Server an die Stromversorgung angeschlossen wird, startet der BMC. Bestimmte IPMI-Funktionen (wie das Einschalten des Servers) können damit genutzt werden – unabhängig davon ob der Server gerade läuft oder nicht.

Der BMC ist mit allen Hardwaresensoren verbunden, ebenso mit Steuerungsschnittstellen zum Ein- und Ausschalten des Servers. Zum Ablegen von persistenten Daten steht dem BMC ein nicht flüchtiger Speicher zur Verfügung (non volatile storage). Darin speichert der BMC das Sensor Data Record Repository (SDR) und das System Event Log (SEL) sowie Field Replaceable Unit Daten (FRU).

Von außen erfolgt die Kommunikation mit dem BMC über drei mögliche Wege:

  • 1. remote über das Netzwerk (LAN Interface)
  • 2. remote per Modem oder serieller Schnittstelle (Serial/Modem Interface)
  • 3. über Betriebssystem des Servers (System Interface)

Bei remote Zugriffen erfolgt eine Authentifizierung mit Benutzername und Passwort. Die in der IPMI Spezification vorgesehene NONE Authentication sollte auf jeden Fall deaktiviert werden, um Zugriffe ohne Authentisierung zu unterbinden [2]. Welche Rechte ein bestimmter Benutzer hat, wird über Channel Privilege Levels gesteuert und ordnet den Usergruppen „User“, „Operator“ und „Administrator“ folgende erlaubte Befehle zu:

  • User: Abfrage von Sensoren
  • Operator: Alle IPMI-Kommandos (bis auf die Konfiguration der LAN und Serial/Modem Interfaces
  • Administrator: Alle IPMI Kommandos

Die Konfiguration der IP Adresse des IPMI LAN Interface ist bei den meisten Servern im BIOS oder alternativ über Tools des Herstellers bzw. über allgemeine IPMI-Softwaretools wie FreeIPMI möglich.

Hardwareüberwachung mit Sensoren

Für die Hardwareüberwachung stellt IPMI Sensoren bereit. Dabei werden drei Klassen von Sensoren unterschieden: Discrete Sensors, Threshold Sensors und OEM Sensors.

Diskrete Sensoren (Discrete Sensors) können bis zu 15 verschiedene binäre Status hinterlegt haben, z.B. ''Power Supply – Presence detected'' oder ''Power Supply – AC lost'' bei einem Netzteilsensor.

Schwellwertsensoren (Threshold Sensors) messen analoge Werte wie die Temperatur oder eine Lüfterdrehzahl und vergleichen den gemessenen Wert mit bis zu sechs vom Hersteller im SDR hinterlegten Schwellwerten (LNR – Lower Non Recoverable, LCR – Lower Critical, LNC – Lower Non Critical, UNC – Upper Non Critical, UCR – Upper Critical, UNR – Upper Non Recoverable).

OEM-Sensoren haben wie diskrete Sensoren binäre Status hinterlegt, die Bedeutung kann aber individuell vom Hersteller definiert werden und ist nicht wie bei den diskreten Sensoren in der IPMI Spezifikation vorgegeben. Damit ein IPMI Softwaretool die Statuszustände von solchen OEM Sensoren interpretieren kann, muss die Bedeutung des jeweiligen Sensors im Tool hinterlegt sein.

Neben der Unterscheidung von Sensoren in diese drei Sensorklassen sind Sensoren auch einem Sensortyp (Sensor Type) zugeordnet. Beispiele für Sensor Types sind Temperature, Voltage, Fan (für Lüfter), usw. Die vollständige Liste findet sich in der IPMI Spezifikation im Kapitel ''42.2 Sensor Type Codes and Data''.

Software-Tools

Ob der Zustand eines Sensors OK ist kann mit unterschiedlichen IPMI-Softwaretools einfach überprüft werden. Der IPMI BMC gibt bei der Abfrage eines Threshold-Sensors bekannt, ob der aktuelle Messwert im grünen Bereich, unterhalb der Untergrenzen (LNC, LCR, LNR) oder oberhalb der Obergrenzen (UNC, UCR, UNR) liegt. Bei Discrete oder OEM Sensors hilft eine im Softwaretool hinterlegte Matrix bei der Feststellung, ob die aktuellen Zustände in Ordnung sind.

Der Zustand ''Power Supply – Presence detected'' ist z.B. als OK zu werten, während ''Power Supply – AC lost'' eine Warnung oder Fehlermeldung erzeugen soll. Bei FreeIPMI [3], das den meisten Linux Distributionen beiliegt [4], sind diese Informationen in der Datei /etc/freeipmi/freeipmi_interpret_sensor.conf hinterlegt und können bei Bedarf angepasst werden.

Neben FreeIPMI gibt es noch weitere IPMI Softwaretools, darunter ipmitool, OpenIPMIsh des OpenIPMI Linux Device Driver Projekts sowie IPMIutil, das neben Linux auch Windows unterstützt.

Der größte Vorteil von IPMI ist die Unterstützung durch alle großen Serverhersteller. Es eignet sich daher hervorragend zur Überwachung von Serverlandschaften, selbst wenn die Server von unterschiedlichen Herstellern kommen. Mit dem IPMI Sensor Monitoring Plugin lässt sich eine solche Überwachung mit Nagios oder Icinga einfach implementieren. Wie das funktioniert zeigt der nächste Artikel dieser Serie.

Über den Autor

Werner Fischer ist seit 2005 Technology Specialist bei der Thomas-Krenn.AG und Co-Autor des check_ipmi_sensor Plugins. Seine aktuellen Arbeitsschwerpunkte liegen in den Bereichen Hardware-Monitoring und I/O-Performance-Optimierung – speziell mit Flash-basierenden Storage-Technologien. Daneben beschäftigt er sich hauptsächlich mit Virtualisierung und Hochverfügbarkeit. Regelmäßig referiert er zu diesen Themen bei Konferenzen wie LinuxCon, LinuxTag, OSDC/OSMC, usw. und veröffentlicht dazu Artikel in Fachzeitschriften. Bei Thomas Krenn ist er zudem Chefredakteur des Thomas Krenn Wikis.

Artikelfiles und Artikellinks

(ID:33619050)