Noyau Linux

Le chien de garde du noyau Linux expliqué

Le chien de garde du noyau Linux expliqué

Chien de garde du noyau Linux

Le chien de garde du noyau Linux est utilisé pour surveiller si un système est en cours d'exécution. Il est censé redémarrer automatiquement les systèmes bloqués en raison d'erreurs logicielles irrécupérables. Le module de surveillance est spécifique au matériel ou à la puce utilisé. Les utilisateurs d'ordinateurs personnels n'ont pas besoin de chien de garde car ils peuvent réinitialiser le système manuellement. Cependant, il est utile pour les systèmes critiques et nécessitant la possibilité de se redémarrer sans intervention humaine. Par exemple, des serveurs sur un site distant ou des équipements embarqués sur un engin spatial qui nécessitent des capacités de réinitialisation matérielle automatique.

Avertissement : procédez avec prudence

Des configurations incorrectes d'un chien de garde sur votre système peuvent causer des problèmes tels que :

Évitez donc d'utiliser des serveurs live pour tester le chien de garde du noyau Linux.

Module de surveillance

La fonctionnalité de chien de garde du côté matériel configure une minuterie qui expire après une période prédéterminée. Le logiciel de surveillance actualise ensuite périodiquement la minuterie matérielle. Si le logiciel arrête de se rafraîchir, alors après la période prédéterminée, la minuterie effectue une réinitialisation matérielle de l'appareil. Pour qu'une minuterie de surveillance soit fonctionnelle, le fabricant de la carte mère doit utiliser la fonctionnalité de surveillance de la puce. Souvent, la documentation du fabricant n'indique pas clairement si la fonctionnalité a été implémentée. Dans ce cas, il faut tester.

De plus, vous avez besoin du bon module de noyau de surveillance à charger dans votre système Linux. Différentes puces utilisent différents modules. Par example:

Une fois le module chargé, vous pouvez vérifier /dev/watchdog sur le système Linux. Si ce fichier est présent, cela signifie que le pilote de périphérique ou le module de surveillance du noyau a été chargé. Le système continue d'écrire périodiquement dans /dev/watchdog. On l'appelle aussi " donner un coup de pied ou nourrir le chien de garde ". Si le système ne parvient pas à lancer ou à nourrir le chien de garde, le système est réinitialisé après un certain temps.

Démon de chien de garde

Le démon de surveillance ouvre l'appareil et fournit l'actualisation nécessaire pour empêcher le système de se réinitialiser. Il peut tester l'espace de la table de processus, l'utilisation de la mémoire, l'accessibilité des fichiers, la surcharge de travail, le débordement de la table des fichiers, le ping d'adresse IP, le trafic d'interface réseau, la température, les processus en cours, etc. Si les tests échouent, le chien de garde provoque un arrêt.

Démarrer et arrêter le chien de garde

Le démon Watchdog doit démarrer au démarrage et se mettre en arrière-plan. Vous pouvez vérifier s'il fonctionne :

ps-af | montre grep*

Si le noyau n'est PAS compilé avec CONFIG_WATCHDOG_NOWAYOUT, alors si vous fermez correctement /dev/watchdog, cela ne provoquera pas de redémarrage. Vous pouvez écrire le caractère V dans /dev/watchdog puis fermer le fichier. Cela devrait arrêter le chien de garde.

Tester le chien de garde

Si vous souhaitez tester si le chien de garde matériel fonctionne, vous pouvez procéder comme suit à partir de l'invite de commande de votre administrateur :

chat >> /dev/chien de garde

Et appuyez deux fois sur "enter" et attendez. L'invite ne reviendra pas. Après un certain temps en fonction des paramètres de votre noyau, le système doit effectuer le redémarrage dur.

Les références:

Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...
Tutoriel Unity3D
Introduction à Unity 3D Unity 3D est un puissant moteur de développement de jeux. C'est une plateforme multiplateforme qui vous permet de créer des je...