Der häufigste Grund, dass die Speicherkarte defekt ist, ist, dass der Raspi nicht sauber runter gefahren wurde. Schaltest du den Raspi einfach aus, während gerade Daten geschrieben werden, kann das Dateisystem beschädigt werden. Mit log2ram lässt das Problem abmildern.
Was macht log2ram?
log2ram tut genau das, was der Name sagt: Es richtet eine RAM-Disk ein, so dass die Logfiles nicht mehr auf die MicroSD Karte geschrieben werden, sondern in den Hauptspeicher. Dadurch gibt es signifikant weniger Schreibzugriffe auf die Karte und die Lebensdauer verlängert sich.
log2ram installieren
Die folgende Anleitung kannst direkt nach der Inbetriebnahme und Einrichtung eines neuen Raspberry Pi durchführen.
Wir starten damit, deinen Raspi zu aktualisiere.
sudo apt-get update
sudo apt-get dist-upgrade
Als nächstes nehmen wir das Repository für log2ram in unsere Paketliste auf
echo "deb http://packages.azlux.fr/debian/ bullseye main" | sudo tee /etc/apt/sources.list.d/azlux.list
Solltest du noch Debian 10 benutzen, änderst du bullseye
in buster
, für Debian 12 trägst du bookworm
ein.
Zu einem neuen Repository gehört ein Publickey, um seine Authentizität zu überprüfen.
wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
Jetzt wieder die Repository Liste aktualisieren.
sudo apt-get update
Und log2ram installieren.
sudo apt install log2ram
Zuletzt solltest du deinen Raspi neu starten
sudo reboot now
Nach dem erfolgten Neustart, überprüfe den Status von log2ram
sudo systemctl status log2ram
Die Logfiles werden jetzt in der RAM-Disk aktualisiert und nur beim Runterfahren des Raspis auf die Speicherkarte geschrieben. Wenn du den Raspi jetzt einfach ausschaltest sind die geänderten Logfiles zwar weg, dafür sinkt die Wahrscheinlichkeit, dass dabei das Dateisystem beschädigt wird gewaltig.
Konfiguration
In der Konfigurationsdatei /etc/log2ram.conf
kannst du verschiedene Parameter einstellen.
sudo vi /etc/log2ram.conf
SIZE
=99M gibt an, wie groß die RAM-Disk ist. Ich empfehle dir den voreingestellten Wert zu erhöhen abhängig vom Gesamt-RAM und Nutzung. Ich setze den Wert auf 1024M bei 8GB HauptspeicherPATH_DISK
=/var/log gibt an, wo im Dateisystem die Logfiles liegen. Diesen Wert solltest du nur ändern, wenn wirklich notwendig. Du könntest hiermit die Logfiles nicht auf die Speicherkarte schreiben lassen sondern auf ein externes Laufwerk oder NAS.COMP_ALG
=lz4 Hier kannst du den Kompressionsalgorithmus einstellen, mit denen die Logfiles in der RAM-Disk komprimiert werden.LOG_DISK_SIZE
= gibt die maximale Größe der unkomprimierten RAM-Disk an. Ich lasse den üblicherweise auf der Voreinstellung
log2ram verringert zwar den nutzbaren Hauptspeicher, erspart die dabei aber viel Ärger, den Raspi wieder neu aufzusetzen, falls die MicroSD Karte einen Defekt aufweist.