Linux Kernel Watchdog erklärt
Linux Kernel Watchdog
Der Linux-Kernel-Watchdog wird verwendet, um zu überwachen, ob ein System ausgeführt wird. Es soll hängende Systeme aufgrund nicht behebbarer Softwarefehler automatisch neu starten. Das Watchdog-Modul ist spezifisch für die verwendete Hardware oder den verwendeten Chip. Benutzer von PCs benötigen keinen Watchdog, da sie das System manuell zurücksetzen können. Es ist jedoch nützlich für Systeme, die geschäftskritisch sind und die Fähigkeit benötigen, sich ohne menschliches Eingreifen neu zu starten. Zum Beispiel Server an einem entfernten Standort oder eingebettete Geräte in einem Raumfahrzeug, die automatische Hardware-Reset-Funktionen benötigen.
Warnung: Fahren Sie mit Vorsicht fort
Falsche Konfigurationen eines Watchdogs auf Ihrem System können Probleme verursachen wie:
- Endlose Neustartschleife
- Dateibeschädigung durch Hard Reset
- Unvorhersehbare zufällige Neustarts
Vermeiden Sie daher die Verwendung von Live-Servern zum Testen des Linux-Kernel-Watchdogs.
Watchdog-Modul
Die Watchdog-Funktionalität auf der Hardwareseite richtet einen Timer ein, der nach einer festgelegten Zeitspanne abläuft. Die Watchdog-Software aktualisiert dann regelmäßig den Hardware-Timer. Wenn die Software nicht mehr aktualisiert wird, führt der Timer nach der festgelegten Zeitspanne einen Hardware-Reset des Geräts durch. Damit ein Watchdog-Timer funktioniert, muss der Motherboard-Hersteller die Watchdog-Funktionalität des Chips verwenden. Oft ist in der Dokumentation des Herstellers nicht klar, ob die Funktionalität implementiert wurde. In diesem Fall müssen Sie es testen.
Außerdem benötigen Sie das richtige Watchdog-Kernelmodul, um in Ihr Linux-System geladen zu werden. Unterschiedliche Chips verwenden unterschiedliche Module. Zum Beispiel:
- Intel-Chipsätze verwenden möglicherweise das Modul „iTCO_wdt“
- HP Hardware verwendet möglicherweise "hpwdt"
- IBM Mainframes verwenden möglicherweise "vmwatchdog".
- Xen VM verwendet möglicherweise "xen_wdt".
Nachdem das Modul geladen wurde, können Sie / dev / watchdog auf dem Linux-System überprüfen. Wenn diese Datei vorhanden ist, bedeutet dies, dass der Watchdog-Kernel-Gerätetreiber oder das Modul geladen wurde. Das System schreibt regelmäßig in / dev / watchdog. Es wird auch als "Treten oder Füttern des Wachhundes" bezeichnet. Wenn das System den Watchdog nicht treten oder füttern kann, wird das System nach einer Weile hart zurückgesetzt.
Watchdog Daemon
Der Watchdog-Daemon öffnet das Gerät und stellt die erforderliche Aktualisierung bereit, damit das System nicht zurückgesetzt wird. Es kann Prozesstabellenbereich, Speichernutzung, Dateizugriff, Arbeitsüberlastung, Dateitabellenüberlauf, IP-Adress-Ping, Netzwerkschnittstellenverkehr, Temperatur, laufende Prozesse und mehr testen. Wenn die Tests fehlschlagen, wird der Watchdog heruntergefahren.
Watchdog starten und stoppen
Der Watchdog-Daemon sollte beim Booten starten und sich selbst in den Hintergrund stellen. Sie können überprüfen, ob es ausgeführt wird:
Wenn der Kernel NICHT mit CONFIG_WATCHDOG_NOWAYOUT kompiliert wird, führt ein ordnungsgemäßer Neustart von / dev / watchdog nicht zu einem Neustart. Sie können das Zeichen V in / dev / watchdog schreiben und dann die Datei schließen. Dies sollte den Watchdog stoppen.
Den Watchdog testen
Wenn Sie testen möchten, ob der Hardware-Watchdog funktioniert, können Sie an der Administrator-Eingabeaufforderung Folgendes ausführen:
Drücken Sie zweimal die Eingabetaste und warten Sie. Die Eingabeaufforderung wird nicht zurückgegeben. Abhängig von den Einstellungen Ihres Kernels sollte das System nach einer Weile den Hard-Neustart durchführen.
Verweise:
- http://manpages.ubuntu.com/manpages/zesty/man8/watchdog.8.html
- http://www.madore.org/~david/linux/iTCO-wdt-test.html
- http://www.sat.dundee.ac.uk/psc/watchdog/watchdog-background.html
- http://www.sat.dundee.ac.uk/psc/watchdog/watchdog-install.html
- http://www.sat.dundee.ac.uk/psc/watchdog/watchdog-testing.html
- https://embeddedfreak.wordpress.com/2010/08/23/howto-use-linux-watchdog/
- https://launchpad.net/ubuntu/trusty/+package/watchdog
- https://stackoverflow.com/questions/2020468/who-is-refreshing-hardware-watchdog-in-linux
- https://www.intel.com/content/dam/www/public/us/en/documents/application-notes/enabling-and-configuring-watchdog-timer-app-note.pdf
- https://www.suse.com/support/kb/doc/?id=7016880
- https://www.systutorials.com/docs/linux/man/8-watchdog/