Motifs et types de redémarrage

LicenceInformatique et Intelligence ArtificielleRedemarrer un ordinateurMotifs et types de redémarrage~11 min de lecture

Diagnostiquer avant de redémarrer : du symptôme au bon type de redémarrage

On ne redémarre pas « au hasard » : on identifie d'abord le motif (mise à jour, fuite mémoire, plantage, optimisation), puis on choisit le type de redémarrage (doux, planifié, forcé, matériel) dont le risque est le plus faible pour les données et les utilisateurs.

Objectifs

  • Classer un incident réel dans l'un des quatre grands motifs de redémarrage, à partir d'indices observables (journaux, commandes).
  • Distinguer redémarrage doux (soft), dur (hard), planifié et forcé, et savoir ce que chacun garantit ou non.
  • Choisir la commande adaptée sous Linux (systemd) et sous Windows, et mesurer les conséquences (indisponibilité, perte de données, vérification du disque).
  • Calculer un budget d'indisponibilité pour décider quand redémarrer.

1. Les motifs : pourquoi redémarrer ?

Un redémarrage remet le système dans un état initial connu : la mémoire vive est vidée, les processus repartent de zéro, le noyau est rechargé. C'est utile, mais c'est aussi une coupure de service. On regroupe les raisons en quatre motifs.

MotifIndices observablesCommandes utilesLe redémarrage règle-t-il la cause ?
Mise à jour (noyau, bibliothèque système, pilote)Le paquet du noyau est installé mais l'ancien noyau tourne encore ; une bibliothèque comme la libc a été mise à jour.uname -r (noyau en cours) ; sous Debian/Ubuntu, présence du fichier /var/run/reboot-required ; sous RHEL/Fedora, needs-restarting -r (paquet dnf-utils / yum-utils).Oui : c'est le seul moyen de charger le nouveau noyau (hors techniques de « live patching »).
Fuite mémoireUn processus occupe de plus en plus de mémoire au fil des jours ; le système utilise le swap ; le noyau tue des processus (OOM killer).free -h, ps aux --sort=-rss | head, journalctl -k | grep -i oomNon : il ne fait que remettre le compteur à zéro. La fuite reviendra ; il faut corriger le logiciel. Souvent, redémarrer le seul service suffit.
Plantage ou défaut matérielMachine figée, « kernel panic », erreurs disque ou mémoire dans les journaux, redémarrages spontanés.journalctl -b -1 -e (fin des journaux du démarrage précédent), dmesg, smartctl -a /dev/sda (paquet smartmontools), last -x rebootRarement : il rétablit le service temporairement, mais une barrette mémoire ou un disque défaillant doit être remplacé.
Optimisation / maintenanceChangement de configuration du noyau, ajout de matériel, nettoyage d'un état dégradé (fragmentation mémoire, services « zombies »).systemctl --failed, uptimeOui, si l'opération l'exige ; à placer dans une fenêtre de maintenance.

Un service web de paiement mobile à Abidjan voit sa mémoire passer de 1 Go à 7 Go en cinq jours, puis le noyau le tue. Quel est le motif, et que faut-il faire en priorité ?

  1. Mise à jour : redémarrer toute la machine chaque soir.
  2. Défaut matériel : changer la barrette mémoire.
  3. Fuite mémoire : redémarrer le service pour rétablir, puis faire corriger le code.
Une mémoire qui croît régulièrement jusqu'à l'intervention de l'OOM killer est le signe d'une fuite. Redémarrer le service soulage, mais la cause est logicielle.

2. Les types : comment redémarrer ?

2.1 Redémarrage doux (soft)

Le système d'exploitation orchestre l'arrêt : il demande aux services de s'arrêter proprement, écrit sur le disque les données encore en mémoire, démonte les systèmes de fichiers, puis demande au matériel de redémarrer.

  • Linux (systemd) : systemctl reboot ou shutdown -r now (sur les systèmes systemd, reboot fait la même chose).
  • Windows : shutdown /r /t 0.

Conséquences : coupure de service pendant l'arrêt et le démarrage ; pas de perte de données si les applications respectent le signal d'arrêt. Risque : faible ; un service qui ne s'arrête pas peut retarder l'arrêt (systemd attend un délai, par défaut 90 secondes, avant de le tuer).

2.2 Redémarrage planifié

C'est un redémarrage doux déclenché à une heure choisie, avec un avertissement aux utilisateurs connectés.

  • shutdown -r 02:00 "Maintenance : redémarrage à 2 h" (à une heure précise) ou shutdown -r +15 (dans 15 minutes).
  • shutdown -c annule un arrêt programmé.
  • Windows : shutdown /r /t 900 (dans 900 secondes) ; shutdown /a annule.

Conséquences : les utilisateurs sont prévenus, on choisit l'heure creuse. Risque : le plus faible, à condition de vérifier le retour du service après coup.

2.3 Redémarrage forcé

Le système redémarre sans attendre que les programmes s'arrêtent. Il existe plusieurs niveaux.

  • systemctl reboot --force (ou reboot -f) : saute l'arrêt ordonné des services, mais tue les processus et démonte les systèmes de fichiers.
  • systemctl reboot --force --force : redémarre immédiatement, sans tuer les processus ni démonter les disques ; proche d'une coupure.
  • Windows : shutdown /r /f /t 0 ferme les applications sans attendre l'utilisateur.
  • Touches « SysRq » du noyau Linux (si elles sont activées) : on peut demander au noyau d'écrire les tampons sur disque (Alt+SysRq+S), de remonter les disques en lecture seule (U), puis de redémarrer (B). C'est le dernier recours « propre » sur une machine figée.

Conséquences : les applications perdent ce qu'elles n'avaient pas encore enregistré. Risque : moyen à élevé selon le niveau.

2.4 Redémarrage dur (hard)

Le courant est coupé puis rétabli, ou le bouton « reset » est pressé : le système d'exploitation n'a aucune chance de se préparer. Sur un serveur distant, on le fait par la carte de gestion (BMC), par exemple ipmitool chassis power cycle. Un délestage électrique sans onduleur produit le même effet.

Conséquences : données en mémoire perdues, écritures en cours interrompues ; au démarrage, le système de fichiers peut devoir être vérifié (fsck) ou rejouer son journal. Risque : le plus élevé ; à réserver aux machines totalement figées.

flowchart TD
  A[Machine qui pose probleme] --> B{Elle repond aux commandes}
  B -- oui --> C{Urgence immediate}
  C -- non --> D[Redemarrage planifie]
  C -- oui --> E[Redemarrage doux]
  B -- non --> F{Le noyau repond aux touches SysRq}
  F -- oui --> G[Redemarrage force S U B]
  F -- non --> H[Redemarrage dur par le BMC ou le courant]

Un serveur de Ouagadougou ne répond plus en SSH, mais l'écran de la console réagit encore aux combinaisons SysRq. Quel geste choisir en premier ?

  1. Débrancher le câble d'alimentation.
  2. Alt+SysRq+S, puis U, puis B.
  3. Attendre que le serveur redémarre seul.
Tant que le noyau répond, la séquence S (écriture des tampons), U (lecture seule), B (redémarrage) limite les dégâts ; la coupure de courant vient en dernier.

3. Exemples résolus

Exemple 1 — Planifier après une mise à jour du noyau

Sur un serveur Ubuntu d'une PME de Cotonou, Moussa a installé les mises à jour. Le fichier /var/run/reboot-required existe. Les clients utilisent le service de 7 h à 22 h. Que faire, avec quelles commandes ?

Étape 1 — Identifier le motif : le fichier indique qu'une mise à jour (souvent le noyau) n'est appliquée qu'après redémarrage. Motif : mise à jour. Ce n'est pas urgent, donc on planifie.
Étape 2 — Choisir l'heure creuse et prévenir : shutdown -r 02:00 "Redémarrage de maintenance à 2 h". Les utilisateurs connectés reçoivent le message.
Étape 3 — Après le redémarrage, vérifier : uname -r doit afficher la nouvelle version du noyau ; systemctl --failed ne doit lister aucun service en échec ; le fichier /var/run/reboot-required a disparu.
Étape 4 — Tracer : last -x reboot et journalctl --list-boots confirment l'heure du redémarrage, à noter dans le registre de maintenance.

Exemple 2 — Budget d'indisponibilité

Une plateforme de cours promet une disponibilité de 99,9 % sur un mois de 30 jours. Un redémarrage complet (arrêt, démarrage, vérifications) dure 6 minutes. Combien de redémarrages imprévus le budget permet-il ce mois-ci ? Cherche d'abord.

Voir la solution

Durée du mois en minutes, puis indisponibilité autorisée :

\[ \begin{align} T &= 30 \times 24 \times 60 = 43\,200 \text{ min} \\ I_{\max} &= (1 - 0{,}999) \times 43\,200 = 0{,}001 \times 43\,200 = 43{,}2 \text{ min} \\ n &= \left\lfloor \frac{43{,}2}{6} \right\rfloor = \lfloor 7{,}2 \rfloor = 7 \end{align} \]

Au plus 7 redémarrages de 6 minutes. Conclusion pratique : on regroupe les mises à jour en un seul redémarrage planifié, et on corrige la fuite mémoire au lieu de redémarrer chaque jour (30 redémarrages consommeraient \(180\) minutes, soit plus de quatre fois le budget).

Exemple 3 — Retrouver la cause d'un redémarrage spontané

Le serveur d'un laboratoire à Bamako a redémarré seul dans la nuit. Comment savoir si c'était un arrêt propre ou un plantage ?

Voir la solution

1) last -x reboot shutdown : un arrêt propre laisse une ligne shutdown juste avant le reboot ; son absence suggère une coupure ou un plantage. 2) journalctl -b -1 -e : si les dernières lignes du démarrage précédent montrent l'arrêt des services (« Stopping… », « Reached target … Reboot »), l'arrêt était ordonné ; si le journal s'interrompt brutalement, c'est un redémarrage dur ou une panique du noyau. 3) journalctl -b -1 -p err et smartctl -a pour chercher une erreur matérielle. Motif probable : plantage ou défaut matériel, à confirmer avant de conclure.

4. Erreurs fréquentes

  • Redémarrer pour « réparer » une fuite mémoire et s'arrêter là : la fuite revient. Il faut signaler et corriger.
  • Utiliser d'emblée le redémarrage dur alors que la machine répond encore : risque inutile de corruption.
  • Oublier de vérifier après : un service qui ne redémarre pas seul (non activé avec systemctl enable) reste coupé.
  • Redémarrer toute la machine alors que relancer un seul service (systemctl restart nom.service) suffisait : on coupe tous les autres services pour rien.
  • Effacer les preuves : redémarrer avant d'avoir regardé les journaux, alors que le journal n'est pas persistant.

5. Récapitulatif

  • Quatre motifs : mise à jour, fuite mémoire, plantage ou défaut matériel, optimisation/maintenance. Seuls la mise à jour et la maintenance sont vraiment « réglées » par le redémarrage.
  • Quatre types, du plus sûr au plus risqué : planifié, doux, forcé, dur.
  • Diagnostiquer avec journalctl, last -x, free -h, smartctl avant d'agir ; vérifier avec uname -r et systemctl --failed après.
  • Le budget d'indisponibilité \(I_{\max} = (1 - D) \times T\) aide à décider combien de redémarrages on peut se permettre.

Quelle commande programme un redémarrage dans 15 minutes avec avertissement des utilisateurs, et peut être annulée ?

  1. shutdown -r +15, annulable avec shutdown -c
  2. systemctl reboot --force --force
  3. ipmitool chassis power cycle
shutdown -r +15 planifie un redémarrage doux et prévient les sessions ouvertes ; shutdown -c l'annule. Les deux autres sont immédiats et brutaux.
Redémarrage doux
L'OS arrête les services, écrit les données et démonte les disques avant de redémarrer (systemctl reboot).
Redémarrage planifié
Redémarrage doux à une heure choisie, avec avertissement (shutdown -r 02:00, annulation shutdown -c).
Redémarrage forcé
Saute l'arrêt ordonné des programmes (reboot -f, shutdown /r /f) : risque de perte de données non enregistrées.
Redémarrage dur
Coupure de courant ou reset matériel, aucune préparation de l'OS : risque le plus élevé.
Fuite mémoire
Mémoire qui croît sans être libérée ; le redémarrage soulage mais ne corrige pas la cause.
Budget d'indisponibilité
(1 − disponibilité) × durée de la période : 43,2 min par mois de 30 jours à 99,9 %.

Teste tes connaissances sur ce cours

Crée ton compte gratuitement pour accéder aux quiz associés et suivre ta progression.