
Ya me ha sucedido dos veces en muy pocos días que mi servidor se cae por completo, es decir, http, ssh, ftp, dns, smtp, básicamente TODOS los servicios dejan de responder, como si el servidor se hubiera apagado, excepto que todavía responde al ping. , que es lo que más me desconcierta.
Tengo algunos scripts php que causan una carga enorme (CPU y memoria) en el servidor en ráfagas cortas, utilizadas por un pequeño grupo de usuarios, pero por lo general el servidor "sobrevive" perfectamente bien a estas ráfagas, y cuando falla, nunca coincide con esos picos de uso (no digo que no pueda estar relacionado, pero no sucede justo después de esos).
No te estoy pidiendo que mágicamente puedas decirme la causa final de estos bloqueos, mi pregunta es: ¿existe un único proceso cuya muerte pueda provocar que todos estos servicios caigan simultáneamente? Lo curioso es que todos los servicios de red se caen, excepto el ping. Si el servidor tuviera el 100% de la CPU consumido por algún proceso, tampoco respondería al ping. Si Apache fallara debido a (por ejemplo) un script php roto, eso afectaría solo a http, no a ssh y dns... etc.
Mi sistema operativo es Cent OS 5.6
Lo más importante es que, después de reiniciar el servidor, ¿qué registros del sistema debo mirar? /var/log/messages no revela nada sospechoso.
Respuesta1
(tl; drseguir respondiendo al ping es un comportamiento esperado, verifique su uso de memoria)
Las solicitudes de eco ICMP (es decir, ping) son manejadas por la pila de redes interna del kernel, sin ninguna otra dependencia.
El kernel se conoce como "residente en memoria", lo que significa que siempre se mantendrá en la RAM y no se puede intercambiar al disco como lo hace una aplicación normal.
Esto significa que en situaciones en las que se queda sin memoria física, las aplicaciones se intercambian al disco, pero el núcleo permanece donde está. Cuando tanto la memoria física como la de intercambio estén llenas (y el sistema ya no pueda administrar sus programas), la máquina fallará. Sin embargo porquea)el kernel todavía está en la memoria yb)puede responder a solicitudes de ping sin la ayuda de nada más, el sistema seguirá respondiendo al ping a pesar de que todo esté muerto.
Con respecto a su problema, sospecho fuertemente que hay problemas de memoria. Instale "sysstat" y use el comando "sar" para ver un registro de memoria/cpu/carga/carga de io, etc. Yo esperaría que en el momento del bloqueo viera tanto el uso 100% físico como el de intercambio.
Yo también consideraría mirardmesgo/var/log/mensajespara detectar cualquier señal de que se esté invocando el OOM-killer (asesino sin memoria). Este es el sistema de emergencia del kernel que comenzará a eliminar procesos en caso de que se agote la memoria. Su efectividad depende en gran medida de qué procesos se están eliminando. Un solo proceso que consume memoria se eliminará de manera eficiente y se liberará la memoria; sin embargo, un sitio web basado en Apache generará procesos de reemplazo tan pronto como se elimine un proceso secundario.
Respuesta2
Por lo general, se trata de un problema de E/S o del subsistema de disco. Muchas veces, esto irá acompañado de un promedio de carga del sistema extremadamente alto. Por ejemplo, el sistema detallado en el gráfico a continuación dejó de responder (pero se podía hacer ping) cuando un script funcionó mal, bloqueó un montón de archivos y la carga aumentó a 36... en un sistema de 4 CPU.
Los servicios que se ejecutan en RAM y no requieren acceso al disco continúan ejecutándose... Por lo tanto, la pila de red (ping) está activa, pero los otros servicios se detienen cuando se requiere acceso al disco... SSH cuando se hace referencia a una clave o Se necesita búsqueda de contraseña. SMTP tiende a cerrarse cuando el promedio de carga llega a 30 aproximadamente...
Cuando el sistema esté en este estado, pruebe con un control remoto nmap
la IP del servidor para ver qué pasa.
Su registro probablemente no funcione si se trata de un problema de disco o almacenamiento...
¿Puedes describir la configuración del hardware? ¿Es esta una máquina virtual? ¿Cuál es el diseño de almacenamiento?
Más que iniciar sesión, desea ver si puede representar gráficamente el rendimiento del sistema y comprender cuándo sucede esto. Vea si esto se correlaciona con una actividad específica.