Como sou notificado quando uma máquina Linux equipada com memória ECC reconhece uma falha de memória? Estou interessado em erros corrigíveis e incorrigíveis.
- se uma mensagem for escrita em dmesg / the syslog, isso já está bom, mas eu adoraria saber o que procurar
- a instalação de daemons adicionais (como smartmontools para discos rígidos) é aceitável
- O monitoramento de Nagios / Icinga seria outro caminho a percorrer
- nem todas as máquinas a serem monitoradas possuem IPMI
Os sistemas de interesse têm placas Supermicro (X9SCM-F), no que diz respeito a um microserver HP N54L. Estou apenas curioso, mas não me importo muito. Todos os sistemas rodam Debian ou Ubuntu Linux.
mcelog
enquanto monitora o syslog parece ser o caminho a percorrer.Respostas:
O kernel do Linux suporta os recursos de detecção e correção de erros ( EDAC ) de alguns chipsets. Em um sistema suportado com ECC, o status do seu controlador de memória é acessível via sysfs:
A árvore de diretórios nesses locais deve corresponder ao seu hardware, por exemplo:
Dependendo do seu hardware, pode ser necessário carregar explicitamente o driver edac correto, cf .:
O
edac-utils
pacote fornece uma interface de linha de comando e uma biblioteca para acessar esses dados, por exemplo:Você pode configurar algum tipo de tarefa cron que periodicamente chama
eac-util
e alimenta os resultados em seu sistema de monitoramento, onde é possível configurar algumas notificações.Além disso, correr
mcelog
geralmente é uma boa ideia. Depende do sistema, mas os erros ECC incorrigíveis / corrigíveis provavelmente também são relatados como exceção de verificação da máquina ( MCE ). Quero dizer, mesmo breves períodos de otimização da CPU devido a temperaturas mais altas são relatados como MCE.fonte
mcelog
monitorará o controlador de memória e reportará eventos de erro de memória para o syslog e, em algumas configurações, pode offline páginas de memória ruim . Isso é claro, além do uso usual para monitorar exceções de verificação da máquina e uma variedade de outros erros de hardware.A maioria das distribuições Linux possui um serviço configurado para executá-lo como um daemon, por exemplo, para o EL 6:
fonte
Isso depende do hardware do servidor. Uma caixa branca ou um sistema Supermicro lidará com isso de maneira diferente da Dell, HP ou IBM ...
Um dos recursos de valor agregado dos servidores de ponta é que há um nível de integração de hardware / sistema operacional. Os servidores mais agradáveis reportarão o que você procura como parte dos agentes de gerenciamento e / ou da solução de gerenciamento fora de banda (ILO, DRAC, IPMI).
Você deve usar as ferramentas nativas da sua plataforma de hardware.
Trecho de um servidor HP ProLiant executando o Linux e os agentes de gerenciamento HP:
e
ou um mais grave
ou o pior ... Ignorando um erro por 6 dias até o servidor travar devido à falta de RAM
Eles foram registrados, além de traps SNMP e e-mails enviados.
Genericamente, você verá Exceções de verificação de máquina no buffer de anel do kernel, para poder verificar
dmesg
ou executar o mcelog . Nas minhas experiências com o equipamento Supermicro sem IPMI, isso não pegou tudo, e eu ainda tinha erros de RAM que escapavam pelas rachaduras e causavam interrupções. Infelizmente, isso levou a políticas arcaicas de queima de RAM antes das implantações do sistema.fonte