Linux // Effectuer un reboot d’urgence à distance

Publié le 23 mars 2014 par Xaviercm

Vote serveur est hébergé dans un datacenter à plusieurs centaines de kilomètres. Vous disposez toujours d’un accès SSH mais la machine refuse de rebooter (Init 6, reboot, halt … rien ne fonctionne…). Bien entendu vous ne disposez pas de module de contrôle de l’alimentation à distance … C’est une situation que j’ai rencontré il y a peu de temps suite à un problème NFS sur l’un de mes serveurs.

Si vous rencontrez ce type de problème vous pouvez tenter les commandes « de la dernière chance » ;-).

Attention : en appliquant ces commandes vous allez engendrer un reboot direct (un peu comme si vous appuyez sur le bouton « reset » du serveur …). Autant vous dire tout de suite que ce n’est pas vraiment ce qu’il y a de plus clean : rien ne va être fermé proprement, pas de sync sur les disques bref un vrai reboot à l’arrache (avec toutes les conséquences possibles …) !

Voici donc les commandes à utiliser :

echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger

Si vous préférez arrêter complétement le serveur (attention quand même si vous êtes à plusieurs centaines de kilomètres c’est peut être pas une très bonne idée  ) :

echo 1 > /proc/sys/kernel/sysrq
echo o > /proc/sysrq-trigger

Ces commandes ont pour effet de simuler l’usage de la combinaison de touche apellée « magic SysRq key« . Cette combinaison de touche reconnue par le Kernel permet d’effectuer des opérations d’assez bas niveau sur votre système. Si vous souhaitez en savoir plus vous pouvez consulter cet article Wikipedia .