GNU/Linux >> Znalost Linux >  >> Linux

Jak získám upozornění na chyby ECC v Linuxu?

Řešení 1:

mcelog bude monitorovat paměťový řadič a hlásit chybové události paměti do syslog a v některých konfiguracích může odpojit špatné stránky paměti. To je samozřejmě navíc k obvyklému použití ke sledování výjimek kontroly stroje a řady dalších hardwarových chyb.

Většina linuxových distribucí má službu nastavenou tak, aby jej spouštěla ​​jako démona, např. pro EL 6:

chkconfig mcelog on
service mcelog start

Řešení 2:

Linuxové jádro podporuje funkce detekce a opravy chyb (EDAC) některých čipových sad. Na podporovaném systému s ECC je stav vašeho paměťového řadiče přístupný přes sysfs:

/sys/devices/system/edac/mc

Strom adresářů pod těmito umístěními by měl odpovídat vašemu hardwaru, např.:

/sys/devices/system/edac/mc/mc0/csrow2/power
/sys/devices/system/edac/mc/mc0/csrow0/power
/sys/devices/system/edac/mc/mc0/dimm2/power
/sys/devices/system/edac/mc/mc0/dimm0/power
/sys/devices/system/edac/mc/mc1/power
...

V závislosti na vašem hardwaru možná budete muset explicitně načíst správný ovladač edac, viz:

find /lib/modules/$(uname -r) -name '*edac*'

edac-utils balíček poskytuje rozhraní příkazového řádku a knihovnu pro přístup k těmto datům, např.:

edac-util -rfull          
mc0:csrow0:mc#0memory#0:CE:0
mc0:csrow2:mc#0memory#2:CE:0
mc0:noinfo:all:UE:0
mc0:noinfo:all:CE:0
mc1:noinfo:all:UE:0
mc1:noinfo:all:CE:0

Můžete nastavit nějaký druh cron-job, který pravidelně volá eac-util a odešle výsledky do vašeho monitorovacího systému, kde pak můžete nakonfigurovat některá upozornění.

Kromě toho spuštění mcelog je obecně dobrý nápad. Závisí na systému, ale neopravitelné/opravitelné chyby ECC jsou pravděpodobně hlášeny také jako výjimka kontroly stroje (MCE). Myslím tím, že i krátká období omezení CPU kvůli vyšší teplotě jsou hlášena jako MCE.

Řešení 3:

To závisí na hardwaru vašeho serveru. Whitebox nebo systém Supermicro to zvládnou jinak než Dell, HP nebo IBM...

Jednou z funkcí s přidanou hodnotou špičkových serverů je určitá úroveň integrace hardwaru a operačního systému. Lepší servery budou hlásit to, co hledáte, jako součást agentů pro správu a/nebo řešení správy mimo pásmo (ILO, DRAC, IPMI).

Měli byste používat nástroje nativní pro vaši hardwarovou platformu.

Výňatek ze serverů HP ProLiant se systémem Linux a agenty správy HP:

Trap-ID=6056
ECC Memory Correctable Errors  detected.

a

Trap-ID=6052
Advanced ECC Memory  Engaged

nebo závažnější

Trap-ID=6029
A correctable memory log entry indicates a memory module needs to be
replaced.

nebo nejhorší... Ignorování chyby po dobu 6 dnů, dokud se server nezhroutí kvůli špatné paměti RAM

0004 Repaired       22:21  12/01/2008 22:21  12/01/2008 0001
LOG: Corrected Memory Error threshold exceeded (Slot 1, Memory Module 1)

0007 Repaired       02:58  12/07/2008 02:58  12/07/2008 0001
LOG: POST Error: 201-Memory Error Single-bit error occured during 
memory initialization, 
Board 1, DIMM 1. Bank containing DIMM(s) has been disabled.

0008 Repaired       19:31  12/08/2009 19:31  12/08/2009 0001
LOG: ASR Detected by System ROM

Tyto byly protokolovány a byly odeslány depeše SNMP a e-maily.

Obecně se ve vyrovnávací paměti jádra zobrazí Výjimky kontroly stroje, takže můžete zkontrolovat dmesg nebo spusťte mcelog. Podle mých zkušeností s výbavou Supermicro bez IPMI to nestihlo všechno a stále mi chyby RAM proklouzly a způsobily výpadky. Bohužel to vedlo k archaickým zásadám vypalování RAM před nasazením systému.

Řešení 4:

rasdaemon balíček byl vytvořen jako náhrada za edac-tools a novější jádra dokonce nepodporují edac-tools nebo mcelog .

Aktualizace ovladačů linuxového jádra EDAC změnila způsob správy čítačů chyb paměti v uživatelském prostoru, takže edac-tools a mcelog jsou fakticky zastaralé.


Linux
  1. Jak zjistit využití uživatelské paměti v linuxu

  2. Jak získat název hostitele z IP (Linux)?

  3. Jak ovlivní chyba jednobitové paměti Linux?

  1. Jak vymazat mezipaměť v Linuxu

  2. Jak získat masku sítě z bash?

  3. Jak získat ldapsearch na Scientific Linux?

  1. Proč získáte cp:vynechání chyby adresáře v Linuxu a jak to vyřešit

  2. Jak získat velikost adresáře v Linuxu

  3. Jak vypsat seznam procesů připojených k segmentu sdílené paměti v linuxu?