c't 3/2019
S. 132
Hintergrund
Server-Fernwartung

Grundlagen zur Server-Fernwartung

So funktioniert ein Baseboard Management Controller (BMC)

Viele Server stehen weit entfernt von ihrem Administrator, etwa im Rechenzentrum, in der Abstellkammer oder in einer Firmenfiliale. Per Fernwartungschip verwaltet man den Server, als säße man selbst davor.

Server unterscheiden sich von Desktop-PCs nicht nur durch stärkere Prozessoren, lautere Lüfter und größeren Arbeitsspeicher mit ECC-Fehlerschutz. Typisch für Server ist auch Fernwartung. Die großen Hersteller sprechen von Integrated Lights-out Management (HPE iLO), Integrated Dell Remote Access Controller (Dell iDRAC) oder Integrated Remote Management (Fujitsu iRMC). Derlei Fernwartungschips nennt man auch Baseboard Management Controller (BMC), sie sitzen auf vielen Serverboards.

Anders als der Fernzugriff per Remotedesktopverbindung, VNC oder TeamViewer funktioniert der BMC unabhängig vom Betriebssystem und selbst dann, wenn der Server abgeschaltet oder abgestürzt ist. Das nennt man Out-of-Band-(OoB-) oder Lights-out-Management. Die Funktion Remote Keyboard, Video, Mouse (Remote KVM) ermöglicht vom Admin-PC aus sogar den Zugriff aufs BIOS-Setup. Der Fernzugriff per BMC reißt ein gewaltiges Sicherheitsloch auf, wenn er nicht sorgfältig abgeschottet ist. Üblich ist eine separate Netzwerkbuchse, um den BMC an ein getrenntes Wartungsnetz anzuschließen. Manche BMCs nutzen standardmäßig einen der normalen Netzwerkchips mit (NIC Sharing) und sind dann dort mit dem Nutzernamen admin und dem Standardpasswort admin erreichbar – etwa bei Supermicro-Mainboards, von denen Tausende im Internet angreifbar sind. Das muss man unbedingt im BIOS-Setup ändern! HPE hingegen vergibt bei iLO für jede Maschine eigene Zugangsdaten.

Am Chipsatz angeflanscht

Der BMC läuft unabhängig vom eigentlichen Server, ist aber eng damit verflochten. Bei vielen Serverboards ersetzt ein im BMC eingebauter Grafikprozessor (GPU) die Grafikkarte und bedient die lokale VGA-Buchse. Dazu hat der BMC eigenen Grafikspeicher (DRAM) und ist mit dem Chipsatz via PCI Express (PCIe) verbunden, genau wie eine Grafikkarte. Deren Anzeige digitalisiert der BMC, um sie für Remote KVM ins Netz zu senden. Umgekehrt leitet er die vom Admin-PC empfangenen Tastatur- und Mausbefehle an den Server weiter. Dafür ist er per USB mit dem Chipsatz verbunden und emuliert lokale Eingabegeräte.

Über das Low-Pincount-Interface (LPC) ersetzt der BMC auch den sonst üblichen Super-IO-Chip, der PS/2- und COM-Ports bereitstellt, Lüfterdrehzahlen überwacht und regelt (Hardware Monitoring). An COM-Ports gesendete (TTY-)Konsolenausgabe leitet der BMC zum Admin-PC um (Serial-over-LAN, SoL). Ebenfalls gängig sind virtuelle USB-Massenspeicher, genannt IDE Redirection (IDE-R). Der Admin bindet dabei an seinem PC mit der Fernwartungssoftware das ISO-Abbild eines Datenträgers ein, das hernach auf dem Server als virtuelles Laufwerk auftaucht, etwa um ein Betriebssystem zu installieren. So lassen sich auch Treiber und (BIOS-)Updates „ins System schießen“, selbst wenn der Server über seine normalen Netzwerkchips keine Freigabe erreicht.

Sensoreingänge des BMC erfassen Temperaturen, Lüfterdrehzahlen und Betriebsspannungen des Serverboards. Über den System Management Bus (SMBus, I2C) fragt der BMC weitere Sensoren sowie Konfigurationsdaten von Speichermodulen (DIMMs) und RAID-Hostadaptern ab. Solche Daten überträgt er mit dem Protokoll des Intelligent Platform Management Interface (IPMI) oder dem Nachfolger Redfish. IPMI sendet auch Befehle an den Server, etwa zum Ein- oder Ausschalten oder für den Neustart. Oft lässt sich aus der Ferne eine Identifikations-LED am Server einschalten: So findet ein Techniker vor Ort eine defekte Maschine leichter im Rack.

Eigene Firmware

Server-Fernwartungschip Baseboard Management Controller (BMC)

Der verbreitete BMC Aspeed AST2500 enthält einen ARM11-Rechenkern mit 800 MHz. Die Firmware befindet sich in einem SPI-Flash-Chip oder der BMC nutzt den Flash-Chip fürs Mainboard-BIOS mit. In seinen Flash-Speicher schreibt der BMC Log-Daten sowie auf Wunsch auch Informationen zur Identifikation und Inventarisierung des Servers.

Die BMC-Firmware enthält eine Benutzerverwaltung mit abgestuften Rechten. Auf dem BMC läuft ein Webserver, der Sensordaten anzeigt und Schaltbefehle erlaubt. Man braucht auf dem Admin-PC folglich nicht unbedingt eine spezifische Fernwartungssoftware. Letztere lässt sich aber oft als Java- oder JavaScript-Programm via Webserver aus dem Flash-Speicher des BMC herunterladen, um sie auf dem Admin-PC auszuführen – für manche braucht man aber Java oder Silverlight.

Per BMC lassen sich viele Server gemeinsam und anhand von Profilen und Skripten automatisiert verwalten. Steuerungssysteme für Server „sprechen“ IPMI, etwa die Konsole des Hypervisors VMware ESXi (vSphere). Mit OpenBMC wird derzeit eine offene BMC-Software entwickelt, auch für den Aspeed AST2500. Für jedes Serverboard sind aber spezifische Anpassungen nötig. (ciw@ct.de)