Linux Kernel Watchdog
O watchdog do kernel Linux é usado para monitorar se um sistema está rodando. É suposto reiniciar automaticamente os sistemas suspensos devido a erros de software irrecuperáveis. O módulo watchdog é específico para o hardware ou chip que está sendo usado. Os usuários de computador pessoal não precisam de watchdog, pois podem reiniciar o sistema manualmente. No entanto, é útil para sistemas de missão crítica e precisam da capacidade de reinicializar sem intervenção humana. Por exemplo, servidores em um local remoto ou equipamentos integrados em uma espaçonave que precisam de recursos de reinicialização automática de hardware.
Aviso: Prossiga com Cuidado
Configurações erradas de um watchdog em seu sistema podem causar problemas como:
- Loop de reinicialização sem fim
- Arquivo corrompido devido ao hard reset
- Reinicializações aleatórias imprevisíveis
Portanto, evite usar servidores ativos para testar o watchdog do kernel do Linux.
Módulo Watchdog
A funcionalidade de watchdog no lado do hardware configura um cronômetro que atinge o tempo limite após um período predeterminado. O software watchdog então atualiza periodicamente o cronômetro do hardware. Se o software parar de atualizar, após o período predeterminado, o cronômetro executa uma reinicialização de hardware do dispositivo. Para que um temporizador de watchdog funcione, o fabricante da placa-mãe precisa usar a funcionalidade de watchdog do chip. Muitas vezes, a documentação do fabricante não é clara sobre se a funcionalidade foi implementada. Nesse caso, você tem que testá-lo.
Além disso, você precisa do módulo do kernel de watchdog correto para ser carregado em seu sistema Linux. Chips diferentes usam módulos diferentes. Por exemplo:
- Os chipsets Intel podem usar o módulo “iTCO_wdt”
- O hardware HP pode usar “hpwdt”
- Os mainframes IBM podem usar “vmwatchdog”
- Xen VM pode usar “xen_wdt”
Depois que o módulo é carregado, você pode verificar / dev / watchdog no sistema Linux. Se este arquivo estiver presente, isso significa que o driver de dispositivo do kernel watchdog ou módulo foi carregado. O sistema continua gravando em / dev / watchdog periodicamente. Também é chamado de “chutar ou alimentar o cão de guarda”. Se o sistema falhar em chutar ou alimentar o watchdog, então, depois de um tempo, o sistema é reinicializado a frio.
Watchdog Daemon
O daemon watchdog abre o dispositivo e fornece a atualização necessária para evitar que o sistema reinicie. Ele pode testar o espaço de tabela de processo, uso de memória, acessibilidade de arquivo, sobrecarga de trabalho, estouro de tabela de arquivo, ping de endereço IP, tráfego de interface de rede, temperatura, processos em execução e muito mais. Se os testes falharem, o watchdog causará um desligamento.
Iniciando e parando o Watchdog
O daemon do watchdog deve iniciar no momento da inicialização e se colocar em segundo plano. Você pode verificar se ele está funcionando:
ps -af | grep watch *Se o kernel NÃO está compilado com CONFIG_WATCHDOG_NOWAYOUT, então se você fechar o / dev / watchdog apropriadamente, ele não causará uma reinicialização. Você pode escrever o caractere V em / dev / watchdog e então fechar o arquivo. Isso deve parar o watchdog.
Testando o Watchdog
Se quiser testar se o watchdog de hardware está funcionando, você pode fazer o seguinte no prompt de comando do administrador:
cat >> / dev / watchdogE pressione “enter” duas vezes e espere. O prompt não vai voltar. Depois de algum tempo dependendo da configuração do seu kernel, o sistema deve realizar a reinicialização forçada.
Referências:
- http: // manpages.ubuntu.com / manpages / zesty / man8 / watchdog.8.html
- http: // www.madore.org / ~ david / linux / iTCO-wdt-test.html
- http: // www.sentado.Dundee.ac.uk / psc / watchdog / watchdog-background.html
- http: // www.sentado.Dundee.ac.uk / psc / watchdog / watchdog-install.html
- http: // www.sentado.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 / enable-and-configuring-watchdog-timer-app-note.pdf
- https: // www.suse.com / support / kb / doc /?id = 7016880
- https: // www.tutoriais.com / docs / linux / man / 8-watchdog /