Wie werde ich benachrichtigt, wenn ein mit ECC-Speicher ausgestatteter Linux-Computer einen Speicherfehler erkennt? Ich interessiere mich sowohl für korrigierbare als auch für nicht korrigierbare Fehler.
- Wenn eine Nachricht an dmesg / the syslog geschrieben wird, ist dies bereits in Ordnung, aber ich würde gerne wissen, wonach ich suchen soll
- Das Installieren zusätzlicher Daemons (wie SmartMontools für Festplatten) ist akzeptabel
- Nagios / Icinga-Überwachung wäre ein anderer Weg
- Nicht alle zu überwachenden Maschinen verfügen über IPMI
Systeme von Interesse haben Supermicro-Boards (X9SCM-F), in Bezug auf einen HP N54L Microserver bin ich nur neugierig, aber es interessiert mich nicht allzu sehr. Alle Systeme laufen unter Debian oder Ubuntu Linux.
mcelog
während der Überwachung des Syslogs scheint der richtige Weg zu sein.Antworten:
Der Linux-Kernel unterstützt die Fehlererkennungs- und -korrekturfunktionen ( EDAC ) einiger Chipsätze. Auf einem unterstützten System mit ECC kann über sysfs auf den Status Ihres Speichercontrollers zugegriffen werden:
Der Verzeichnisbaum unter diesen Speicherorten sollte Ihrer Hardware entsprechen, z.
Abhängig von Ihrer Hardware müssen Sie möglicherweise explizit den richtigen edac-Treiber laden, siehe:
Das
edac-utils
Paket enthält ein Befehlszeilen-Frontend und eine Bibliothek für den Zugriff auf diese Daten, z.Sie können eine Art Cron-Job
eac-util
einrichten, der die Ergebnisse regelmäßig aufruft und in Ihr Überwachungssystem einspeist, wo Sie dann einige Benachrichtigungen konfigurieren können.Darüber hinaus ist Laufen
mcelog
in der Regel eine gute Idee. Abhängig vom System, aber nicht korrigierbare / korrigierbare ECC-Fehler werden wahrscheinlich auch als Machine Check Exception ( MCE ) gemeldet . Ich meine, auch kurze Zeiträume der CPU-Drosselung aufgrund höherer Temperaturen werden als MCE gemeldet.quelle
mcelog
überwacht den Speichercontroller und meldet Speicherfehlerereignisse an Syslog. In einigen Konfigurationen können fehlerhafte Speicherseiten offline geschaltet werden . Dies gilt natürlich zusätzlich zu der üblichen Verwendung zur Überwachung von Maschinenprüfungsausnahmen und einer Reihe anderer Hardwarefehler.Die meisten Linux-Distributionen haben einen Dienst eingerichtet, um ihn als Daemon auszuführen, z. B. für EL 6:
quelle
Dies hängt von Ihrer Serverhardware ab. Eine Whitebox oder ein Supermicro-System handhaben dies anders als ein Dell, HP oder IBM ...
Eine der Mehrwertfunktionen von High-End-Servern besteht darin, dass eine gewisse Hardware- / Betriebssystemintegration vorhanden ist. Schönere Server melden als Teil der Verwaltungsagenten und / oder der Out-of-Band-Verwaltungslösung (ILO, DRAC, IPMI), wonach Sie suchen.
Sie sollten die Tools auf Ihrer Hardwareplattform verwenden.
Auszug aus einem HP ProLiant Server unter Linux und den HP Management Agents:
und
oder eine strengere
oder das Schlimmste ... Ignoriere einen Fehler für 6 Tage, bis der Server wegen schlechten RAM abstürzt
Diese wurden protokolliert sowie SNMP-Traps und E-Mails gesendet.
Generell werden im Kernel-Ringpuffer Machine Check Exceptions angezeigt , sodass Sie mcelog überprüfen
dmesg
oder ausführen können . In meinen Erfahrungen mit Supermicro-Geräten ohne IPMI hat das nicht alles erfasst, und ich hatte immer noch RAM-Fehler, die durch die Risse rutschten und Ausfälle verursachten. Leider führte dies zu archaischen RAM-Einbrennrichtlinien vor der Systembereitstellung.quelle