viernes, 24 de octubre de 2008

REISUB

REISUB

Magic SysrqLinux nunca se queda colgado, es la frase favorita de los defensores del pingüino. Hace poco en el trabajo empezamos a tener algunos problemas con uno de los servidores el cual dejaba de responder de repente, sólo respondía al ping pero no se podía acceder en remoto ni en consola. Lo mas extraño es que al reiniciar el servidor no había absolutamente nada en los logs que indicara la causa del fallo, por eso sólo podíamos formular teorías sobre algún fallo en hardware o en la conexión NFS. Buscando causas y soluciones fue como conocí Magic SysRq key.

Magic SysRq key es una combinación de teclas en el kernel de Linux que permite al usuario ejecutar varios comandos de bajo nivel sin importar el estado del sistema. Su uso mas frecuente es para recuperar el sistema en caso de que deje de responder o para reiniciarlo sin corromper el sistema de ficheros (filesystem) pero también puede utilizarse para restaurar el sistema o realizar un volcado de memoria del kernel (core dump). Para poder usar esto se debe habilitar la opción CONFIG_MAGIC_SYSRQ en el kernel antes de compilarlo.

Menuconfig

Así que cuando nos falle el servidor y se quede colgado por algún motivo en lugar de darle botonazo presionamos alt+SysRq + la opción que debemos activar según lo que querramos hacer. Por ejemplo si quisiéramos reiniciar el servidor de forma segura necesitaríamos matar los procesos y sincronizar los discos entre otras cosas así que ejecutaríamos la siguiente secuencia conocida como REISUB:

Alt + SysRq + R devuelve el control del teclado.
Alt + SysRq + E termina (term) todos los procesos (excepto init).
Alt + SysRq + I mata (kill) todos los procesos (excepto init).
Alt + SysRq + S sincroniza los discos.
Alt + SysRq + U remonta todos los sistemas de ficheros en modo lectura.
Alt + SysRq + B reinicia la máquina.

También podríamos intentar matar todos los procesos excepto init para ver si así se recupera el sistema, antes siempre es aconsejable sincronizar los discos. Una de las opciones que mas me llamó la atención y que nos puede servir fue la de hacer un Network Crash, ésto te permite hacer un volcado del kernel por red hacia otro servidor. Los pasos para preparar ésto son bastante sencillos, básicamente es hacer un intercambio de claves y modificar la configuración del sysconfig como podemos ver en esta guía de Novell. Una vez preparada esta opción, cuando el sistema se quede colgado sólo tendríamos que ejecutar Alt + SysRq + C y estudiar los resultados.

ya se me ha quedado trabado ubuntu pero no conocia la forma de cancelar procesos y lo único que me sabia era resetear el entorno gráfico ctrl+alt+backspace.

Origen de este tutorial

No hay comentarios:

Publicar un comentario