¿Cómo me notifican cuando una máquina Linux equipada con memoria ECC reconoce una falla de memoria? Estoy interesado en los errores corregibles y no corregibles.
- si un mensaje está escrito en dmesg / syslog, esto ya está bien, pero me encantaría saber qué buscar
- instalar demonios adicionales (como smartmontools para discos duros) es aceptable
- El monitoreo de Nagios / Icinga sería otro camino a seguir
- no todas las máquinas a monitorear tienen IPMI
Los sistemas de interés tienen placas Supermicro (X9SCM-F), con respecto a un microservidor HP N54L, solo tengo curiosidad, pero no me importa demasiado. Todos los sistemas ejecutan Debian o Ubuntu Linux.
mcelog
mientras se monitorea el syslog parece ser el camino a seguir.Respuestas:
El kernel de Linux admite las características 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:
El árbol de directorios debajo de esas ubicaciones debe corresponder a su hardware, por ejemplo:
Dependiendo de su hardware, es posible que deba cargar explícitamente el controlador edac correcto, cf .:
El
edac-utils
paquete proporciona una interfaz de línea de comandos y una biblioteca para acceder a esos datos, por ejemplo:Puede configurar algún tipo de trabajo cron que periódicamente llama
eac-util
y alimenta los resultados en su sistema de monitoreo, donde luego puede configurar algunas notificaciones.Además de eso, correr
mcelog
es generalmente una buena idea. Depende del sistema, pero los errores de ECC corregibles / corregibles probablemente también se notifiquen como una excepción de verificación de máquina ( MCE ). Quiero decir, incluso breves períodos de aceleración de la CPU debido a una temperatura más alta se informan como MCE.fuente
mcelog
monitoreará el controlador de memoria e informará los eventos de error de memoria a syslog, y en algunas configuraciones puede desconectar páginas de memoria defectuosa . 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 demonio, por ejemplo, para EL 6:
fuente
Esto depende del hardware de su servidor. Una caja blanca o un sistema Supermicro manejarán esto de manera diferente que un Dell, HP o IBM ...
Una de las características de valor agregado de los servidores de alta gama es que hay un nivel de integración de hardware / sistema operativo. 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 (OIT, DRAC, IPMI).
Debe usar las herramientas nativas de su plataforma de hardware.
Extracto de un servidor HP ProLiant con Linux y los agentes de administración de HP:
y
o una más severa
o lo peor ... Ignorar un error durante 6 días hasta que el servidor falla debido a una RAM defectuosa
Estos fueron registrados, además de trampas SNMP y correos electrónicos fueron enviados.
Genéricamente, verá Excepciones de comprobación de máquina en el búfer de anillo del núcleo, por lo que puede comprobar
dmesg
o ejecutar mcelog . En mis experiencias con el equipo Supermicro sin IPMI, eso no captó todo, y todavía tuve errores de RAM que se escaparon y causaron interrupciones. Desafortunadamente, esto condujo a políticas arcaicas de quemado de RAM antes de las implementaciones del sistema.fuente