Cómo comprobar si un watchdog del kernel está activo en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo comprobar si un watchdog del kernel está activo en Linux. Exploraremos diferentes métodos para determinar el estado del temporizador watchdog, un componente crítico para garantizar la estabilidad del sistema al reiniciar automáticamente los sistemas no respondientes.

Comenzará comprobando el estado del watchdog utilizando el sistema de archivos /proc, luego verificará su inicialización en el buffer de mensajes del kernel con dmesg y, finalmente, inspeccionará la configuración del servicio watchdog en /etc/systemd. Estos pasos proporcionarán una comprensión integral de cómo determinar el estado operativo del watchdog del kernel de Linux.


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{{"Cómo comprobar si un watchdog del kernel está activo en Linux"}} linux/cat -.-> lab-558727{{"Cómo comprobar si un watchdog del kernel está activo en Linux"}} linux/grep -.-> lab-558727{{"Cómo comprobar si un watchdog del kernel está activo en Linux"}} end

Comprobar el estado del watchdog con cat /proc/sys/kernel/watchdog

En este paso, exploraremos el temporizador watchdog de Linux. El watchdog es un sistema que puede reiniciar automáticamente la computadora si se vuelve no respondiente. Esto es crucial para sistemas críticos donde el tiempo de inactividad es inaceptable.

El temporizador watchdog está controlado por un parámetro del kernel. Podemos comprobar su estado leyendo un archivo especial en el sistema de archivos /proc. El sistema de archivos /proc es un sistema de archivos virtual que proporciona información sobre procesos y otra información del sistema.

Utilizaremos el comando cat para leer el contenido del archivo que controla el estado del watchdog.

Escribe el siguiente comando en tu terminal y presiona Enter:

cat /proc/sys/kernel/watchdog

La salida de este comando será 0 o 1.

  • 0: Indica que el temporizador watchdog está deshabilitado.
  • 1: Indica que el temporizador watchdog está habilitado.

Deberías ver una salida similar a esta:

0

Esto significa que el temporizador watchdog está actualmente deshabilitado en este entorno. Comprender el estado del watchdog es el primer paso para gestionarlo.

Haz clic en Continuar para pasar al siguiente paso.

Verificar el watchdog en dmesg

En este paso, examinaremos el buffer de mensajes del kernel utilizando el comando dmesg. dmesg muestra los mensajes del kernel, que se generan durante el arranque y la operación del sistema. Estos mensajes a menudo contienen información sobre la detección de hardware, la carga de controladores y eventos del sistema, incluyendo la inicialización del temporizador watchdog.

Utilizaremos dmesg y enviaremos su salida a grep mediante un pipe para filtrar los mensajes relacionados con el watchdog. El pipe (|) envía la salida de un comando como entrada a otro comando.

Escribe el siguiente comando en tu terminal y presiona Enter:

dmesg | grep -i watchdog

Desglosemos este comando:

  • dmesg: Muestra el buffer de mensajes del kernel.
  • |: El operador de pipe, que envía la salida de dmesg a grep.
  • grep: Una poderosa utilidad de línea de comandos para buscar en conjuntos de datos de texto plano las líneas que coinciden con una expresión regular.
  • -i: Una opción para grep que ignora las diferencias de mayúsculas y minúsculas en el patrón.
  • watchdog: El patrón que estamos buscando en los mensajes del kernel.

La salida mostrará cualquier mensaje del kernel que contenga la palabra "watchdog", independientemente de las mayúsculas y minúsculas. Si el controlador del watchdog se cargó o se inicializó durante el arranque, es posible que veas una salida similar a esta (la salida exacta puede variar según el sistema):

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

Si ves una salida como esta, indica que el kernel detectó e inicializó un dispositivo watchdog. Si no ves ninguna salida, puede significar que el controlador del watchdog no se cargó o no está presente en este sistema.

Este comando es útil para verificar si el kernel es consciente de un dispositivo watchdog y está interactuando con él.

Haz clic en Continuar para continuar.

Inspeccionar el servicio watchdog en /etc/systemd

En este paso, buscaremos archivos de configuración relacionados con el servicio watchdog dentro del directorio /etc/systemd. systemd es un gestor de sistemas y servicios para Linux, y a menudo gestiona servicios como el watchdog. Los archivos de configuración de las unidades de systemd (como servicios) se almacenan típicamente en /etc/systemd/system/.

Utilizaremos el comando ls para listar los archivos y luego grep para buscar archivos que contengan la palabra "watchdog" en su nombre dentro del directorio /etc/systemd/system/.

Escribe el siguiente comando en tu terminal y presiona Enter:

ls /etc/systemd/system/ | grep watchdog

Desglosemos este comando:

  • ls /etc/systemd/system/: Lista el contenido del directorio /etc/systemd/system/.
  • |: El operador de pipe, que envía la salida de ls a grep.
  • grep watchdog: Busca líneas que contengan la palabra "watchdog".

Si un servicio watchdog está configurado utilizando systemd, es posible que veas una salida similar a esta:

watchdog.service

Esto indica que existe un archivo de servicio de systemd llamado watchdog.service, que probablemente sea responsable de gestionar el temporizador watchdog. La presencia de este archivo sugiere que la funcionalidad del watchdog podría ser controlada y configurada a través de systemd.

Si no ves ninguna salida, significa que no hay un archivo de servicio de systemd con el nombre que contenga "watchdog" en este directorio. Esto no necesariamente significa que el watchdog no esté activo, pero sugiere que no está siendo gestionado por un archivo de unidad de servicio watchdog estándar de systemd en esta ubicación.

Comprender dónde se configuran los servicios watchdog es importante para gestionar su comportamiento.

Haz clic en Continuar para finalizar este laboratorio.

Resumen

En este laboratorio, aprendimos cómo verificar el estado del watchdog del kernel en Linux. Comenzamos utilizando el comando cat /proc/sys/kernel/watchdog para determinar si el temporizador watchdog está habilitado o deshabilitado, observando que un valor de 0 indica que está deshabilitado y 1 que está habilitado.

Luego, exploramos el buffer de mensajes del kernel utilizando dmesg y enviamos la salida a grep -i watchdog para buscar mensajes relacionados con el temporizador watchdog, lo cual puede brindar información sobre su inicialización y estado durante el arranque del sistema.