Insbesondere wenn eine Wetterstation mit dem Raspberry Pi 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 Sie dann noch zeitgesteuerte Prozesse haben, die auch Dateien beschreiben, ist ein schneller 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
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
sudo 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.