RaspiLab Wetterstation Zugriffe auf SD-Karte minimieren und Lebensdauer erhöhen

Sei die erste, die diesen Beitrag teilt.

Insbesondere wenn eine Wetterstation ohne Wartung 7×24 Stunden laufen soll, ist etwas Augenmerk auf die Lebensdauer der Mikro-SD-Karte angezeigt. Linux neigt dazu, reichlich schreibend auf die SD-Karte zuzugreifen. Wenn dann noch zeitgesteuerte Prozesse haben, die auch Dateien beschreiben, ist einschneller Tod der SD-Karte vorprogrammiert. Der folgende Artikel zeigt, wie Sie die Lebensdauer Ihrer SD-Karte deutlich verlängern können, ohne große Komforteinbußen bei der Nutzung Ihres Raspberrys zu erleiden.

Bisher erschienene Artikel zur Raspilab Wetterstation

  1. Raspilab Wetterstation Grundsystem aufsetzen
  2. RaspiLab Wetterstation Zugriffe auf SD-Karte minimieren und Lebensdauer erhöhen
  3. RaspiLab Wetterstation sechste Mission Druck messen mit dem BMP280

Maßnahme 1: Ramdisk einrichten

Bei häufigen Schreibzugriffen leidet die SD-Karte, so dass eine Ramdisk eine deutliche Entlastung für die SD-Karte darstellen kann. Zudem sind die Zugriffszeiten auf eine Ramdisk schneller. Daher soll eine Ramdisk  die Logdateien und ggf. Daten aus eigenen Programmen aufnehmen.
Für die Ramdisk erzeugen Sie ein Verzeichnis ramdisk mit dem Befehl

sudo mkdir /mnt/ramdisk

und tragen dann in fstab mit

sudo nano /etc/fstab

die folgende Zeile ein:

tmpfs /mnt/ramdisk tmpfs nodev,nosuid,size=64M 0 0

Nach einen Reboot sollten Sie mit dem Befehl

df

die Ramdisk sehen in der Ausgabe (siehe vorvorletze Zeile):

Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
/dev/root 1845136 1082352 655124 63% /
devtmpfs 185492 0 185492 0% /dev
tmpfs 189784 0 189784 0% /dev/shm
tmpfs 189784 5104 184680 3% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 189784 0 189784 0% /sys/fs/cgroup
tmpfs 65536 0 65536 0% /mnt/ramdisk
/dev/mmcblk0p1 41853 21330 20523 51% /boot
tmpfs 37956 0 37956 0% /run/user/1000

Zuletzt ändern Sie noch die Zugriffsrechte mit

sudo chmod 777 /mnt/ramdisk

,so dass alle Prozesse in die Ramdisk schreiben können. Danach wird nach einem System (neu-) Start die Ramdisk immer wieder automatisch angelegt.

Maßnahme 2 – Letzen Zugriff auf Dateien nicht mitloggen

Ändern Sie mit

nano /etc/fstab

die entsprechende Zeile so ab:

/dev/mmcblk0p2 / ext4 defaults,nodiratime,noatime 0 1

Maßnahme 3 – Weitere Logs umleiten

Ebenfalls in /etc/fstab können Sie

none /var/log tmpfs size=5M,noatime 0

eintragen, dadurch werden Logeinträge in die Ramdisk umgeleitet.

Achtung: Ein Versuch nach Internet-Anleitungen , auch
none /var/run tmpfs size=5M,noatime 00
auf einem Raspberry Pi Zero W mit Raspbian Stretch einzutragen, führte dazu, dass login nicht mehr funktionierten und auch eine ssh-Verbindung nicht möglich war.

Maßnahme 4 – Swapping ausschalten

Ab Raspbian Jessie wird empfohlen, Swapping auszuschalten. Da in der Wetterstation keine aufwändigen Serverprozesse laufen und auch keine grafische Benutzungsoberfläche verwendet wird, könnte das ein weitere Beitrag zur Schonung der SD Karte sein[1]. Das Swapping schalten Sie mit den folgenden Befehlen aus:

sudo dphys-swapfile swapoff
sudo systemctl disable dphys-swapfile
sudo apt-get purge dphys-swapfile

Mit diesen vier Maßnahmen konnte erreicht werden, dass ein Beobachtungssystem seit 13 Monaten ohne Unterbrechung und ohne Wartung jede Minute ein Bild aufnimmt, in der Ramdisk zwischenspeichert und ins Internet lädt.

Weitere stabilisierende Maßnahmen für einen 7×12 Stunden Betrieb sind periodisches Reboot und das automatische Prüfen und Neustarten der WLAN-Verbindung wie im nachfolgenden Artikel beschrieben.

[1] Darüber hinaus sind weitere Maßnahmen möglich wie z.B. unter https://www.datenreise.de/raspberry-pi-stabiler-24-7-dauerbetrieb/ beschrieben.