Autor Thema: [HowTo] /dev/watchdog auf BBB oder RasPi für Neustart im Fehlerfall nutzen  (Gelesen 38348 mal)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13500
  • Das "S" in "IoT" steht für "Security"
Sowohl der Beaglebone Black als auch der RaspberryPi verfügen über einen hardwareseitig eingebauten watchdog, der das gesamte System im Fehlerfall automatisch neu booten kann. Die Nutzung ist recht einfach, ich will das hier kurz beschreiben.

Installation der Kernelmodule für den Watchdog:

1. Für den Beaglebone Black unter Debian i.d.R. nicht notwendig, da bereits installiert.

2. Für den Raspberry Pi auf der Systemkonsole folgende zwei Befehle ausführen:


$ sudo modprobe bcm2708_wdog
$ echo "bcm2708_wdog" | sudo tee -a /etc/modules


Das watchdog device findet man als /dev/watchdog das kann man mit


$ ls -al /dev/watchdog


kontrollieren. Das watchdog device funktioniert in der Art, dass es nach dem erstmaligen Öffnen und Beschreiben alle 60 Sekunden beschrieben werden möchte. Bleibt dieses Beschreiben für 60 Sekunden aus, wird ein Reboot ausgelöst.

Wer das testen möchte:


$ sudo cat > /dev/watchdog
   (damit wird das Device geöffnet.

Jetzt einmal <enter> drücken
   (damit wird das Device erstmalig beschrieben)

nun warten und auf die Uhr schauen :)
   nach 60 Sekunden sollte der Neustart erfolgen.



Installation des Watchdog Dämon

Der Watchdog Dämon übernimmt die Funktion des regelmäßigen Beschreibens von /dev/watchdog, er tut dies anhand Kriterien, die man in einer conf-Datei vorgibt.


$ sudo apt-get install watchdog


Damit wird der Dämon installiert, aber noch nicht gestartet.

Denn nun müssen wir dem Dämon noch eine Konfiguration verpassen, damit er weiss, wie er das laufende System überwachen soll.


$ sudo nano /etc/watchdog.conf

In dieser Datei müssen zumindest die beiden folgenden Zeilen aktiviert werden, dazu würd das # am Anfang der Zeile entfernt.

watchdog-device        = /dev/watchdog
max-load-1             = 24

Der Rest der Datei bleibt vorerst unangetastet.


Bei mir habe ich die Überwachung so gelöst, dass ich watchdog auf eine Datei prüfen lasse, von der ich genau weiss, dass fhem sie (bei mir) regelmäßig beschreibt. Per at-Definition werden bei mir sämtliche states aller Devices alle 30 Minuten gesichert. Ich habe also eine Datei fhem.save in /opt/fhem/log die sich alle halbe Stunde ändert. Perfektes Futter für den watchdog :)

In die watchdog.conf kommen also noch diese beiden Zeilen:


file = /opt/fhem/log/fhem.save
change = 2000


Also wenn sich die Datei 2000 Sekunden lang nicht ändert, geht der watchdog Dämon davon aus, dass irgendwas nicht stimmt und führt den Neustart durch.


Nun müssen wir den Watchdog noch starten:


$ /etc/init.d/watchdog start


Die Einbindung in die Runlevel wird bereits bei der Installation durchgeführt, es wird aber bei der Installation kein Starten durchgeführt.



Es gibt /dev/watchdog auch auf Fritzboxen. Ich weiß allerdings nicht, ob es den Dämon dort auch gibt bzw. ob er nachträglich installiert werden kann.

Wer genau wissen möchte, was der Dämon alles überwachen kann, sei auf die manpage von watchdog.conf verwiesen.

http://linux.die.net/man/5/watchdog.conf

Warnung! Warnung! Warnung! Warnung! Warnung!

Ich warne ausdrücklich vor der Nutzung der Netzwerktests (interface oder ping) auf Einplatinencomputern! Damit hat man sich schneller ausgesperrt, als man denkt, denn oft schlägt der watchdog schneller zu als die Zeit, die das Netzwerkdevice braucht, um nach einem Neustart betriebsbereit zu sein. Vor allen Dingen, wenn es sich um WLAN Sticks oder sonstige per USB angeschlossene Komponenten handelt.
« Letzte Änderung: 30 April 2014, 17:39:13 von betateilchen »
Könnt Ihr bitte damit aufhören, mir wegen jedem Mist eine email zu schicken, um mich auf irgendwelche Forum-Threads hinzuweisen? Danke.
-----------------------
Nächster Hamburg-Stammtisch: 15.12.2017
Gefällt mir Gefällt mir x 4 Hilfreich Hilfreich x 3 Liste anzeigen

Offline Luigi

  • Jr. Member
  • **
  • Beiträge: 71
Ich hab ein Problem mit meinem BBB, er bleibt nach einem Neustart hängen, alle blauen LEDs leuchten. Erst wenn ich ihn vom Strom trenne und wieder anschließe startet er neu.

Was könnte das sein?

Gruß
Luigi

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13500
  • Das "S" in "IoT" steht für "Security"
startest Du Deinen BBB von microSD oder vom internen Flash?
Könnt Ihr bitte damit aufhören, mir wegen jedem Mist eine email zu schicken, um mich auf irgendwelche Forum-Threads hinzuweisen? Danke.
-----------------------
Nächster Hamburg-Stammtisch: 15.12.2017

Offline Billy

  • Sr. Member
  • ****
  • Beiträge: 946
Und wie wird er mit Strom versorgt?
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink 13x PCA 301;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 1x KFM100, 3x HM-LC-SW1-PL2, ESP8266, Sonoff

Offline Luigi

  • Jr. Member
  • **
  • Beiträge: 71
Wird vom internen Flash gestartet, Stromversorgung mit 2A Netzteil

Gesendet von meinem GT-I9505G mit Tapatalk 2


Offline Billy

  • Sr. Member
  • ****
  • Beiträge: 946
Zitat
Stromversorgung mit 2A Netzteil

Über miniusb oder 5v power jack?
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink 13x PCA 301;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 1x KFM100, 3x HM-LC-SW1-PL2, ESP8266, Sonoff

Offline Luigi

  • Jr. Member
  • **
  • Beiträge: 71
Über MiniUSB!

Offline Billy

  • Sr. Member
  • ****
  • Beiträge: 946
Zitat
Über MiniUSB!
Das dürfte das Problem sein! Dafür gibts genügend Beispiele im Netz.

Geh mal über den 5V Power jack und schau was passiert!
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink 13x PCA 301;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 1x KFM100, 3x HM-LC-SW1-PL2, ESP8266, Sonoff

Offline Luigi

  • Jr. Member
  • **
  • Beiträge: 71
Hab nochmals nachgeschaut, die Stromversorgung erfolgt über den 5V Power jack.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13500
  • Das "S" in "IoT" steht für "Security"
Du bootest von Flash, ok. Trotzdem die Frage: Steckt zu diesem Zeitpunkt eine microSD Karte im BBB?

Die Spannungsversorgung lassen wir mal aussen vor.
Könnt Ihr bitte damit aufhören, mir wegen jedem Mist eine email zu schicken, um mich auf irgendwelche Forum-Threads hinzuweisen? Danke.
-----------------------
Nächster Hamburg-Stammtisch: 15.12.2017

Offline Luigi

  • Jr. Member
  • **
  • Beiträge: 71
Nein, es steckt keine microSD Karte im BBB!

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2822
  • ~ Challenging Innovation ~
Super spitze, genau das Thema schwirrte mir heute im Kopf herum und schwupp, siehe da...  :D
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, powerMap, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM 5.9dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs
ONKYO TX-NR626, Philips 55" PFL8008S, Sonos 1xS1, 1xS3, 2xS5

Offline Brockmann

  • Sr. Member
  • ****
  • Beiträge: 850
Kleine Ergänzung:
Habe versucht, anhand des Howtos auf meinem Raspi mit aktuellem Raspian watchdog zu installieren, was leider auf Anhieb nicht klappte:
insserv: There is a loop between service watchdog and mathkernel if stopped
Deshalb habe ich mit
sudo apt-get remove wolfram-engineden mathkernel deinstalliert. Danach ließ sich watchdog wie beschrieben installieren.

Nur falls jemand auf dasselbe Hindernis stößt...

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 13500
  • Das "S" in "IoT" steht für "Security"
Am Anfang der /etc/init.d/mathkernel folgende Zeilen einfügen:


### BEGIN INIT INFO
# Provides:          mathkernel
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: mathkernel
### END INIT INFO


dann sollte sich der watchdog auch in Kombination mit der wolfram-engine installieren lassen.
Könnt Ihr bitte damit aufhören, mir wegen jedem Mist eine email zu schicken, um mich auf irgendwelche Forum-Threads hinzuweisen? Danke.
-----------------------
Nächster Hamburg-Stammtisch: 15.12.2017

Offline nocomment

  • Full Member
  • ***
  • Beiträge: 123
Cooles HowTo!

Wie kann ich FHEM sagen das es alle 30 Minuten den aktuellen Status in die fhem.save schreibt?

Gruß,
Patrick

 

decade-submarginal