Por onde começar com o diagnóstico de queda de conectividade de rede no Debian?

Por onde começar com o diagnóstico de queda de conectividade de rede no Debian?

Temos vários servidores virtualizados Xen, todos rodando Debian 6 de 64 bits. Estamos tendo um problema intermitente onde ocasionalmente um servidor para de responder pela rede. Quando isso acontece, não conseguimos executar ping no servidor e os logs do nosso aplicativo indicam que ele não consegue se conectar a outros servidores na rede.

Isso já aconteceu com alguns servidores diferentes e não relacionados, e os únicos fatores comuns são o host VPS e a infraestrutura associada, o sistema operacional e as configurações do sistema operacional. Estou acompanhando isso com o anfitrião, mas realmente preciso ir ao fundo da questão.

Eu realmente não tenho muito o que fazer no momento. As únicas entradas de log do sistema operacional que posso encontrar que coincidem com o evento são uma linha no syslog:

Nov 21 19:36:10 xxxxxx ntpd[2460]: xxxx:4f8:xxx:xxx:1:2:3:4 interface xxxx:7e00::xxxx:91ff:xxxx:1bd4 -> (null)

No entanto, acho que isso é o resultado da morte da conexão de rede, e não uma pista de sua causa.

Os relatórios MTR de um servidor em funcionamento não mostram nada de útil.

Então,como devo tentar entender o que está acontecendo aqui? Há algum registro específico da rede que eu não conheço e que deveria ser verificado?

Obrigado!

Responder1

Presumo que você não tenha acesso ao seu host VPS e que só possa depurar de dentro da VM. Então é isso que eu faria.

Eu tentaria descobrir onde ocorre a quebra - entre a VM e o host, a VM e o gateway ou talvez em algum lugar dentro da rede do seu provedor.

Defina um script que fará ping no seu primeiro salto - ou seja, no seu gateway. Se você tiver outras VMs no mesmo domínio de transmissão, poderá executar ping nelas em vez de GW. Você poderia executar screen/tmux e deixar o ping dentro:

$ ping IP_OF_GW_OR_OTHER_VM | tee -a mytest.log

Quando a interrupção ocorre, se o gateway ainda estiver ativo e os pings passarem, você terá um problema que vai pelo ralo. Nesse caso, faça um traceroute e execute ping nos próximos 2-3 saltos, até descobrir onde ocorre a interrupção. Se o gateway estiver imediatamente indisponível, talvez configure um cron que tirará um instantâneo das informações da rede quando a interrupção ocorrer:

ping -c 3 gateway
if [ $? -ne 0 ]; then
   ifconfig eth0 2>&1 >> /tmp/ifconfig-$(date +"%Y-%m-%d_%H:%M").log
   ethtool eth0 >> /tmp/ethtool-$(date +"%Y-%m-%d_%H:%M").log
fi

Você pode estender o script com informações adicionais como tempo de atividade (para obter a carga atual) lsof ou netstat se achar que precisa dessas informações também.

às vezes, os convidados do dhclient interrompem a conexão ou não conseguem renovar o aluguel, portanto, qualquer informação coletada no momento da interrupção pode ajudar.

informação relacionada