Servidor Debian Linux bloqueado - sem pistas nos logs?

3

Eu tive um servidor de bloqueio esta manhã. Aqui está uma captura de tela do console:

Nenhuma das mensagens da tela significa nada para mim. Tenho a sensação de que as coisas importantes provavelmente rolaram pelo console. Eu não consigo encontrar nenhuma das mensagens da captura de tela acima no syslog, mensagem, dmesg, logs de depuração ou qualquer coisa registrada em todos os no momento da falha. Essas coisas não deveriam ter sido registradas?

Esta é uma caixa Debian rodando o Proxmox. uname output:

2.6.32-4-pve # 1 SMP seg 09 de maio 12:59:57 CEST 2011 x86_64 GNU / Linux

O servidor está on-line há cerca de um ano, sem outras falhas e reiniciado muito bem.

Eu adoraria descobrir qual poderia ter sido o problema, para que possamos evitar que isso ocorra novamente no futuro. Mas, pelas evidências que tenho até agora, nem sei se isso era um problema de hardware ou software. Idéias?

    
por Curtis 14.08.2012 / 16:34

2 respostas

5

Exatamente qual versão do kernel do Debian você roda? Você pode ver a versão completa e os números de revisão se fizer "dpkg -l | grep linux-image".

Parece que você está atingindo um bastante bug prevalecente que eu já vi várias vezes: Nos kernels anteriores a 3.2 mainline, antes de 2.6.32.50 estável e antes do Debian 2.6.32-45 (com base em 2.6.32.50 estável), há um estouro de clock que atingirá após ~ 208 dias de tempo de atividade, o que por sua vez permitirá o potencial de travar. Eu não sei exatamente o que pode causar o acidente depois desse tempo; o patch em si é muito vago sobre isso também:

Although we may still have enough bits to store the value of ns,
in some cases, we may not have enough bits to store cycles * cyc2ns_scale,
leading to an incorrect result.

Eu já vi centenas de falhas devido a esse problema, antes de determinar o que causou isso e o patch foi implantado.

O bug foi discutido longamente no lkml no final de 2011 Poderia haver um possível link para esta divisão por zero bug , mas não encontrei nenhuma conclusão .

TL; DR: A correção provável é atualizar para a versão linux-image 2.6.32- 45 ou mais recente do Debian.

    
por 14.08.2012 / 19:18
3

Esta é uma captura de tela de um pânico do kernel. O traceback é impresso de dentro para fora, então qualquer função que finalmente acabou com o kernel está fora do topo da tela, mas a partir do topo é uma chamada para divide_error() in hpet_msi_next_event() divide_error() é definida no kernel como uma armadilha para FPE_INTDIV , então algo em hpet_msi_next_event() tentou dividir por zero.

Infelizmente, a causa disso pode ser hardware, software ou até mesmo um erro transitório de bits. (Você está usando RAM ECC?)

    
por 14.08.2012 / 17:05