Sistemas
¿Servidor muerto o fuera de red?
Cómo distinguir una máquina caída de una que solo ha perdido la red, y por
2 min de lectura
Cuando un servidor deja de responder, la primera pregunta es siempre la misma: ¿está muerto o solo está fuera de la red? La distinción lo cambia todo: una máquina muerta necesita que alguien vaya físicamente; una que ha perdido la red se puede arreglar a distancia. Esta semana me volvió a tocar vivirlo, y cuento cómo lo diagnosticé.
Los dos ping
Hay dos maneras de preguntar a una máquina si está, y no dicen lo mismo:
- Ping normal (ICMP): el ping de toda la vida (una señal breve que pregunta «¿estás?»). Preguntas a la red. Si no responde, puede que la máquina esté apagada, sin corriente, sin cable o con la red caída.
- Ping de Tailscale (la VPN que uso: una red privada que conecta mis equipos a distancia): preguntas dentro de la red privada. Si la máquina aparece como conectada pero no responde nada, es que está encendida pero colgada o sin red física.
En mi caso: la máquina aparecía en la lista de Tailscale pero ni el ping de ICMP ni el de Tailscale devolvían nada. Cientos de paquetes (mensajes por la red), cero de vuelta. Conclusión: la máquina estaba muerta del todo. No era un problema de VPN ni de DNS (el traductor de nombres a direcciones).
Los efectos colaterales: los montajes
Esta es la parte que nadie te explica: cuando un servidor muere, muere con sus cosas, pero también cuelga las cosas de los demás.
Tenía un sistema de ficheros remoto montado por SSHFS (que una carpeta de otro servidor se vea como local, vía SSH) desde otro servidor hacia la máquina caída. Al morir ella, el montaje se quedó colgado, y cualquier proceso que tocaba esa ruta se congelaba sin error ni aviso: ni ls, ni du, ni scripts de automatización (como el Un vigilante de disco con cron). Procesos zombies (que no hacen nada pero no se cierran) haciendo la vista gorda.
Cómo se limpia
Se limpia en caliente, sin apagar nada:
# desmontar en caliente un montaje colgado
fusermount -uz /ruta/del/montaje
# matar los procesos sshfs colgados
pkill -f "ruta/del/montaje"
La lección: cuando un servidor cae, lo primero que hay que hacer no es intentar repararlo, sino revisar qué otros equipos tenían montajes o conexiones hacia él. Los daños colaterales a menudo molestan más que la caída original. Y el disco de aquella máquina ya me había dado guerra antes: El disco que se llenaba solo.
El resultado
La máquina se recuperó reiniciándola físicamente (la única manera cuando está colgada de verdad), y los montajes volvieron a funcionar al remontarlos. Pero aquella tarde aprendí una lección que ya había leído mil veces y no había vivido nunca con tanta claridad: la red es un sistema, y cuando una pieza cae, las demás también se enteran.