W tym artykule opisana została instalacja oraz konfiguracja Watchdog w systemie Raspbian na urządzeniu Raspberry Pi 2. Od ostatniej aktualizacji Raspbiana nie działa opis watchdoga z Malinowepi więc postanowiłem opisać po swojemu. Od nie dawna jestem w posiadaniu cudownego urządzenia jakim jest Raspberry Pi 2. Nie podłączam do malinki tv, monitora czy klawiatury, pracuje tylko i wyłącznie zdalnie przez ssh i vnc. Bardzo często się zdarza że malinka się zwyczajnie zawiesi, niestety jak pracujemy zdalnie nie mam do niej dostępu i dlatego polecam instalacje Watchdog.
Przystąpmy więc do instalacji i konfiguracji. Logujemy się do raspberry przez putty i wydajemy polecenie:
sudo modprobe bcm2835_wdt
Następnie edytujemy moduły dopisując na końcu bcm2835_wdt:
Zapisujemy plik modules i przechodzimy do instalacji oprogramowania watchdog wydając polecenie:
sudo apt-get install watchdog chkconfig
Następnie włączamy watchdog poleceniem:
sudo chkconfig watchdog on
Uruchamiamy usługę watchdog poleceniem:
sudo /etc/init.d/watchdog start
Na wszelki wypadek wydajemy polecenie:
sudo update-rc.d watchdog defaults
W kolejnym kroku edytujemy plik:
sudo mcedit /etc/default/watchdog
w którym zmieniamy wiersz watchdog_module=„none” na watchdog_module=„bcm2835_wdt”
Przechodzimy do konfiguracji pliku watchdog poleceniem:
sudo mcedit /etc/watchdog.conf
W tym pliku możemy ustawić mnóstwo rzeczy, np. żeby malinka restartowała się jeżeli nie będzie odpowiedzi pinga np. z wp.pl lub z routera, możemy również ustawić opcje max-load która po zawieszeniu się raspberry lub przepracowaniu (chodzi o przepełnienie procka) zrestartuje się. W tym celu odznaczamy # przed max-load-1 = 24
Następnie restartujemy raspberry poleceniem:
sudo shutdown –r now
Jak widać po restarcie watchdog nie włączył się, więc w tym celu dodamy do crona polecenie startu watchdog co minutę. W tym celu edytujemy plik crontab poleceniem:
sudo mcedit /etc/crontab
i dopisujemy na końcu linijkę:
* * * * * root /etc/init.d/watchdog start
Jak widać po minucie watchdog sam się włączył.