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.