O servidor fica inacessível e volta a funcionar sozinho (provavelmente um problema de rede)

2

Estou tendo um problema estranho com um servidor que estou sentado no meu local de trabalho (está por trás de um NAT, se isso é importante). A questão é que, em alguns momentos, torna-se inacessível e, em seguida, volta-se novamente, geralmente dentro de alguns segundos, às vezes com duração de até 1 minuto. Não reinicia, não falha. Ele simplesmente se torna inacessível. Durante esse tempo, eu não posso ssh dentro dele, nem posso acessar qualquer aplicativo rodando na máquina (ele está executando alguns aplicativos Rails, então eles se tornam inacessíveis também). Eu verifiquei o dmesg e vi essas linhas -

[    4.958074] ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.040476] ADDRCONF(NETDEV_UP): eth1: link is not ready
[    5.175624] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[    5.177207] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

Algumas linhas depois, vejo algo semelhante em relação às interfaces de rede -

[1195777.544167] igb: eth0 NIC Link is Down
[1195780.962943] igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

Parece um problema de rede. / var / log / messages não mostra nada interessante. Não sei como depurar isso. Alguma pista sobre o que poderia ser? E todas as coisas que eu deveria estar verificando aqui? Obrigado!

    
por Siddhant 16.11.2012 / 00:10

2 respostas

7

Esse tipo de problema geralmente não gera muitas mensagens de log. Você descobriu as duas mensagens importantes que mostram as interfaces indo para baixo e para cima. Estes podem ser gerados desconectando o cabo ethernet e conectando-o novamente.

Pode ser um cabo ruim entre a NIC e o roteador. Meus primeiros passos (feitos um de cada vez) seriam:

  • Substitua o cabo conectado à eth0 e veja se isso resolve o problema.
  • Reconfigure as interfaces de rede para que o tráfego atualmente em eth0 esteja em eth1 e vice-versa. (Requer uma reinicialização de rede e troca de cabos.) Se o problema se mover, será como uma NIC com falha.
  • Verifique o status do dispositivo upstream e sua fonte de alimentação. Se perder energia ou estiver falhando, você poderá ver esse tipo de comportamento.
  • Execute netstat -i ou ifconfig e examine as contagens de erros. Normalmente, eles devem ser 0 ou dígitos únicos. Erros altos de portadora ou de quadro podem indicar incompatibilidade de duplex. Incompatibilidade duplex pode ser verificada por upload, em seguida, baixar um arquivo grande. Grandes diferenças de velocidade acompanhadas por aumento de contagem de erros indicam incompatibilidade no link. Os modems a cabo geralmente têm diferentes larguras de banda de upload e download, portanto, as transferências locais funcionam melhor para esse teste.

Uma ferramenta que uso é mtr . Eu uso um comando como mtr -i 15 -n google.com para monitorar a conectividade. Considere usar um dos servidores do seu ISP em vez do google.com. Pode ser executado no modo de relatório em lote. Se o problema estiver a montante do servidor, a saída deve ajudar a identificar onde o problema está ocorrendo.

    
por 16.11.2012 / 00:28
3

O BillThor tem ótimas sugestões. Se nenhuma de suas soluções resolver o problema, a autonegociação poderia ser a culpada (embora improvável). Tente forçar a velocidade e duplex da conexão (instruções para RedHat, mas outras distros são similares)

Edite / etc / sysconfig / network-scripts / ifcfg-eth0:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

Em seguida, reinicie a interface:

/etc/init.d/network restart

    
por 16.11.2012 / 00:52