Como posso ver os logs em um servidor após um travamento de pânico no kernel?

10

Estou executando uma máquina Linux de produção do gentoo e, recentemente, houve uma situação em que o servidor travou em minhas instalações co-localizadas e quando cheguei lá, notei que o servidor estava travado no que parecia ser um travamento de pânico no kernel. Reiniciei a máquina com uma reinicialização completa e fiquei desapontado ao descobrir que não conseguia encontrar um pingo de evidência em nenhum lugar do motivo pelo qual a máquina estava pendurada.

É verdade que, quando eu faço uma reinicialização forçada, as próprias mensagens se perdem ou há uma configuração que eu possa fazer em algum lugar, digamos em syslog-ng ou talvez em sysctl, para pelo menos preservar o log de erros, para impedir que tais contratempos ocorram no futuro ? Estou executando um kernel 2.6.x por sinal.

Desde já, obrigado.

Baixo Kian Seong
fonte

Respostas:

5

Para registrar um pânico no kernel, usar o netconsole é muito mais fácil do que usar um link serial;)

Existe uma entrada útil sobre isso no wiki do ubuntu que pode ser usada em outros sabores do linux ... Me ajudou, por exemplo, com o archlinux.

Observe que o netconsole também pode ser configurado na inicialização.

Vincent
fonte
4

Geralmente nessas situações, configurei um console serial remoto e, em seguida, certifique-se de registrar tudo o que aparece no console. Você pode fazer isso conectando a porta serial da máquina a outra máquina através de um cabo rs-232. Isso pode estar ficando um pouco mais complicado nos dias de hoje, pois as portas seriais estão desaparecendo gradualmente, mas acho que a maioria dos servidores ainda as possui.

Em seguida, nessa outra máquina, execute o conservador e configure o log do console. Isso fornece uma boa maneira de registrar tudo no console e fornecer um caminho de login alternativo para o sistema.

Se você não deseja configurar e administrar outra caixa Linux, uma alternativa é instalar um servidor de console serial. Várias empresas como Avocent, Cyclades e Raritan fabricam essas caixas que fornecem uma interface de rede para 2-48 portas seriais. No entanto, esse tipo de coisa será mais caro do que apenas configurar outra caixa Linux, é claro.

Phil Hollenback
fonte
4
Além da resposta de Phil, observe que muitos (a maioria?) * Sistemas NIX despejam o kernel / RAM na partição swap no caso de um pânico e copiam o despejo para /var/crashou /var/adm/crashapós a reinicialização para permitir que você o ataque com um depurador e ver onde o pânico ocorreu. O console serial ainda é uma ótima opção, pois permite ver a última coisa que o servidor fez antes panic().
voretaq7
0

Você pode tentar replicar mensagens syslog em outra máquina. Talvez nem todos eles, mas apenas alertas e críticas e desativem o cache para eles.

dtoubelis
fonte