Deux choses me viennent à l'esprit :
-
Récupérer après une panique du noyau
Une panique du noyau, par définition, ne peut pas être récupérée sans redémarrer le noyau.
-
Récupérer des blocages qui vous laissent sans accès au terminal
Si le système ne répond pas et que vous êtes bloqué sans aucun moyen d'émettre des commandes pour récupérer, la seule chose que vous pourrez peut-être faire est de redémarrer. Habituellement, vous voudriez éviter le cycle d'alimentation manuel. Pour ce genre de situations, le noyau Linux prend en charge Magic SysRq qui peut être utilisé pour redémarrer la machine en cas d'urgence.
Tant que
CONFIG_MAGIC_SYSRQ
l'option a été activée dans la configuration du noyau, et lekernel.sysrq
sysctl
est activée, vous pouvez envoyer des commandes directement au noyau avec des combinaisons de touches magiques SysRq :Notez que Alt +SysRq ci-dessous signifie appuyez et maintenez enfoncé Alt , puis appuyez longuement SysRq (généralement le PrintScrn clé).
- Alt +SysRq +r :reprendre le contrôle du clavier
- Alt +SysRq +e :envoyer
SIGTERM
à tous les processus, saufinit
, en leur donnant une chance de terminer normalement - Alt +SysRq +i :envoyer
SIGKILL
à tous les processus, saufinit
, les forçant à résilier - Alt +SysRq +s :tentative de synchronisation de tous les systèmes de fichiers montés
- Alt +SysRq +u :remonte tout le système de fichiers en lecture seule
-
Alt +SysRq +b :redémarrage, ou
Alt +SysRq +o :arrêt
Un mnémonique pour les combinaisons de touches magiques SysRq pour tenter un redémarrage en douceur est :
"R eboot E même Je f S système U bien B roke "
Pour les serveurs sans tête, il existe même une cible iptables permettant des séquences SysRq à distance sur un réseau.
-
Récupérer à partir d'un état non amorçable
Si le système a déjà été amené à un état où un démarrage régulier n'est pas possible (par exemple, à la suite d'une mise à niveau du système qui a échoué, d'un système de fichiers corrompu, etc.), le seul moyen d'accéder à une console de récupération sur le système peut être de redémarrer en utilisant les options de démarrage appropriées.
-
Modifier les paramètres du noyau au démarrage
Certains paramètres du noyau (par exemple
audit
pour activer/désactiver l'audit du noyau) ne peut être défini que lorsque le noyau est chargé au démarrage.
Il y a deux moments où je peux penser où je voudrais redémarrer :
-
Lorsque je dois m'assurer que le système peut démarrer dans le bon état.
Une fois, j'ai travaillé sur un système sur lequel un démon était configuré pendant son exécution. Après avoir fonctionné pendant quelques années, une panne de courant l'a fait redémarrer, mais le démon ne faisait pas partie du processus de démarrage et personne n'avait la moindre idée de la façon dont il avait été configuré des années plus tôt. Le système est resté inactif pendant des jours pendant que nous cherchions à le reconfigurer.
En fait, le redémarrage est le seul moyen de savoir avec certitude que votre système redémarrera correctement après une panne de courant.
-
Lorsqu'une bibliothèque système a été mise à jour.
Disons qu'une faille de sécurité majeure a été découverte dans une bibliothèque partagée avec de nombreuses applications/serveurs sur le système. Vous pouvez mettre à jour la bibliothèque sans redémarrer, mais combien de processus sont encore en cours d'exécution avec la bibliothèque non sécurisée chargée ? Vous pouvez minutieusement redémarrer n'importe quoi en utilisant l'ancienne bibliothèque (si vous pouvez le comprendre), mais cela est sujet aux erreurs et peut prendre plus de temps qu'un simple redémarrage.
Le redémarrage est le meilleur moyen de s'assurer que tous les processus en cours d'exécution n'utilisent pas encore l'ancienne bibliothèque boguée.