GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo me notifican los errores de ECC en Linux?

Solución 1:

mcelog monitoreará el controlador de memoria e informará eventos de error de memoria a syslog, y en algunas configuraciones puede desconectar páginas de memoria incorrecta. Esto es, por supuesto, además de su uso habitual para monitorear las excepciones de verificación de la máquina y una variedad de otros errores de hardware.

La mayoría de las distribuciones de Linux tienen un servicio configurado para ejecutarlo como un demonio, p. para EL 6:

chkconfig mcelog on
service mcelog start

Solución 2:

El kernel de Linux es compatible con las funciones de detección y corrección de errores (EDAC) de algunos conjuntos de chips. En un sistema compatible con ECC, se puede acceder al estado de su controlador de memoria a través de sysfs:

/sys/devices/system/edac/mc

El árbol de directorios debajo de esas ubicaciones debe corresponder a su hardware, por ejemplo:

/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
...

Dependiendo de su hardware, es posible que deba cargar explícitamente el controlador edac correcto, cf.:

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

El edac-utils El paquete proporciona una interfaz de línea de comandos y una biblioteca para acceder a esos datos, por ejemplo:

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

Puede configurar algún tipo de trabajo cron que llame periódicamente a eac-util y envía los resultados a su sistema de monitoreo, donde luego puede configurar algunas notificaciones.

Además de eso, ejecutar mcelog generalmente es una buena idea. Depende del sistema, pero es probable que los errores de ECC corregibles/no corregibles también se informen como excepción de verificación de la máquina (MCE). Es decir, incluso los períodos breves de aceleración de la CPU debido a una temperatura más alta se informan como MCE.

Solución 3:

Esto depende del hardware de su servidor. Un sistema de caja blanca o Supermicro manejará esto de manera diferente a Dell, HP o IBM...

Una de las características de valor agregado de los servidores de gama alta es que existe un nivel de integración de hardware/SO. Los servidores más agradables informarán lo que está buscando como parte de los agentes de administración y/o la solución de administración fuera de banda (ILO, DRAC, IPMI).

Debe usar las herramientas nativas de su plataforma de hardware.

Extracto de un servidor HP ProLiant que ejecuta Linux y los agentes de gestión de HP:

Trap-ID=6056
ECC Memory Correctable Errors  detected.

y

Trap-ID=6052
Advanced ECC Memory  Engaged

o uno más severo

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

o lo peor... Ignorar un error durante 6 días hasta que el servidor falla debido a una mala memoria 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

Estos se registraron, además de que se enviaron trampas SNMP y correos electrónicos.

En general, verá Excepciones de verificación de máquina en el búfer de anillo del núcleo, por lo que puede verificar dmesg o ejecute mcelog. En mis experiencias con el equipo Supermicro sin IPMI, eso no captó todo, y todavía tenía errores de RAM que se escapaban y causaban interrupciones. Desafortunadamente, esto condujo a políticas arcaicas de quemado de RAM antes de las implementaciones del sistema.

Solución 4:

El rasdaemon el paquete se creó como reemplazo de edac-tools , y los núcleos más nuevos ni siquiera son compatibles con edac-tools o mcelog .

Una actualización de los controladores del kernel de Linux de EDAC cambió la forma en que se administraban los contadores de errores de memoria en el espacio de usuario, por lo que edac-tools y mcelog están efectivamente en desuso.


Linux
  1. Por qué obtienes cp:error de directorio omitido en Linux y cómo resolverlo

  2. Cómo obtener el tamaño del directorio en Linux

  3. ¿Cómo enumerar los procesos adjuntos a un segmento de memoria compartida en Linux?

  4. ¿Cómo obtener el nombre de host de IP (Linux)?

  5. ¿Linux puede limpiar la memoria?

Cómo borrar la memoria de intercambio en Linux

Cómo deshabilitar permanentemente el intercambio en Linux

Cómo obtener su dirección IP en Linux

¿Cómo funciona el intercambio de memoria en Linux?

Cómo comenzar con Arch Linux

Cómo obtener una lista de enlaces simbólicos en Linux