
Disponemos de varios servidores virtualizados Xen, todos ellos con Debian 6 de 64 bits. Estamos teniendo un problema intermitente en el que ocasionalmente un servidor deja de responder a través de la red. Cuando esto sucede, no podemos hacer ping al servidor y los registros de nuestra aplicación indican que no puede conectarse a otros servidores de la red.
Esto le ha sucedido a algunos servidores diferentes no relacionados ahora, y los únicos factores comunes son el host VPS y la infraestructura asociada, el sistema operativo y nuestra configuración del sistema operativo. Estoy siguiendo esto con el anfitrión, pero realmente necesito llegar al fondo del asunto.
Realmente no tengo mucho con qué continuar en este momento. Las únicas entradas del registro del sistema operativo que puedo encontrar que coinciden con el evento son una línea en el 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)
Sin embargo, creo que es el resultado de la muerte de la conexión de red, más que una pista de su causa.
Los informes MTR de un servidor en funcionamiento no muestran nada útil.
Entonces,¿Cómo debo hacer para tratar de entender lo que está pasando aquí? ¿Hay algún registro específico de la red que no conozco y que debería verificarse?
¡Gracias!
Respuesta1
Supongo que no tiene acceso a su host VPS y que solo puede depurar desde dentro de la VM. Entonces esto es lo que yo haría.
Intentaría averiguar dónde ocurre la falla: si es entre la VM y el host, la VM y la puerta de enlace o tal vez en algún lugar dentro de la red de sus proveedores.
Establezca un script que haga ping a su primer salto, es decir, a su puerta de enlace. Si tiene otras máquinas virtuales dentro del mismo dominio de transmisión, puede hacerles ping en lugar de a GW. Podrías ejecutar screen/tmux y dejar ping dentro:
$ ping IP_OF_GW_OR_OTHER_VM | tee -a mytest.log
Cuando ocurre la interrupción, si la puerta de enlace todavía está activa y se realizan pings, tiene un problema que se va al desagüe. En ese caso, haga un traceroute y haga ping en los siguientes 2 o 3 saltos, hasta que averigüe dónde ocurre la interrupción. Si la puerta de enlace no está disponible inmediatamente, entonces tal vez configure un cron que tome una instantánea de la información de la red cuando ocurra la interrupción:
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
Puede ampliar el script con información adicional como tiempo de actividad (para obtener la carga actual) lsof o netstat si cree que también necesita esa información.
A veces, los invitados dhclient cortan la conexión o no renuevan el contrato de arrendamiento, por lo que cualquier información recopilada en el momento de la interrupción puede ayudar.