So lebt mein Raspberry länger

Da ich immer mehr Raspberrys verwende, kam die Frage auf, wie lange (über-)lebt denn eigentlich ein Raspberry. Wäre doch blöd, wenn die Heizungssteuerung, der Strommonitor oder die Webcam einfach ausfallen würde. Das schwächste Glied dürfte die jeweilige SD Karte sein. Leider ist der Rasp so konzipiert, dass man nicht direkt von einem USB Stick booten kann. Die Boot Partition muss zwingend auf der SD Karte sein. Im Internet findet man ein paar Ansätze, wie man seine(n) Raspberrys einfach ein längeres Leben einhauchen kann. Im ersten Schritt habe ich 2 Veränderungen vorgenommen, die fstab verändert und ramlog installiert.

/etc/fstab anpassen

In der /etc/fstab wird beschrieben, wie und wo bestimmte Partitionen oder Device gemountet werden. as Root Filesystem wird mit den Optionen “defaults” gemounted, zusätzlich habe ich noch noatime und nodiratime angehängt. Dadurch wird verhindert, dass bei reinem Lesezugriff (Access) auf ein Dir/File bereits das Attribut “Accesstime” verändert und zugleich wieder auf die SD Karte geschrieben wird.

Ramlog installieren

Welches Programm schreibt denn am öftesten auf die SD Karte? Sicher die Daemons ins Log Verzeichnis . Natürlich sind Datenbanken auch oft schreib intensiv, wir wollen uns jedoch zuerst dem Verzeichnis /var/log widmen. Der einfachste Weg ist, den “/var/log” Bereich in eine Ramdisk zu verlagern. Dies ist eine virtuelle Disk im Ram System des jeweiligen Systems. Dadurch wird die SD Karte bzgl Schreib I/O entlastet. Als erstes besorgen wir uns die notwendigen Programme rsync, lsof und ramlog (aktuell Version 2.0.0) und installieren diese.

Dann wird in die gewünschte Größe des Ram Filesystems in /etc/defaults/ramlog eingetragen. Ich verwende momentan 50MB des Hauptspeichers dafür. Als nächstes müssen wir dafür sorgen, dass vor dem Start von Ramlog nicht bereits nach /var/log geschrieben wird. Dazu ändern wir die Startparameter des Rsyslog Daemon wie folgt ab.

Damit sagen wir dem Rsyslog, dass er vor seinem eigenen Start auf den Start von Ramlog warten muss (seeeehr vereinfacht ausgedrückt 😉 ). Als nächstes müssen wir noch an Hand der veränderten Header der Start Scripte die Reihenfolge der Starts in den jeweiligen Runlevel neu schreiben. Klingt jetzt etwas konfus, ist aber so 🙂 Mit

wird dies automatisch vom system erledigt. Anschließend noch ramlog starten.

Ihr müsst nun euren Raspberry neu starten. Der Autor meint sogar, dass man 2 mal durchstarten muss. Wichtig ist nur, dass in dem Logfile von Ramlog keine Fehler mehr stehen.

ramlog_ok

Ramlog meldet auch, sollte es Probleme beim Starten des Daemons geben. Wir bekommen auch den jeweiligen Verursacher geliefert.

ramlog_error

In diesem Fall ist der Übeltäter der rsyslogd. Ich hoffe mit diesen Veränderungen nun die Lebensjahre meiner SD Karten verlängert zu haben.

Comments are closed.