Watchdog Daemon startet System z.B. beim Entpacken neu

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
phischmi
Beiträge: 4
Registriert: 28.11.2018 09:53:59

Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von phischmi » 28.11.2018 10:06:00

Hallo zusammen,

ich habe mir auf Basis eines Odroid HC2 und Armbian einen kleinen Homeserver aufgesetzt.
Damit der Server im Falle eines Fehlers automatisch neugestartet wird, nutze ich den Hardware-Watchdog des HC2 und den Watchdog-Daemon.
Grundsätzlich funktioniert das auch ganz - evtl. etwas zu gut :roll:

Wenn ich größere Archive entpacke (z.B. Nextcloud) oder über apt-get installiere kommt es verhätnismäßig häufig vor, dass das System während des Vorganges neustartet. Mit deaktiviertem Watchdog-Daemon läuft alles reibungslos.
Nun möchte ich jedoch nicht immer dran denken müssen, den Daemon zu deaktivieren, wenn ich z.B. ein größeres Archiv entpacken lasse...

Die watchdog-conf habe ich nur wie folgt angepasst:

Code: Alles auswählen

#ping = 172.31.14.1
#ping = 172.26.1.255
#interface = eth0
#file = /var/log/messages
#change = 1407

# 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

# Note that this is the number of pages!
# To get the real size, check how large the pagesize is on your machine.
#min-memory = 1
#allocatable-memory = 1

#repair-binary = /usr/sbin/repair
#repair-timeout = 60
#test-binary =
#test-timeout = 60

# The retry-timeout and repair limit are used to handle errors in a more robust
# manner. Errors must persist for longer than retry-timeout to action a repair
# or reboot, and if repair-maximum attempts are made without the test passing a
# reboot is initiated anyway.
#retry-timeout = 60
#repair-maximum = 1

watchdog-device = /dev/watchdog

# Defaults compiled into the binary
#temperature-sensor =
max-temperature = 89

# Defaults compiled into the binary
#admin = root
interval = 5
logtick = 2160
log-dir = /var/log/watchdog

# This greatly decreases the chance that watchdog won't be scheduled before
# your machine is really loaded
realtime = yes
priority = 1

# Check if rsyslogd is still running by enabling the following line
#pidfile = /var/run/rsyslogd.pid
Unter /var/log/watchdog werden im Übrigen auch keine logs abgelegt, obwohl ich dies ja so vorgegeben habe...


Vielen Dank für eure Hilfe!

VG

Philipp

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von MSfree » 28.11.2018 10:41:55

phischmi hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 10:06:00
Wenn ich größere Archive entpacke (z.B. Nextcloud) oder über apt-get installiere kommt es verhätnismäßig häufig vor, dass das System während des Vorganges neustartet.
Das hört sich nach Spannungsabfall bei hoher CPU-Belastung an. Eventuell brauchst du ein stärkeres Netzteil.
Unter /var/log/watchdog werden im Übrigen auch keine logs abgelegt, obwohl ich dies ja so vorgegeben habe...
Das liegt vermutlich daran, daß das Verzeichnis /var/log/watchdog nicht existiert :wink:

Code: Alles auswählen

mkdir /var/log/watchdog
sollte das Problem beheben.

phischmi
Beiträge: 4
Registriert: 28.11.2018 09:53:59

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von phischmi » 28.11.2018 11:04:43

MSfree hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 10:41:55
phischmi hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 10:06:00
Wenn ich größere Archive entpacke (z.B. Nextcloud) oder über apt-get installiere kommt es verhätnismäßig häufig vor, dass das System während des Vorganges neustartet.
Das hört sich nach Spannungsabfall bei hoher CPU-Belastung an. Eventuell brauchst du ein stärkeres Netzteil.
Habe den HC2 zusammen mit dem empfohlenen Netzteil (12V/2A) bei Pollin gekauft. Das sollte doch eigentlich reichen... :?
Und bei deaktiviertem Watchdog-Daemon funktioniert es ja.
Unter /var/log/watchdog werden im Übrigen auch keine logs abgelegt, obwohl ich dies ja so vorgegeben habe...
Das liegt vermutlich daran, daß das Verzeichnis /var/log/watchdog nicht existiert :wink:

Code: Alles auswählen

mkdir /var/log/watchdog
sollte das Problem beheben.
Das Verzeichnis existiert definitiv.

Benutzeravatar
hikaru
Moderator
Beiträge: 13585
Registriert: 09.04.2008 12:48:59

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von hikaru » 28.11.2018 11:14:42

Zum HC2 kann ich nichts sagen, aber auf dem Nokia N900 gibt es ein möglicherweise ähnliches Problem, mit dem leider nicht konfigurierbaren Watchdog. Dieser reagiert allerdings nicht direkt auf einen zu hohen CPU-Load, wie es deine Konfiguration nahelegt, sondern er erwartet ein ich-lebe-noch-Signal vom SoC und rebootet das Gerät, wenn dieses zu lange ausbleibt.
I/O-Load und/oder CPU-Last von Prozessen normaler Priorität scheinen dieses Signal beim N900 zu beeinträchtigen, daher hilft es, potenziell problematische Prozesse mit nice und ionice zu starten:

Code: Alles auswählen

nice -n 19 ionice -c 3 PROZESS
Vielleicht hilft das auch bei dir.

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von MSfree » 28.11.2018 11:48:50

phischmi hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 11:04:43
Habe den HC2 zusammen mit dem empfohlenen Netzteil (12V/2A) bei Pollin gekauft. Das sollte doch eigentlich reichen... :?
OK, 12V/2A sollte wirklich ausreichen. Ich habe nur einen Raspi und der wird mit 5V von einem USB-Steckernetzteil befeuert und die billigen knicken gerne mal unter hoher Last ein. Bei 2A Strom liegen dann gerne mal nur 4.6V Spannung an.
Und bei deaktiviertem Watchdog-Daemon funktioniert es ja.
Die Frage ist, warum der Watchdog dann auslöst.
Das Verzeichnis existiert definitiv.
Was sagt

Code: Alles auswählen

ls -l /var/log/watchdog
Wem gehört das Verzeichnis? Unter welchem Benutzer läuft der watchdog?
Eventuell mußt du mit chown den Besitzer von /var/log/watchdog anpassen.

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von MSfree » 28.11.2018 12:00:21

hikaru hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 11:14:42
Zum HC2 kann ich nichts sagen, aber auf dem Nokia N900 gibt es ein möglicherweise ähnliches Problem...
Hat der N900 nicht eine Single-Core CPU?

Da kann es natürlich schon passieren, daß ein Job den Kern so stark belastet, daß ein Taskswitch auf den Watchdog verzögert ankommt.

Heutige SBC haben (mal abgesehen vom Pi Zero) mindestens 2, eher 4 Kerne, da muß schon viel passieren, damit der Watchdog nicht mehr zum Zug kommt. OK, unter IO-Last und heftigem swappen ist man natürlich auch davor nicht sicher.

phischmi
Beiträge: 4
Registriert: 28.11.2018 09:53:59

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von phischmi » 28.11.2018 12:07:03

/var/log/watchdog ist leer und gehört root.
Der HC2 hat 8 Kerne :wink:

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von MSfree » 28.11.2018 14:39:54

phischmi hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 12:07:03
/var/log/watchdog ist leer und gehört root.
So, ich habe mir den watchdog gerade mal selbst installiert und man watchdog.conf angeschaut:

Code: Alles auswählen

log-dir = <log directory>
  Set  the  log  directory  to  capture  the  standard output and standard error from
  repair-binary and test-binary execution. Default is '/var/log/watchdog'.
Dort geht also nur das rein, was von den test und repair Programmen produziert wird. Ansonsten logt der Watchdog ganz normal ins Syslog bzw. ins Journal, das du mit

Code: Alles auswählen

journalctl | grep watchdog
untersuchen kannst.

phischmi
Beiträge: 4
Registriert: 28.11.2018 09:53:59

Re: Watchdog Daemon startet System z.B. beim Entpacken neu

Beitrag von phischmi » 29.11.2018 08:30:48

MSfree hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 14:39:54
phischmi hat geschrieben: ↑ zum Beitrag ↑
28.11.2018 12:07:03
/var/log/watchdog ist leer und gehört root.
So, ich habe mir den watchdog gerade mal selbst installiert und man watchdog.conf angeschaut:

Code: Alles auswählen

log-dir = <log directory>
  Set  the  log  directory  to  capture  the  standard output and standard error from
  repair-binary and test-binary execution. Default is '/var/log/watchdog'.
Dort geht also nur das rein, was von den test und repair Programmen produziert wird. Ansonsten logt der Watchdog ganz normal ins Syslog bzw. ins Journal, das du mit

Code: Alles auswählen

journalctl | grep watchdog
untersuchen kannst.
Danke! Das hatte ich tatsächlich falsch verstanden und war davon ausgegangen, dass der daemon dann eigene logfiles anlegt :facepalm:

Für das Problem der Neustarts unter Last hat sich im Odroid-Forum ebenfalls eine Lösung gefunden:
Ich starte den watchdog-daemon mit dem Parameter "-s" in /etc/default/watchdog
Dieser Parameter bewirkt einen Sync bei jedem Durchlauf. Dieser Sync kann bei hoher i/o-Last u.U. nicht beendet werden, was den watchdog das System neustarten lässt.
Ohne "-s" läuft's offenbar :)

Antworten