Como verificar se um watchdog do kernel está ativo no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um watchdog do kernel está ativo no Linux. Exploraremos diferentes métodos para determinar o estado do temporizador watchdog, um componente crítico para garantir a estabilidade do sistema, reiniciando automaticamente sistemas que não respondem.

Você começará verificando o status do watchdog usando o sistema de arquivos /proc, em seguida, verificará sua inicialização no buffer de mensagens do kernel com dmesg e, finalmente, inspecionará a configuração do serviço watchdog em /etc/systemd. Essas etapas fornecerão uma compreensão abrangente de como verificar o estado operacional do watchdog do kernel Linux.

Verificar o status do watchdog com cat /proc/sys/kernel/watchdog

Nesta etapa, exploraremos o temporizador watchdog do Linux. O watchdog é um sistema que pode reiniciar automaticamente o computador se ele parar de responder. Isso é crucial para sistemas críticos onde o tempo de inatividade é inaceitável.

O temporizador watchdog é controlado por um parâmetro do kernel. Podemos verificar seu status lendo um arquivo especial no sistema de arquivos /proc. O sistema de arquivos /proc é um sistema de arquivos virtual que fornece informações sobre processos e outras informações do sistema.

Usaremos o comando cat para ler o conteúdo do arquivo que controla o status do watchdog.

Digite o seguinte comando em seu terminal e pressione Enter:

cat /proc/sys/kernel/watchdog

A saída deste comando será 0 ou 1.

  • 0: Indica que o temporizador watchdog está desativado.
  • 1: Indica que o temporizador watchdog está ativado.

Você deve ver uma saída semelhante a esta:

0

Isso significa que o temporizador watchdog está atualmente desativado neste ambiente. Compreender o status do watchdog é o primeiro passo para gerenciá-lo.

Clique em Continuar para prosseguir para a próxima etapa.

Verificar o watchdog em dmesg

Nesta etapa, examinaremos o buffer de mensagens do kernel usando o comando dmesg. dmesg exibe mensagens do kernel, que são geradas durante a inicialização e operação do sistema. Essas mensagens geralmente contêm informações sobre a detecção de hardware, carregamento de drivers e eventos do sistema, incluindo a inicialização do temporizador watchdog.

Usaremos dmesg e canalizaremos sua saída para grep para filtrar mensagens relacionadas ao watchdog. A canalização (|) envia a saída de um comando como entrada para outro comando.

Digite o seguinte comando em seu terminal e pressione Enter:

dmesg | grep -i watchdog

Vamos detalhar este comando:

  • dmesg: Exibe o buffer de mensagens do kernel.
  • |: O operador pipe, enviando a saída de dmesg para grep.
  • grep: Um utilitário de linha de comando poderoso para pesquisar conjuntos de dados de texto simples por linhas que correspondem a uma expressão regular.
  • -i: Uma opção para grep que ignora distinções de maiúsculas e minúsculas no padrão.
  • watchdog: O padrão que estamos procurando nas mensagens do kernel.

A saída mostrará quaisquer mensagens do kernel que contenham a palavra "watchdog", independentemente de maiúsculas e minúsculas. Se o driver watchdog foi carregado ou inicializado durante a inicialização, você poderá ver uma saída semelhante a esta (a saída exata pode variar dependendo do sistema):

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

Se você vir uma saída como esta, isso indica que o kernel detectou e inicializou um dispositivo watchdog. Se você não vir nenhuma saída, pode significar que o driver watchdog não foi carregado ou não está presente neste sistema.

Este comando é útil para verificar se o kernel está ciente e interagindo com um dispositivo watchdog.

Clique em Continuar para prosseguir.

Inspecionar o serviço watchdog em /etc/systemd

Nesta etapa, procuraremos arquivos de configuração relacionados ao serviço watchdog dentro do diretório /etc/systemd. systemd é um gerenciador de sistema e serviços para Linux, e geralmente gerencia serviços como o watchdog. Arquivos de configuração para unidades systemd (como serviços) são normalmente armazenados em /etc/systemd/system/.

Usaremos o comando ls para listar arquivos e, em seguida, grep para pesquisar arquivos contendo "watchdog" em seus nomes dentro do diretório /etc/systemd/system/.

Digite o seguinte comando em seu terminal e pressione Enter:

ls /etc/systemd/system/ | grep watchdog

Vamos detalhar este comando:

  • ls /etc/systemd/system/: Lista o conteúdo do diretório /etc/systemd/system/.
  • |: O operador pipe, enviando a saída de ls para grep.
  • grep watchdog: Pesquisa por linhas contendo a palavra "watchdog".

Se um serviço watchdog estiver configurado usando systemd, você poderá ver uma saída semelhante a esta:

watchdog.service

Isso indica que um arquivo de serviço systemd chamado watchdog.service existe, que provavelmente é responsável por gerenciar o temporizador watchdog. A presença deste arquivo sugere que a funcionalidade watchdog pode ser controlada e configurada através do systemd.

Se você não vir nenhuma saída, significa que não há um arquivo de serviço systemd explicitamente nomeado com "watchdog" neste diretório. Isso não significa necessariamente que o watchdog não esteja ativo, mas sugere que ele não está sendo gerenciado por um arquivo de unidade de serviço watchdog systemd padrão neste local.

Compreender onde os serviços watchdog estão configurados é importante para gerenciar seu comportamento.

Clique em Continuar para finalizar este laboratório.

Resumo

Neste laboratório, aprendemos como verificar o status do watchdog do kernel no Linux. Começamos usando o comando cat /proc/sys/kernel/watchdog para determinar se o temporizador watchdog está habilitado ou desabilitado, observando que um valor de 0 indica desabilitado e 1 indica habilitado.

Em seguida, exploramos o buffer de mensagens do kernel usando dmesg e canalizamos a saída para grep -i watchdog para pesquisar mensagens relacionadas ao temporizador watchdog, o que pode fornecer informações sobre sua inicialização e status durante a inicialização do sistema.