Hey :thumbs1:
Es gibt diverese Möglichkeiten unsere Frucht noch weiter aufzumotzen bzw solider zu machen.
Da mein Pi ab und an mal crasht hab ich mich gefragt in wie weit diverse Schritte s.u. Sinn machen. Hat schon jemand Erfahrungen damit ?
Schreibzugriff auf SD-Karte reduzieren
Werden bestimmte Dateien regelmäßig erstellt oder geändert, z.B. Bilddateien einer Webcam, sollten diese möglichst ausgelagert werden (RAM, NAS, USB-Speicher). Aber auch bereits im normalen Betrieb gibt es unter Linux Verzeichnisse (z.B. /var/log), die systembedingt ständiger Zugriffe ausgesetzt sind. Für einiger dieser Systemverzeichnisse kann es daher sinnvoll sein, diese ins RAM auslagern.
Um z.B. /var/log und /var/run in den Arbeitsspeicher auszulagern, müssen folgende Einträge in der /etc/fstab hinzugefügt werden:
none /var/run tmpfs size=5M,noatime 00
none /var/log tmpfs size=5M,noatime 00
Hinweis: Verlagert man Dateien und Ordner RAM, so sollte man sich darüber im Klaren sein, dass diese nach einem Neustart nicht mehr verfügbar sind.
Swapping deaktivieren
Der Raspberry Pi verfügt von Haus aus über recht begrenzten Speicher. Für Speicherhungrige Anwendungsfälle kann Swap-Speicher deshalb sinnvoll sein.
In meinen Fall ist der zur Verfügung stehende Speicher jedoch mehr als ausreichend und eine Vollauslastung ist nicht zu erwarten. Um die Zugriffe auf die SD-Karte weiter zu reduzieren, kann daher Swapping mit folgenden Befehlen deaktiviert werden:
sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall
sudo update-rc.d dphys-swapfile remove
Watchdog
Der auf dem Raspberry Pi verbaute BCM2708 von Broadcom verfügt standardmäßig bereits über einen Hardware-Watchdog, der das System im Problemfall neu starten kann. Um diesen zu nutzen, wird ein Kernelmodul und ein Daemon benötigt.
Funktionsweise:
Der Daemon teilt dem Watchdog in regelmäßigen Intervallen mit, dass das System funktioniert. Kommt es nun zu einem Problem und das System hängt sich auf, erhält der Watchdog keine Nachrichten mehr und setzt daraufhin das System zurück.
Watchdog aktivieren und einrichten:
Laden des Kernelmoduls und anschließende Installation des Deamons:
$ sudo modprobe bcm2708_wdog
$ echo "bcm2708_wdog" | sudo tee -a /etc/modules
$ sudo apt-get install watchdog
Anschließend muss noch die Konfigurationsdatei des Watchdog-Daemon angepasst werden, um die Gerätedatei des Watchdogs und die Bedingungen für einen Reset festzulegen.
$ sudo vi /etc/watchdog.conf
In der Konfigurationsdatei müssen folgende beiden Zeilen auskommentiert werden (Raute-Zeichen am Anfang der Zeile entfernen):
watchdog-device = /dev/watchdog
max-load-1 = 24
Zum Abschluss der Konfiguration muss der Watchdog-Daemon nun noch neu gestartet werden. Fertig.
$ sudo /etc/init.d/watchdog restart