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.