Eu possuo um cão de guarda?

11

Muitas vezes, quando faço uma reinicialização, recebo a seguinte mensagem de erro:

kernel: watchdog watchdog0: watchdog did not stop!

Tentei descobrir mais sobre o watchdog man watchdog, mas ele diz que não há entrada manual. Eu tentei yum list watchdoge descobri que não estava instalado. No entanto, quando olho para o /devdiretório, encontrei dois cães de guarda:

watchdog e watchdog0

Estou curioso. Eu realmente possuo algum cão de guarda? Por que o kernel reclama que não parou quando eu reinicializei?

Pergunta Overflow
fonte

Respostas:

7

O hardware de PC mais moderno inclui facilidades de timer de vigilância. Você pode ler mais sobre eles aqui na wikipedia: Watchdog Timers . Também a partir dos documentos do kernel do Linux:

trecho - https://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt

Um Watchdog Timer (WDT) é um circuito de hardware que pode redefinir o sistema do computador em caso de falha do software. Você provavelmente já sabia disso.

Normalmente, um daemon de espaço de usuário notifica o driver de watchdog do kernel através do arquivo de dispositivo especial / dev / watchdog que o espaço de usuário ainda está ativo, a intervalos regulares. Quando essa notificação ocorre, o driver normalmente diz ao watchdog de hardware que tudo está em ordem e que o watchdog deve esperar mais um pouco para redefinir o sistema. Se o espaço do usuário falhar (erro de RAM, bug do kernel, qualquer que seja), as notificações deixarão de ocorrer e o watchdog de hardware redefinirá o sistema (causando uma reinicialização) após o tempo limite.

A API de vigilância do Linux é uma construção bastante ad-hoc e diferentes drivers implementam partes diferentes e, às vezes, incompatíveis. Esse arquivo é uma tentativa de documentar o uso existente e permitir que futuros gravadores de driver o usem como referência.

Este SO Q&A intitulado, Quem está atualizando o watchdog de hardware no Linux? , abrange a ligação entre o kernel do Linux e o cronômetro do watchdog de hardware.

E o pacote watchdog?

A descrição no RPM deixa isso bem claro, IMO. O watchdogdaemon pode atuar como um watchdog de software ou pode interagir com a implementação de hardware.

trecho da descrição do RPM

O programa watchdog pode ser usado como um poderoso daemon de watchdog de software ou pode ser usado alternadamente com um dispositivo de watchdog de hardware, como a interface do driver de watchdog de hardware IPMI para um BMC (Baseboard Management Controller) residente. o watchdog grava periodicamente em / dev / watchdog; o intervalo entre gravações em / dev / watchdog é configurável através das configurações no arquivo sysconfig do watchdog.

Esse arquivo de configuração também é usado para definir o watchdog para ser usado como um watchdog de hardware em vez de sua operação padrão de watchdog de software. Nos dois casos, se o dispositivo estiver aberto, mas não for gravado dentro do período configurado, a expiração do cronômetro do watchdog acionará a reinicialização da máquina. Ao operar como um watchdog de software, a capacidade de reinicializar dependerá do estado da máquina e será interrompida.

Ao operar como um cão de guarda de hardware, a máquina experimentará uma reinicialização total (ou qualquer ação que tenha sido configurada para ser executada após a expiração do timer do cão de guarda) iniciada pelo BMC.

slm
fonte
Obrigado, o documento do kernel é útil. Para esclarecer, isso significa que o kernel possui um cão de guarda e o usuário, eu, não possui um, pois eu não instalei nenhum?
Pergunta Overflow
1
@QuestionOverflow - como eu o entendo, o sistema fornece a facilidade de vigilância (é essencialmente hardware). O kernel, portanto, o possui e gerencia esse hardware da mesma forma que faria com qualquer outra peça de hardware dentro do sistema. Você interage com o usuário através do kernel, mas não o possui em nenhuma capacidade oficial. Você é simplesmente um consumidor disso. Os WDTs são usados ​​como proteção embutida, caso o software em execução amarre o hardware de formas imprevistas. Eles são um mecanismo de segurança que permite ao sistema a capacidade de se recuperar.
slm
Entendo ... Mas parece que sou capaz de interagir com ele diretamente se eu instalar o watchdog. Parece haver um arquivo de configuração /etc/watchdog.confpara alterar seu comportamento diretamente.
Pergunta Overflow
@QuestionOverflow - dê uma olhada na descrição do watchdog no RPM. Isso explica tudo. Vou adicioná-lo ao meu A.
slm