Ubuntu 10.04.2 Servidor LTS - Intermitentemente trava sem indicação de causa nos arquivos de log

4

Descrição rápida:

Recentemente, comecei a tentar configurar / gerenciar um servidor Linux (Ubuntu 10.04.2 LTS) em nosso data center (todos os outros servidores são caixas Windows). O servidor trava periodicamente e não responde e não consigo encontrar nada em nenhum log que indique uma causa específica. Às vezes é por horas, às vezes dias (14 dias a mais). Conectar um monitor na máquina após um travamento não mostra nada. Em um esforço para solucionar o problema, tentamos desabilitar o APIC, mais por "desespero instruído" do que por qualquer outra coisa. Infelizmente, estamos limitados em algumas das soluções de problemas que podemos fazer, pois temos um único site cliente hospedado na caixa (a razão pela qual o configuramos), então qualquer coisa que envolva tempo de inatividade significativo é um problema.

Como esta é nossa primeira tentativa de configurar uma caixa Linux, estamos usando uma máquina de nível de desktop "bem equipada", mas não o que eu chamaria de hardware "grau de servidor". Esta é uma caixa autônoma, não um VPS. Estamos usando um hardware, não um software, uma matriz RAID e temos muita memória na caixa.

Advertências / Histórico:

  • Eu sou relativamente novo no Linux em geral.
  • Eu gasto muito mais tempo escrevendo código do que gerenciando servidores. Estou confortável em trabalhar na caixa, mas não sou realmente um cara de sysadmin.
  • Estou confortável com a linha de comando, mas tenho mais experiência com o OS X (BSD).
  • Não tenho certeza de todas as ferramentas / informações / Logs que podem estar disponíveis, embora eu tente ser minucioso ao verificar o que sei.
  • Eu não configurei fisicamente o hardware, por isso não tenho certeza de todas as especificações, mas posso obter as informações que preciso para solucionar problemas.
  • Posso estar ignorando etapas muito básicas ou perdendo lugares óbvios para procurar informações sem saber.

Um pouco mais detalhadamente:

  • Memória real: 8 GB
  • Ubuntu 10.04.2 LTS
  • Hardware RAID 10
  • Gerenciando sites com o Webmin versão 1.550
  • O servidor está em um data center remoto. A resolução de problemas nas mãos é difícil.

Nós tentamos duas configurações do Linux neste momento. O primeiro foi em uma configuração de hardware idêntica a esta, mas sem peças reais de hardware reutilizadas. Essa tentativa estava usando o CentOS e estávamos tentando configurar o CPanel. Nós descartamos essa instalação devido a esse mesmo problema (falha / paralisação periódica).

A segunda tentativa (esta) está mostrando o mesmo comportamento. A única coisa que realmente vejo em comum é a configuração do hardware (embora o CentOS e o Ubuntu possam ter mais em comum do que eu acho).

A caixa funcionará bem por horas, dias ou até semanas e, em seguida, pare de responder totalmente. Eu verifico todos os logs que sei verificar (principalmente mensagens, syslog e kern.log), mas não vejo nada que pareça um erro para mim. Eu vejo linhas que não entendo que podem ou não ser problemas, como:

rsyslogd: [origin software="rsyslogd" swVersion="4.2.0" x-pid="814" x-info="http://www.rsyslog.com"] rsyslogd was HUPed, type 'lightweight'.

A maioria das entradas do nosso syslog parece ser um registro de tarefas cron relacionadas ao webmin em execução. Meu instinto me diz que há possivelmente algum componente em nossa configuração Linux não gosta ou precisa de uma atualização de driver (talvez o cartão de ataque, por exemplo), mas não tenho certeza de como fazer mais para rastrear ou determinar o que pode ser . Adivinhar e verificar é caro.

Outro pensamento que tive é que um ou mais dos trabalhos agendados que estão rodando estão tropeçando em algo, mas não parece ser reproduzível sob demanda e, novamente, eu não sei como testar essa teoria ainda mais. O mesmo trabalho cron não parece estar sendo executado toda vez que o servidor fica inativo.

Esta é uma parte do log pouco antes de nosso último enforgo:

Aug  8 11:00:01 linhost01 CRON[10771]: (www-data) CMD ([ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null)
Aug  8 11:00:01 linhost01 CRON[10772]: (root) CMD (/etc/webmin/status/monitor.pl)
Aug  8 11:01:01 linhost01 CRON[10799]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl)
Aug  8 11:05:01 linhost01 CRON[10898]: (root) CMD (/etc/webmin/status/monitor.pl)
Aug  8 11:06:01 linhost01 CRON[10924]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl)
Aug  8 11:09:01 linhost01 CRON[11007]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm)
Aug  8 11:10:01 linhost01 CRON[11023]: (www-data) CMD ([ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null)
Aug  8 11:10:01 linhost01 CRON[11024]: (root) CMD (/etc/webmin/status/monitor.pl)
Aug  8 11:11:01 linhost01 CRON[11063]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl)
Aug  8 11:15:01 linhost01 CRON[11149]: (root) CMD (/etc/webmin/status/monitor.pl)
Aug  8 11:16:01 linhost01 CRON[11176]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl)
Aug  8 11:17:01 linhost01 CRON[11243]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Aug  8 11:20:01 linhost01 CRON[11279]: (www-data) CMD ([ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null)
Aug  8 11:20:01 linhost01 CRON[11280]: (root) CMD (/etc/webmin/status/monitor.pl)
Aug  8 11:21:01 linhost01 CRON[11307]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl)
Aug  8 11:25:01 linhost01 CRON[11392]: (root) CMD (/etc/webmin/status/monitor.pl)
Aug  8 11:26:01 linhost01 CRON[11432]: (root) CMD (/etc/webmin/virtual-server/collectinfo.pl)
[SERVER DOWN AFTER THIS POINT]

Se alguém puder ajudar a lançar alguma luz ou até mesmo me dar qualquer outra coisa que eu possa postar aqui que possa ser útil, eu ficaria muito agradecido. Eu sou tudo para pular para aprender fazendo, mas eu estou começando a chegar ao final da minha corda em um presente.

Prazer em publicar informações ou informações de registro específicas que possam ser úteis ao oferecer sugestões.

    
por Cliff Pruitt 08.08.2011 / 19:32

3 respostas

2

Por uma questão de perfeição, percebi que acabaria de terminar. Depois de mais de um ano desse comportamento, o servidor finalmente morreu. Somente quando tentamos (e fracassamos) reconstruir o RAID descobrimos que não um, mas dois discos rígidos eram ruins.

A causa definitiva dos problemas deste servidor ainda não é conhecida, mas (com minha compreensão ainda limitada do Linux) é minha suspeita que essas duas unidades tiveram problemas por algum tempo e tentar usar as unidades defeituosas estava causando intermitentemente o problema. servidor para travar / reiniciar.

Nossa solução final foi reconstruir o servidor a partir do zero, usando praticamente a mesma configuração, mas com todo o novo hardware. A única mudança de configuração significativa que fizemos foi usar o ext4 em vez do xfs para o sistema de arquivos. A caixa está pronta há vários meses sem problemas.

Estou respondendo a esta pergunta apenas porque, para nós, parece que a falha no disco foi a causa e a substituição de todo o hardware foi a melhor solução para o problema. Dito isso, não sei se essa resposta será útil demais para a maioria das pessoas.

    
por 25.06.2013 / 19:18
1

Eu colocaria isso como um comentário, mas não tenho a reputação.

Dito isto, a única coisa que se destaca de uma revisão casual de seus registros é o nouveau. Se fosse eu, eu desabilitaria o nouveau. Estas instruções devem levá-lo até lá.

Você também pode encontrar as seguintes mensagens de segurança severa relevantes e talvez úteis, se não por outro motivo, além de expor você a algumas das ferramentas disponíveis para ajudar na solução de problemas.

Como posso diagnosticar um congelamento do sistema Ubuntu após reinicialize

(Como) posso usar o syslog para diagnosticar falhas misteriosas

O Ubuntu 10.10 Maverick Server faz o sistema travar em intervalos aleatórios (i7 930; 12GB RAM)

Boa sorte!

    
por 16.08.2011 / 05:43
0

Não está claro o que exatamente se quer dizer com baixo. Eu sei que você mencionou o seu controle remoto, então é difícil passar as mãos. No entanto, para falhas como essas, é essencial saber se a máquina está totalmente congelada. Quando ele trava, o console ainda funciona (por trabalho, quero dizer, você pode apertar enter, ele exibe um prompt de senha, você pode fazer o login)? Para uma máquina no data center, é realmente uma boa ideia colocar algum tipo de console nela. Aqui está a opção mais barata:

link

Isso requer alguma configuração para configurar a parte do console serial. Uma solução mais fácil, porém mais cara, seria um KVM. Depois de determinar se o console físico está congelado ou não durante essas interrupções, isso deve ajudar a determinar as próximas etapas. Se o console físico também estiver congelado, provavelmente haverá um problema com seu hardware. Se a caixa ainda não tiver memória ECC, você deve testar ou substituí-la. É improvável que o console travasse se o problema fosse apenas um erro do driver com um subsistema como a placa RAID. Se o console responder durante essas interrupções e você puder efetuar o login, tente executar alguns comandos. Se o problema for bastante freqüente, você pode querer apenas configurar uma tarefa cron que capture a saída destes a cada minuto:

lsof -n # listará todos os FDs abertos no sistema, mostrando se algo está usando todos os recursos

netstat -an; netstat -s # qualquer rede causou problemas deve aparecer aqui como ficar sem buffers

ps -eaf # pilha de processos em geral?

date a saída e, em seguida, tente encontrar o último antes da falha. Se for um problema com um subsistema, será evidente a partir da saída aqui.

    
por 16.08.2011 / 05:42

Tags