Il servizio watchdog

Tempo di lettura: 2 minuti
Aggiornata 9 mesi fa

Da oggi su tutti i Cloud Server HA, sui Cloud Server NG e su tutte le istanze virtuali dei vostri private cloud NG avrete a disposizione una nuova funzionalità che garantirà un ripristino automatico del sistema in caso di kernel panic o fuori ram. Il servizio di watchdog è supportato da tutti gli OS Linux che mettiamo a disposizione: CentOS, Debian e Ubuntu.

Cos’è il Linux Kernel Watchdog?

Il Linux Kernel watchdog è un modulo del kernel utilizzato per monitorare se un sistema sta funzionando correttamente. Esso dovrebbe intervenire autonomamente riavviando il sistema in condizioni di kernel panic o di fuori ram, in caso ci sia un eccessivo carico o, più in generale, nel caso in cui la macchina non risponda.

Attenzione! Configurazioni errate del sistema di watchdog possono causare problemi come:

  • loop di riavvio senza fine
  • corruzione di dati dovuti agli arresti forzati
  • riavvii casuali non previsti

Vi consigliamo quindi di non modificare i parametri del servizio se non siete sicuri al 100%.

Il modulo watchdog

Ci sono due timer che watchdog utilizza: uno hardware e uno software. Al termine del timer software, questo fa ripartire il timer hardware. In caso il timer software non effettui l’azzeramento di quello hardware, viene effettuato un reset hardware  del sistema.

Per verificare che watchdog sia correttamente caricato nel sistema controllate che esista il file /dev/watchdog. Il sistema continuerà a scrivere all’interno di /dev/watchdog, e in caso fallisca la sua scrittura, dopo un po’ verrà riavviato.

Il demone watchdog

Il demone watchdog fornisce il refresh necessario (software) per evitare che il sistema venga riavviato. Esso può testare l’accessibilità a file, carico del server (CPU e I/O), raggiungibilità di IP via ping, traffico di rete, temperatura, processi i esecuzione e molto altro. Se uno di questi test fallisce, il watchdog effettua il riavvio del server.

Start e Stop di watchdog

il servizio watchdog dovrebbe partire al boot del server, è possibile controllare che il processo sia in esecuzione tramite il seguente comando:

ps -af | grep watch*

E’ possibile stoppare comunque il servizio di watchdog tramite i soliti comandi:

service watchdog stop
service watchdog start

Modificare il comportamento di watchdog

Potete modificare a vostro piacimento il comportamento di watchdog attivando, per esempio, il riavvio del server in base al carico di lavoro.

Il file da modificare è /etc/watchdog.conf e, per esempio, per attivare il riavvio con un carico al di sopra di 10 punti sulla media dei 5 minuti, impostate il seguente valore sul file di conf.:

max-load-5=10

Un volta modificati i valori del file di configurazione, stoppare e riavviare il servizio:

service watchdog stop 
service watchdog start

Per tutti i parametri disponibili vi rimandiamo al manuale: https://linux.die.net/man/5/watchdog.conf

Stampa questa guida