Hard reboot à distance
Voici une astuce bien utile si votre serveur est complètement planté.
Il faut néanmoins pouvoir se connecter en SSH sur la machine et avoir un shell en root.
Dans mon cas, il s’agissait d’un problème d’accès disque, la plupart des commandes exécutées renvoyaient des erreurs d’entrée/sortie, y compris la commande reboot, qui a besoin d’exécuter les scripts d’init de niveau 6.
Mais tout n’est pas perdu, si vous n’avez pas d’accès physique à la machine ! On va passer par le pseudo système de fichier /proc pour parler directement au noyau et lui dire de redémarrer la machine.
Avant tout (et si il ne s’agit pas d’un problème disque), on tente de forcer la synchronisation du cache vers le disque :
syncOn active ensuite les magic sysrq key si elles ne le sont pas déjà :
echo 1 > /proc/sys/kernel/sysrq
Puis on modifie l’état de la machine :
echo b > /proc/sysrq-trigger
Cette dernière action a exactement le même effet que la combinaison
Après cela, priez pour que la machine redémarre correctement


Excellent pour la dernière astuce, que je ne connaissais pas. Merci !
C’est vraiment pas mal ! Je viens de balancer le lien dans ma boîte, ça pourrait bien servir !
@yoho, @Luc :
Oui, une astuce qui ne devrait pas servir souvent, mais à garder en tête
Les touches magiques sont dans l’ordre r,s,e,i,u,b il me semble donc ne serait-il pas possible de faire
$ echo r > /proc/sysrq-trigger
$ echo s > /proc/sysrq-trigger
$ echo e > /proc/sysrq-trigger
$ echo i > /proc/sysrq-trigger
$ echo u > /proc/sysrq-trigger
$ echo b > /proc/sysrq-trigger
?
À priori oui, sauf que :
* r repasse le clavier en mode raw, donc plus contrôlé par le serveur X : inutile sur un serveur, d’autant plus que tu es connecté via SSH.
* e et i envoient respectivement un SIGTERM et un SIGKILL à tous les processus, donc à ne surtout pas faire sous peine de perdre la connexion SSH et de ne plus pouvoir rebooter le serveur.
Il arrive d’avoir besoin de rebooter un serveur linux car il n’est plus accessible par ssh (oomkiller, …)
Sans kvm ni pdu, il ne reste alors plus que sysrqd, mais gare a la securite.