So prüfen Sie, ob ein Kernel-Watchdog in Linux aktiv ist

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie prüfen können, ob ein Kernel-Watchdog (Kernel-Überwachungszeitgeber) in Linux aktiv ist. Wir werden verschiedene Methoden untersuchen, um den Status des Watchdog-Timers zu bestimmen, einer kritischen Komponente, die die Systemstabilität gewährleistet, indem sie unresponsive Systeme automatisch neu startet.

Sie beginnen damit, den Watchdog-Status mithilfe des /proc-Dateisystems zu prüfen. Anschließend überprüfen Sie seine Initialisierung im Kernel-Meldungspuffer mit dmesg und untersuchen schließlich die Watchdog-Dienstkonfiguration in /etc/systemd. Diese Schritte geben Ihnen ein umfassendes Verständnis davon, wie Sie den Betriebszustand des Linux-Kernel-Watchdogs feststellen können.


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{{"So prüfen Sie, ob ein Kernel-Watchdog in Linux aktiv ist"}} linux/cat -.-> lab-558727{{"So prüfen Sie, ob ein Kernel-Watchdog in Linux aktiv ist"}} linux/grep -.-> lab-558727{{"So prüfen Sie, ob ein Kernel-Watchdog in Linux aktiv ist"}} end

Prüfen des Watchdog-Status mit cat /proc/sys/kernel/watchdog

In diesem Schritt werden wir den Linux-Watchdog-Timer (Überwachungszeitgeber) untersuchen. Der Watchdog ist ein System, das den Computer automatisch neu starten kann, wenn er unresponsive wird. Dies ist für kritische Systeme von entscheidender Bedeutung, bei denen Ausfallzeiten nicht akzeptabel sind.

Der Watchdog-Timer wird durch einen Kernel-Parameter gesteuert. Wir können seinen Status überprüfen, indem wir eine spezielle Datei im /proc-Dateisystem lesen. Das /proc-Dateisystem ist ein virtuelles Dateisystem, das Informationen über Prozesse und andere Systeminformationen bereitstellt.

Wir verwenden den Befehl cat, um den Inhalt der Datei zu lesen, die den Watchdog-Status steuert.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

cat /proc/sys/kernel/watchdog

Die Ausgabe dieses Befehls ist entweder 0 oder 1.

  • 0: Zeigt an, dass der Watchdog-Timer deaktiviert ist.
  • 1: Zeigt an, dass der Watchdog-Timer aktiviert ist.

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

0

Dies bedeutet, dass der Watchdog-Timer in dieser Umgebung derzeit deaktiviert ist. Das Verständnis des Watchdog-Status ist der erste Schritt bei seiner Verwaltung.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Überprüfen des Watchdogs in dmesg

In diesem Schritt werden wir den Kernel-Meldungspuffer mithilfe des Befehls dmesg untersuchen. dmesg zeigt die Meldungen des Kernels an, die während des Systemstarts und der Systemausführung generiert werden. Diese Meldungen enthalten oft Informationen über die Hardwareerkennung, das Laden von Treibern und Systemereignisse, einschließlich der Initialisierung des Watchdog-Timers.

Wir verwenden dmesg und leiten seine Ausgabe an grep weiter, um nach Meldungen in Bezug auf den Watchdog zu filtern. Das Weiterleiten (|) sendet die Ausgabe eines Befehls als Eingabe an einen anderen Befehl.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

dmesg | grep -i watchdog

Lassen Sie uns diesen Befehl zerlegen:

  • dmesg: Zeigt den Kernel-Meldungspuffer an.
  • |: Der Pipe-Operator, der die Ausgabe von dmesg an grep sendet.
  • grep: Ein leistungsstarkes Befehlszeilen-Werkzeug zum Suchen in Textdateien nach Zeilen, die einem regulären Ausdruck entsprechen.
  • -i: Eine Option für grep, die Groß- und Kleinschreibung beim Muster ignorieren lässt.
  • watchdog: Das Muster, nach dem wir in den Kernel-Meldungen suchen.

Die Ausgabe zeigt alle Kernel-Meldungen an, die das Wort "watchdog" enthalten, unabhängig von der Groß- oder Kleinschreibung. Wenn der Watchdog-Treiber während des Boots geladen oder initialisiert wurde, sehen Sie möglicherweise eine Ausgabe ähnlich der folgenden (die genaue Ausgabe kann je nach System variieren):

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

Wenn Sie eine solche Ausgabe sehen, bedeutet dies, dass der Kernel ein Watchdog-Gerät erkannt und initialisiert hat. Wenn keine Ausgabe angezeigt wird, könnte dies bedeuten, dass der Watchdog-Treiber nicht geladen wurde oder auf diesem System nicht vorhanden ist.

Dieser Befehl ist nützlich, um zu überprüfen, ob der Kernel sich eines Watchdog-Geräts bewusst ist und mit ihm interagiert.

Klicken Sie auf Weiter, um fortzufahren.

Prüfen des Watchdog-Services in /etc/systemd

In diesem Schritt werden wir nach Konfigurationsdateien im Zusammenhang mit dem Watchdog-Service im Verzeichnis /etc/systemd suchen. systemd ist ein System- und Dienstleistungsmanager für Linux, der oft Dienste wie den Watchdog verwaltet. Konfigurationsdateien für systemd-Einheiten (wie Dienste) werden normalerweise in /etc/systemd/system/ gespeichert.

Wir verwenden den Befehl ls, um Dateien aufzulisten, und dann grep, um nach Dateien zu suchen, deren Name "watchdog" enthält, im Verzeichnis /etc/systemd/system/.

Geben Sie den folgenden Befehl in Ihrem Terminal ein und drücken Sie die Eingabetaste:

ls /etc/systemd/system/ | grep watchdog

Lassen Sie uns diesen Befehl zerlegen:

  • ls /etc/systemd/system/: Listet den Inhalt des Verzeichnisses /etc/systemd/system/ auf.
  • |: Der Pipe-Operator, der die Ausgabe von ls an grep sendet.
  • grep watchdog: Sucht nach Zeilen, die das Wort "watchdog" enthalten.

Wenn ein Watchdog-Service mithilfe von systemd konfiguriert ist, sehen Sie möglicherweise eine Ausgabe ähnlich der folgenden:

watchdog.service

Dies zeigt an, dass eine systemd-Dienstdatei namens watchdog.service existiert, die wahrscheinlich für die Verwaltung des Watchdog-Timers verantwortlich ist. Das Vorhandensein dieser Datei deutet darauf hin, dass die Watchdog-Funktionalität möglicherweise über systemd gesteuert und konfiguriert wird.

Wenn keine Ausgabe angezeigt wird, bedeutet dies, dass es in diesem Verzeichnis keine systemd-Dienstdatei gibt, die explizit mit "watchdog" benannt ist. Dies bedeutet nicht unbedingt, dass der Watchdog nicht aktiv ist, sondern es deutet darauf hin, dass er nicht von einer Standard-systemd-Watchdog-Dienst-Einheitsdatei an dieser Stelle verwaltet wird.

Das Verständnis, wo Watchdog-Dienste konfiguriert sind, ist wichtig für die Verwaltung ihres Verhaltens.

Klicken Sie auf Weiter, um dieses Lab abzuschließen.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man den Status des Kernel-Watchdogs in Linux prüft. Wir haben zunächst den Befehl cat /proc/sys/kernel/watchdog verwendet, um festzustellen, ob der Watchdog-Timer aktiviert oder deaktiviert ist. Dabei haben wir beobachtet, dass ein Wert von 0 deaktiviert und 1 aktiviert bedeutet.

Anschließend haben wir den Kernel-Meldungspuffer mit dmesg untersucht und die Ausgabe an grep -i watchdog weitergeleitet, um nach Meldungen in Bezug auf den Watchdog-Timer zu suchen. Dies kann Einblicke in seine Initialisierung und seinen Status während des Systemstarts geben.