watchdog: basic configuration options don't work as expected

I run ubuntu 14.04 LTS and watchdog 5.13. My goal is to achieve following:

  • run external check script every 30 seconds
  • reboot if script fails during 300 seconds (e.g. 10 failed attempts in a row)

I am having issues with the most basic watchdog configuration:

$ cat /etc/watchdog.conf
watchdog-device = /dev/watchdog
watchdog-timeout = 300
interval = 30
test-binary = /usr/local/sbin/watchdog_check.sh
realtime = yes
priority = 1

$ cat /etc/default/watchdog
run_watchdog=1
run_wd_keepalive=1
watchdog_module="none"
watchdog_options="-c /etc/watchdog.conf --verbose"

According to syslog,

  1. watchdog-timeout is being set to 254s (discussed here).
  2. System reboots after first failure of test-binary.

Is it an expected behaviour or am I missing something?

P.S. At this moment I've implemented a 'wait until 10 failures' logic in my script itself.

0
задан 19 July 2016 в 16:57
1 ответ

Я не могу говорить о том, что сторожевой тайм-аут ограничен 254 секундами, но то, на что вы ссылаетесь, безусловно, объясняет это.

Сторожевые таймеры обычно не работают в "N сбоях" в режиме «подряд». При первых признаках ошибки они перезагружают машину, поэтому поведение, которое вы видите, соответствует моему ожиданию. Обычно они реализованы в аппаратном обеспечении, которое требует «щекотки» в течение заданного периода, в противном случае произойдет резкое выключение и перезагрузка машины без каких-либо предупреждений. Это сделано для спасения от паники ядра и т. Д.

0
ответ дан 5 December 2019 в 09:47

Теги

Похожие вопросы