Dois-je posséder un chien de garde?

11

Très souvent, lorsque je fais un redémarrage, j'obtiens le message d'erreur suivant:

kernel: watchdog watchdog0: watchdog did not stop!

J'ai essayé d'en savoir plus sur le chien de garde en le faisant man watchdog, mais cela ne dit aucune entrée manuelle. J'ai essayé yum list watchdoget j'ai trouvé qu'il n'était pas installé. Cependant, quand je regarde le /devrépertoire, j'ai trouvé deux chiens de garde:

watchdog et watchdog0

Je suis curieux. Est-ce que je possède des chiens de garde? Pourquoi le noyau se plaint-il qu'il ne s'est pas arrêté lors d'un redémarrage?

Débordement de question
la source

Réponses:

7

La plupart des matériels PC modernes incluent des fonctions de minuterie de surveillance. Vous pouvez en savoir plus à leur sujet ici via wikipedia: Watchdog Timers . Également à partir des documents du noyau Linux:

extrait - https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

Un Watchdog Timer (WDT) est un circuit matériel qui peut réinitialiser le système informatique en cas de panne logicielle. Vous le saviez probablement déjà.

Habituellement, un démon d'espace utilisateur notifie le pilote de surveillance du noyau via le fichier de périphérique spécial / dev / watchdog que l'espace utilisateur est toujours vivant, à intervalles réguliers. Lorsqu'une telle notification se produit, le pilote indique généralement au chien de garde matériel que tout est en ordre et que le chien de garde doit attendre encore un peu de temps pour réinitialiser le système. Si l'espace utilisateur échoue (erreur de RAM, bogue du noyau, peu importe), les notifications cessent de se produire et le chien de garde matériel réinitialise le système (provoquant un redémarrage) après l'expiration du délai.

L'API de surveillance Linux est une construction plutôt ad hoc et différents pilotes implémentent des parties différentes, et parfois incompatibles, de celle-ci. Ce fichier est une tentative de documenter l'utilisation existante et de permettre aux futurs rédacteurs de pilotes de l'utiliser comme référence.

Ce SO Q&A intitulé, Qui rafraîchit le chien de garde matériel sous Linux? , couvre le lien entre le noyau Linux et le temporisateur de surveillance du matériel.

Qu'en est-il du package de surveillance?

La description dans le RPM rend cela assez clair, OMI. Le watchdogdémon peut agir comme un chien de garde logiciel ou peut interagir avec l'implémentation matérielle.

extrait de la description RPM

Le programme de surveillance peut être utilisé comme un puissant démon de surveillance logicielle ou peut être utilisé alternativement avec un périphérique de surveillance matérielle tel que l'interface du pilote de surveillance matérielle IPMI vers un contrôleur de gestion de la carte de base (BMC) résident. watchdog écrit périodiquement dans / dev / watchdog; l'intervalle entre les écritures dans / dev / watchdog est configurable via les paramètres du fichier sysconfig du watchdog.

Ce fichier de configuration est également utilisé pour définir le chien de garde à utiliser comme chien de garde matériel au lieu de son fonctionnement de chien de garde logiciel par défaut. Dans les deux cas, si le périphérique est ouvert mais sans écriture dans la période de temps configurée, l'expiration du temporisateur du chien de garde déclenchera un redémarrage de la machine. En fonctionnant comme chien de garde logiciel, la possibilité de redémarrer dépendra de l'état de la machine et des interruptions.

Lorsqu'elle fonctionne en tant que chien de garde matériel, la machine subira une réinitialisation matérielle (ou toute action configurée pour être exécutée à l'expiration de la minuterie du chien de garde) lancée par le contrôleur BMC.

slm
la source
Merci, la documentation du noyau est utile. Pour clarifier, cela signifie-t-il que le noyau possède un chien de garde et que l'utilisateur, moi, n'en possède pas puisque je n'en ai pas installé?
Débordement de questions
1
@QuestionOverflow - si je comprends bien, le système fournit la fonction de surveillance (c'est essentiellement du matériel). Le noyau le possède donc et gère ce matériel comme il le ferait pour tout autre matériel du système. Vous, l'utilisateur, interagissez avec lui via le noyau, mais ne le possédez pas à titre officiel. Vous en êtes simplement un consommateur. Les WDT sont utilisés comme une protection intégrée, au cas où le logiciel en cours d'exécution bloque le matériel de manière imprévue. Il s'agit d'un mécanisme de sécurité qui permet au système de récupérer.
slm
Je vois .. Mais il semble que je puisse interagir directement avec lui si j'installe un chien de garde. Il semble y avoir un fichier de configuration /etc/watchdog.confpour modifier directement son comportement.
Débordement de questions
@QuestionOverflow - Jetez un œil à la description du chien de garde dans le RPM. Ça explique tout. Je vais l'ajouter à mon A.
slm