Debian watchdog (Stretch)
A hardver watchdog olyan szerkezet, amelyik igyekszik észlelni a számítógép "lefagyását" mely esetben (lehetőleg hardveresen) újraindítja azt. Az eszköz lehet hardver kártya, illetve integrálva lehet az alaplapi chipsetbe. Általában úgy működik, hogy inicializálás után elvárja, hogy az operációs rendszer (pl. egy portra írással) periodikusan jeleket adjon neki (heartbeat). Ha ez a jel az inicializálásnál beállított ideig kimarad, az eszköz resetel.
A szoftver watchdog olyan program, amelyik periodikusan figyel beállított paramétereket - load, ping time, stb. - és beállított határértékük meghaladása esetén szabályos újraindítást (reboot) végez. Ez tehát "lefagyott" gép esetén nem használható, arra az esetre való, amikor az operációs rendszer még működik, de a gép már semmi hasznosat nem csinál.
A Debian watchdog daemon mindkettőt kezeli. TODO: natív systemd megoldást keresni!
Tartalomjegyzék
Watchdog driver
Ha van a gépben hardware watchdog device (és a Debian tartalmazza hozzá a drivert), akkor használjuk azt; ha nincsen, akkor használjuk a software watchdog modult.
Intel chipset built-in
Intel chipset esetén (ICH4,5,6,7, stb.) - gyári kernellel - érdemes kipróbálni hogy van-e built-in watchdog:
ls /dev/watchdog # Ha megvan az eszköz, a továbbiakat átléphetjük. # Ha nincs device, vajon be van-e töltve a kernel modul? lsmod | grep iTCO_wdt # Ha nem lenne betöltve, próbáljuk meg: modprobe iTCO_wdt heartbeat=30
Siker esetén létezni fog a /dev/watchdog device. Ha szükséges, egy, a /etc/modules-load.d könyvtárbeli include állománnyal írjuk elő a kernel modul betöltését, hogy az már a rendszerindulástól elérhető legyen:
-rw-r--r-- root root /etc/modules-load.d/watchdog.conf iTCO_wdt heartbeat=30
Software watchdog
Ha nincs a gépben elérhető hardware watchdog (pl. virtuális gépen), akkor a softdog modult használhatjuk:
modprobe softdog
Ekkor létrejön a /dev/watchdog device. Siker esetén egy, a /etc/modules-load.d könyvtárbeli include állománnyal írjuk elő a modul betöltését, hogy az már a rendszerindulástól elérhető legyen:
-rw-r--r-- root root /etc/modules-load.d/watchdog.conf softdog
Watchdog beállítások
Ha sikerült megfelelő watchdog drivert találni, akkor telepíteni kell a watchdog Debian csomagot, ami induláskor elindítja a figyelést, majd ébren is tartja:
apt-get install watchdog
Az eredeti állomány elmentése után készítsünk egy alkalmas /etc/watchdog.conf-ot (szoftver watchdog beállítások):
mv /etc/watchdog.conf /etc/watchdog.conf.bak mcedit /etc/watchdog.conf
amelyben az alábbiakat írjuk elő:
-rw-r--r-- root root /etc/watchdog.conf watchdog-device = /dev/watchdog # This greatly decreases the chance that watchdog won't be scheduled before # your machine is really loaded realtime = yes priority = 1 # Uncomment to enable test. Setting one of these values to '0' disables it. # These values will hopefully never reboot your machine during normal use # (if your machine is really hung, the loadavg will go much higher than 25) max-load-1 = 24 max-load-5 = 18 max-load-15 = 12
Indítsuk újra a watchdog daemont:
systemctl restart watchdog; tail -f /var/log/syslog
Gyorsteszt: TODO!