¿Alguna forma de reiniciar una máquina Linux a través de SSH si el sistema de archivos raíz no funciona?


15

Solo como curiosidad; algo salió mal con una máquina Linux, haciendo que el sistema de archivos raíz aparezca como "64Z". Algunos comandos funcionan, como top, dfy kill, pero a otros les gusta reboot"comando no encontrado" (ya que no puede leer el sistema de archivos raíz) y chmodaparece un error de segmentación.

¿Hay alguna forma de reiniciar el sistema de todos modos, es decir, sin el rebootprograma? Lo intenté kill -PWR 1(enviando SIGPWR a init), pero esto no pareció hacer nada.

Es sobre todo una curiosidad académica. El compañero de laboratorio que estaba haciendo cualquier trabajo de base de datos grande que causó la falla reiniciará físicamente la máquina pronto.


Espero que esto me salve del problema la próxima vez ... [ cyberciti.biz/tips/reboot-linux-box-after-a-kernel-panic.html ]
gatoatigrado

¿Has visto que el problema con la raíz fs ha desencadenado un pánico en el núcleo?
Hanan N.

Respuestas:


25

Intenta reiniciar con la clave mágica sysrq:

echo b > /proc/sysrq-trigger

Para obtener más información, lea la wiki o la documentación del núcleo .


1
¡Gracias! Esto reinició el sistema. (Desafortunadamente, lo que le sucedió al sistema de archivos raíz parece irrecuperable ... triste).
gatoatigrado

5

Un RAC (tarjeta de acceso remoto) o iLO (luces apagadas integradas) o MP (procesador de administración) le proporcionarán medios para restablecer su servidor.

Por ejemplo, si tiene un Dell PowerEdge con una tarjeta RAC (llamada DRAC), puede reiniciar el servidor a través de ssh:

ssh drac "racadm serveraction powercycle"

La otra opción es usar la GUI web para RAC / iLO y hacer lo mismo allí.

También hay un estándar abierto para estas cosas: IPMI.


3

Aún más interesante de lo que responde @Rush, es la capacidad de reiniciar (y mucho más) el sistema, incluso si el sistema no responde al teclado en absoluto. Pero tiene que responder a los paquetes de ping (ICMP).

Consulte aquí la documentación completa y las instrucciones sobre cómo implementar eso.


44
¿Qué tal si realmente damos un resumen de las instrucciones / resumen de principios en lugar de solo un enlace?
kizzx2

necesitas hacer un poco de configuración para ese enfoque, pero definitivamente es una buena idea.
gatoatigrado

Eso suena interesante, pero ¿no existe un riesgo de seguridad considerable? Permitir que un servidor se reinicie a través de un solo paquete ICMP parece un ataque de denegación de servicio a punto de ocurrir.
bgvaughan

@bgvaughan: tienes razón, y en el enlace que he proporcionado anteriormente, hay ventajas y desventajas al respecto, y una de ellas es la seguridad, aunque puedes restringir quién puede hacerlo.
Hanan N.


1

Esto requiere una configuración previa, pero si está acostumbrado a bloquear una máquina (por ejemplo, porque está haciendo un desarrollo de bajo nivel), es posible que desee configurar un perro guardián , es decir, un núcleo o tareas de usuario que lo reinicie automáticamente cuando se vuelve insensible. Linux puede usar un perro guardián de hardware si su placa base tiene uno, o un perro guardián de software de lo contrario.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.