Watchdog du noyau Linux expliqué

Watchdog 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 s'exécute. Il est censé redémarrer automatiquement les systèmes suspendus en raison d'erreurs logicielles irréalisables. Le module de chien de garde est spécifique au matériel ou à la puce utilisée. 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 de la mission et qui ont besoin de redémarrer sans intervention humaine. Par exemple, les serveurs sur un emplacement distant ou un équipement intégré sur un vaisseau spatial qui ont besoin de capacités de réinitialisation matérielle automatique.

AVERTISSEMENT: procédez avec prudence

Les mauvaises configurations d'un chien de garde sur votre système peuvent causer des problèmes comme:

  • Boucle de redémarrage sans fin
  • Corruption de fichiers en raison d'une réinitialisation dure
  • Redémarrages aléatoires imprévisibles

Alors évitez d'utiliser des serveurs en direct pour tester le chien de garde du noyau Linux.

Module de chien de garde

La fonctionnalité de chien de garde du côté matériel établit une minuterie qui se déroule après une période prédéterminée. Le logiciel de surveillance rafraîchit ensuite périodiquement la minuterie matérielle. Si le logiciel s'arrête rafraîchissant, 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 chien de garde soit fonctionnelle, le fabricant de la carte mère doit utiliser la fonctionnalité de surveillance de la puce. Souvent, la documentation du fabricant n'est pas claire de savoir si la fonctionnalité a été mise en œuvre. Dans ce cas, vous devez le tester.

En outre, vous avez besoin de charger le module de noyau de chien de garde à charger dans votre système Linux. Différentes puces utilisent différents modules. Par exemple:

  • Intel Chipsets peut utiliser le module «ITCO_WDT»
  • Le matériel HP peut utiliser «HPWDT»
  • Les mainframes IBM peuvent utiliser «vmwatchdog»
  • Xen VM pourrait utiliser "xen_wdt"

Une fois le module chargé, vous pouvez vérifier / dev / chien de garde sur le système Linux. Si ce fichier est présent, cela signifie que le pilote ou module de périphérique de noyau de surveillance a été chargé. Le système continue périodiquement d'écrire sur / dev / chien de garde. Il est également appelé «coup de pied ou nourrissant le chien de garde». Si le système ne parvient pas à donner des coups de pied ou à nourrir le chien de garde, alors après un certain temps, le système est dur.

Démon de garde

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

Démarrage et arrêt du chien de garde

Le démon de surveillance doit commencer à l'heure du démarrage et se mettre en arrière-plan. Vous pouvez vérifier s'il est en cours d'exécution:

ps -af | Grep Watch *

Si le noyau n'est pas compilé avec config_watchdog_nowayout, alors si vous fermez correctement le / de dev / watchdog, cela ne provoquera pas de redémarrage. Vous pouvez écrire le personnage 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 du matériel fonctionne, vous pouvez effectuer ce qui suit à partir de votre invite de commande d'administrateur:

chat >> / dev / chien de garde

Et appuyez deux fois sur «Entrer» et attendez. L'invite ne reviendra pas. Après un certain temps selon le réglage de votre noyau, le système doit effectuer le redémarrage dur.

Les références:

  • http: // www.Madore.org / ~ david / linux / itco-wdt-test.html
  • http: // www.assis.Dundee.CA.UK / PSC / Watchdog / Watchdog-Background.html
  • http: // www.assis.Dundee.CA.UK / PSC / Watchdog / Watchdog-install.html
  • http: // www.assis.Dundee.CA.UK / PSC / Watchdog / Watchdog Testing.html
  • https: // embeddedfreak.wordpress.com / 2010/08/23 / howto-use-linux-watchdog /
  • https: // Launchpad.net / ubuntu / fiduty / + package / chien de garde
  • https: // stackOverflow.com / Questions / 2020468 / who-is-refrheing-hardware-watchdog-in-linux
  • https: // www.intel.com / contenu / dam / www / public / us / en / documents / application-notes / activer et configurer watchdog-timer-appo-note.pdf
  • https: // www.suser.com / support / kb / doc /?id = 7016880
  • https: // www.systèmes.com / docs / linux / man / 8-watchdog /