Was ist bei Profi-Servern anders ?
Richtige Profi-Server sollen über längere Zeit autark funktionieren. Das verlangt der Laie von seinem PC oder Notebook zwar auch, doch hier gelten andere Maßstäbe.
Beispiel ist eine Mobilfunkstation in einem Container auf dem Dach des 40-stöckigen Hochhauses. Der Schlüssel liegt bei einer Sicherheitsfirma ganz woanders und muß vorher geholt werden. Ein Sofortservice ist so nicht machbar. Dennoch, dieser Server muß nach einem Teilausfall und dem folgenden Alarm immer noch weiter laufen.
-
Wie macht man "soetwas" ?
Zuersteinmal bekommt der Server gut dimensionierte Bauteile wie Netzteile und Kühlkörper. Die Spannungsversorgung wird modular aufgebaut. Der Server bekommt dazu massenweise redundante Lüfter und redundante Netzteile und riesige CPU-Kühlkörper. Er bekommt ein RAID5 Plattensystem mit mehreren sogenannten Hotspare- Platten und er bekommt RAM Speicher mit ECC Funktionalität. Das nennt sich in etwa "Error Correction". Und auf diesen RAM Speicher haben ich es hier abgesehen.
-
Ein RAM Fehler in einem PC killt das ganze System.
Hat ein PC in seinem Betriebssystembereich einen einzigen Speicherfehler, läuft unter Umständen kein Programm mehr stabil bzw. es läuft gar nichts mehr. Der Speicher muß sofort getauscht werden. Hat der Speicher jedoch eine eigene eingebaute Fehlerkorrektur (ECC), läuft das gesamte System ersteinmal weiter. Und zwar so lange, bis in dem defekten Bereich ein weiterer dann nicht mehr korrigierbarer Fehler auftauchen würde. Doch solange geht es erst mal gut. Das kann sogar mehrere Monate lang gut gehen.
-
Die Hardware und das Betriebssytem erkennen den Fehler.
Fast alle Speicherbaustein-Controller haben eine ECC Verwaltung und erkennen solche Probleme sofort. Dann wird dieser Speicherbreich umgemappt und alles geht weiter. In normalen PCs ist aber diese Funktion einfach deaktiviert, obwohl sie da ist. Denn der ECC Speicher ist deutlich teurer als der normale Speicher. Auf jedem RAM-Streifen sind nämlich 9 (18) statt der 8 (16) Speichermodule drauf.
-
Diese ECC Speicher müssen immer besonders sorgfältig geprüft werden.
Sogenannte "Server RAM Streifen oder Riegel" mit ECC und REG kosten nicht nur deutlich mehr Geld, sie werden auch viel härter und sorgfältiger getestet.
Und darüber möchte ich etwas berichten:
In den Compaq/HP Proliant Servern (Beispiel der DL385-G1) ist ein sehr aufwendiges BIOS eingespeichert. Erkennt das BIOS eine Konfigurationsänderung, also sowohl weniger als auch mehr RAM-Streifen, wird eine schlummernde ganz spezielle Prüf-Routine eingebunden, die jetzt einmalig den gesamten verfügbaren Seicherbereich intensiv durchtestet. Hatte ich also nur 2 x 1GB Streifen gesteckt und rüste auf nunmehr 4 oder 6 Streifen auf (es muß sowieso immer paarweise sein), wird der jetzt verfügbare Speicher logisch durchgezählt und dann schaltet das BIOS um und prüft Streifen für Streifen einzeln durch, ob alles den Vorgaben entspricht.
Bei diesem Prüflauf wird dann genau das fehlerhafte Paar (gemeinsam) angezeigt, das durch die Prüfung fällt. Dabei müssen aber nicht beide Streifen defekt sein, so meine Erfahrung.
Merkwürdigerweise kam es aber dennoch vor, daß direkt nach dem Laden des LINUX Kernels ein oder mehrere Streifen als defekt deklariert wurden, indem vorne auf dem Server die LED ganz oben orange blinkte und auf dem Meinboard der entsprechende Streifen ebenfalls mit der orangen LED angezigt wurde. Jetzt wurde sogar ein einzelner Streifen per LED markiert.
Es gibt also fünf ECC-RAM Ausfall-Merkmale :
Alle diese Tests fanden in 3 Proliant DL385-G1 statt - ohne Festplatten und mit offenem Deckel - mit 3 verschiedenen typischen RAM Streifen Paaren der Type PC3200R-ECC-REG (jeweils 512MB, 1GB und 2GB).
Kleinere Streifen machen (für uns) keinen Sinn mehr und die 4GB Streifen (dann nur noch als PC2700-ECC-REG) sind mir einfach teuer. Bei 8 Sockeln kann ich den Server zur Zeit bezahlbar auf insgesamt 16GB aufrüsten.
Stecke ich also 2 gleichartige "einsame" Streifen in die Slots der Bänke B und D der CPU1, dann kann es sein, daß der Sever überhaupt keinen Mux macht. Mindestens ein Streifen wäre dann total defekt.
Also nehme ich erstmal 2 wissentlich funktionierende 1GB oder 2 GB Streifen und bestücke die Bänke B+D der CPU1 und starte den Server. Der muß jetzt ganz normal hochlaufen und ich bewache die 9 hellengrünen LEDs auf dem Motherboard, wie sie in welchen Schritten anfangen zu blinken.
Dann rüste ich direkt neben dran "einen" wissentlich intakten Streifen (also 1 Stück) in der RAM-Größe der Probanden nach und ergänze dazu den zweiten der neuen unbekannten Streifen (aber immer in der gleichen Größe).
Und jetzt gibt es 5 zeitraubende Ergebnisse:
-
- 1.) Kommt der Server überhaupt nicht hoch, bzw. leuchtet nur die eine grüne LED ganz am Ende der LED 9er-Reihe konstant, ist der neue unbekannte Streifen "dahin".
- 2.) Started das BIOS bis zum HP Init Bild und dann stockt er für mehr als 3 Minuten, (also für immer) ist der Streifen ebenfalls hin.
- 3.) Startet der Server und das verfügbare RAM wird durchgezählt, kommt Hoffnung auf, bis diese MEMORY TEST Routine durchlaufen wird. Zuerst wird ja das wissentlich intakte Paar geprüft, dann erst kommt das hinzugekommene Paar dran. Wenn da auch alles fehlerfrei durchlaufen wurde kommt noch mehr Hoffnung auf.
- 4.) Jetzt startet bei mir automatisch die Suse Linux 12.1 CD. Fängt hierbei die obere LED auf der Frontplatte orange an zu blinken, ist der initiale ECC Check fehlgeschlagen. Das hat nichts mit der Linux CD zu tun, eine Windows CD erzeugt diesen Fehler ebenso. Der neue Speicherstreifen ist dann auch unbrauchbar.
- 5.) Auf den Suse Linux Start CDs ist im Auswahlmenü seit Menschengedenken ein RAMTest Program drauf und dieses wählen wir aus. Es ist MEMTEST 4.8 und führt einen intensiven echten Speichertest samt Vergleich durch. Das machen wir aber erst ganz am Ende der vorigen Prozeduren, wenn genügend Paare bisher intakter Streifen übrig geblieben sind. In diesem Programm kann man weiterhin auch den ECC Test mit einer Tastenkombination aktivieren. Jetzt werden alle Eigenschaften in ca. 6 Stunden (bei 8 x 2 GB) intensiv getestet.
-
MEMTEST schreibt sogenannte kritische Bitmuster ins RAM und liest sie wieder aus. Erstens ist das wirklich "Action" für das RAM und zweitens sind das besondere Bitmuster, bei denen sich Speicherfehler ganz besonders schnell nachweisen lassen. Obwohl die RAM-Streifen in einem heftigen Luftstrom liegen, werden sie erstaunlich warm bis heiß.
Erst wenn der RAMTEST den Loop 1 voll durchlaufen hat, dann ist die überwiegende Arbeit geschafft, die Speicherriegel sind ok. Solch ein MEMTEST Loop dauert etwas mehr als 6 Stunden mit unserer 2,2 GHz CPU. MEMTEST nutzt nur den ersten Kern unserer Dual-Cores Opteron 275, also 8 Kerne bringen keine Sekunde Gewinn.
Die Quintessenz dieser Erfahrung:
Kein Server darf (bei uns) ungeprüft ins DataCenter gestellt werden. Sowohl die Festplatten wie auch die CPUs und die RAM Bausteine müssen "absolut" in Ordnung sein. Alle Lüfter müssen funktionieren und sowohl iLO als auch die XEN Grundinstallation müssen IP-mässig konfiguriert sein und (ohne Tastatur) absolut problemlos hochfahren.
Dann erst kann ein Profi sein OK geben. Jeder Spruch, "Das richten wir schon im Serverraum" ist allzu dummes Geschwätz und rächt sich fürchterlich.
-