Watchdog Raspberry Pi – automatyczny restart

Co jeśli nasze Raspberry Pi się zawiesi? Należy je po prostu zrestartować, odłączając na chwilę z prądu. Co w przypadku kiedy Raspberry Pi ma działać przez całą dobę, jest środek nocy, a Malinka znajduje się 30 kilometrów od Ciebie? Jeśli nie lubisz nocnych wycieczek, warto zainteresować się tematem wbudowanego w Raspberry Pi – watchdoga.

Czym jest watchdog?

Watchdog jest modułem monitorującym pracę Raspberry Pi, którego zadaniem jest sprawdzanie czy urządzenie działa. Jeśli wykryje nieprawidłowość w jego pracy – wykonuje twardy restart. Tak jakby wyciągnąć na chwilę kabel od zasilania. Brzmi ciekawie? Jest takie w rzeczywistości.

Jak uruchomić watchdog na Raspberry Pi?

Najpierw należy zainstalować pakiet „watchdog”. Warto również dodać go do autostartu systemu:

sudo apt-get install watchdog
sudo systemctl enable watchdog

Następnie, edytujemy plik „/etc/watchdog.conf”. Możemy zastąpić domyślną treść konfiguracją:

max-load-1 = 24
watchdog-device = /dev/watchdog
watchdog-timeout = 10
interval = 2
realtime = yes
priority = 1

Nasze Raspberry Pi zrestartuje się automatycznie jak tylko średni load avarage dla 1 minuty osiągnie wartość 24. Jest to na tyle duża wartość, że nie będzie przeszkadzała w normalnej pracy urządzenia, a jeśli Raspberry Pi się zawiesi – load avarage zapewne osiągnie wartość wyższą niż 24. Pozostaje już tylko dokonać restartu naszego watchdoga poleceniem:

sudo systemctl restart watchdog

Jak sprawdzić czy watchdog działa poprawnie?

Dla testu możemy spróbować obciążyć naszego Raspberry Pi tak aby przekroczyć próg resetu urządzenia. W tym celu, możemy użyć fork bomby:

:(){ :|:& };:

Po wpisaniu powyższego polecenia w linii komend Raspberry Pi i odczekaniu kilku chwil – stracimy komunikację z urządzeniem. Zaraz jednak Raspberry Pi powinien się zrestartować i wszystko powinno działać poprawnie.