Comment vérifier si le minuteur de surveillance (watchdog) du noyau (kernel) est actif sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un watchdog du noyau (kernel watchdog) est actif sous Linux. Nous explorerons différentes méthodes pour déterminer l'état du minuteur de surveillance (watchdog timer), un composant essentiel pour garantir la stabilité du système en redémarrant automatiquement les systèmes non réactifs.

Vous commencerez par vérifier l'état du watchdog en utilisant le système de fichiers /proc, puis vous vérifierez son initialisation dans le tampon de messages du noyau (kernel message buffer) avec dmesg, et enfin vous inspecterez la configuration du service watchdog dans /etc/systemd. Ces étapes vous permettront de bien comprendre comment vérifier l'état opérationnel du watchdog du noyau Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/ls -.-> lab-558727{{"Comment vérifier si le minuteur de surveillance (watchdog) du noyau (kernel) est actif sous Linux"}} linux/cat -.-> lab-558727{{"Comment vérifier si le minuteur de surveillance (watchdog) du noyau (kernel) est actif sous Linux"}} linux/grep -.-> lab-558727{{"Comment vérifier si le minuteur de surveillance (watchdog) du noyau (kernel) est actif sous Linux"}} end

Vérifier l'état du watchdog avec cat /proc/sys/kernel/watchdog

Dans cette étape, nous allons explorer le minuteur de surveillance (watchdog timer) Linux. Le watchdog est un système qui peut redémarrer automatiquement l'ordinateur s'il devient non réactif. Cela est crucial pour les systèmes critiques où tout temps d'arrêt est inacceptable.

Le minuteur de surveillance est contrôlé par un paramètre du noyau (kernel parameter). Nous pouvons vérifier son état en lisant un fichier spécial dans le système de fichiers /proc. Le système de fichiers /proc est un système de fichiers virtuel qui fournit des informations sur les processus et d'autres informations système.

Nous allons utiliser la commande cat pour lire le contenu du fichier qui contrôle l'état du watchdog.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

cat /proc/sys/kernel/watchdog

La sortie de cette commande sera soit 0 soit 1.

  • 0 : Indique que le minuteur de surveillance est désactivé.
  • 1 : Indique que le minuteur de surveillance est activé.

Vous devriez voir une sortie similaire à celle-ci :

0

Cela signifie que le minuteur de surveillance est actuellement désactivé dans cet environnement. Comprendre l'état du watchdog est la première étape pour le gérer.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier le watchdog avec dmesg

Dans cette étape, nous allons examiner le tampon de messages du noyau (kernel message buffer) en utilisant la commande dmesg. dmesg affiche les messages du noyau, qui sont générés lors du démarrage et du fonctionnement du système. Ces messages contiennent souvent des informations sur la détection du matériel, le chargement des pilotes et les événements système, y compris l'initialisation du minuteur de surveillance (watchdog timer).

Nous allons utiliser dmesg et rediriger sa sortie vers grep pour filtrer les messages liés au watchdog. La redirection (|) envoie la sortie d'une commande en tant qu'entrée à une autre commande.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

dmesg | grep -i watchdog

Décortiquons cette commande :

  • dmesg : Affiche le tampon de messages du noyau.
  • | : L'opérateur de redirection, qui envoie la sortie de dmesg à grep.
  • grep : Un outil en ligne de commande puissant pour rechercher dans des ensembles de données texte brut les lignes qui correspondent à une expression régulière.
  • -i : Une option pour grep qui ignore la casse dans le motif.
  • watchdog : Le motif que nous recherchons dans les messages du noyau.

La sortie affichera tous les messages du noyau qui contiennent le mot "watchdog", quelle que soit la casse. Si le pilote du watchdog a été chargé ou initialisé lors du démarrage, vous pourriez voir une sortie similaire à celle-ci (la sortie exacte peut varier en fonction du système) :

[    0.XXX] Linux version X.X.X-XX-generic (...)
[    X.XXX] watchdog: initialized omap_wdt driver
[    X.XXX] watchdog: watchdog0: watchdog: activate

Si vous voyez une sortie comme celle-ci, cela indique que le noyau a détecté et initialisé un dispositif watchdog. Si vous ne voyez aucune sortie, cela peut signifier que le pilote du watchdog n'a pas été chargé ou n'est pas présent sur ce système.

Cette commande est utile pour vérifier si le noyau est au courant d'un dispositif watchdog et interagit avec lui.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter le service watchdog dans /etc/systemd

Dans cette étape, nous allons rechercher les fichiers de configuration liés au service watchdog dans le répertoire /etc/systemd. systemd est un gestionnaire de systèmes et de services pour Linux, et il gère souvent des services tels que le watchdog. Les fichiers de configuration des unités systemd (comme les services) sont généralement stockés dans /etc/systemd/system/.

Nous allons utiliser la commande ls pour lister les fichiers, puis grep pour rechercher les fichiers dont le nom contient "watchdog" dans le répertoire /etc/systemd/system/.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

ls /etc/systemd/system/ | grep watchdog

Décortiquons cette commande :

  • ls /etc/systemd/system/ : Liste le contenu du répertoire /etc/systemd/system/.
  • | : L'opérateur de redirection, qui envoie la sortie de ls à grep.
  • grep watchdog : Recherche les lignes contenant le mot "watchdog".

Si un service watchdog est configuré à l'aide de systemd, vous pourriez voir une sortie similaire à celle-ci :

watchdog.service

Cela indique qu'un fichier de service systemd nommé watchdog.service existe, qui est probablement responsable de la gestion du minuteur de surveillance (watchdog timer). La présence de ce fichier suggère que la fonctionnalité watchdog pourrait être contrôlée et configurée via systemd.

Si vous ne voyez aucune sortie, cela signifie qu'il n'y a pas de fichier de service systemd explicitement nommé avec "watchdog" dans ce répertoire. Cela ne signifie pas nécessairement que le watchdog n'est pas actif, mais cela suggère qu'il n'est pas géré par un fichier d'unité de service watchdog systemd standard à cet emplacement.

Comprendre où les services watchdog sont configurés est important pour gérer leur comportement.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, nous avons appris à vérifier l'état du minuteur de surveillance (watchdog) du noyau (kernel) sous Linux. Nous avons commencé par utiliser la commande cat /proc/sys/kernel/watchdog pour déterminer si le minuteur de surveillance est activé ou désactivé. Nous avons observé qu'une valeur de 0 indique que le minuteur est désactivé, tandis qu'une valeur de 1 indique qu'il est activé.

Ensuite, nous avons exploré le tampon de messages du noyau à l'aide de dmesg et avons redirigé la sortie vers grep -i watchdog pour rechercher les messages liés au minuteur de surveillance. Cela peut nous fournir des informations sur son initialisation et son état lors du démarrage du système.