Raspberry Pi SD-Karte auf NAS sichern = Pi-Backup

Quelle: https://www.hagenfragen.de/sonstiges/raspberry-pi-sd-karte-auf-nas-sichern-pi-backup.html

SD Karten haben leider nur eine begrenzte Lebensdauer. Diese hängt maßgeblich von der Anzahl der Lese- und vor allem der Schreibzugriffe ab. Linux schreibt jedoch die ganze Zeit Einträge in diverse Log-Files. Desto mehr Programme, desto schlimmer. Besonders übel sind Datenbanken. Was tun wir dagegen? Eigentlich lässt sich nicht wirklich was dagegen unternehmen. Im Netz kursieren viele Scripte die alle Schreiboperationen von Logs in’s RAM verlagern, davon halte ich persönlich wenig, weil: Strom weg = RAM weg = Daten & Logs weg = Keine Möglichkeit Ursachenforschung oder Fehler zu suchen.
Also, was hilft? Das gute alte Backup:

Backup auf einen Datenträger im Netzwerk.

Zuerst legen wir mal auf unserem NAS einen Nutzer und einen Order für das Backup an:

Neuen backup user anlegen
Backup Ordner anlegen
Datei und Ordner Rechte setzen – Nur der Backup User darf zugreifen

Jetzt hängt es davon ab, welche Zugriffe das NAS erlaubt. Mein Qnap kann NFS, SMB, SFTP. Ich nehme für das erste Backup zum Testen NFS, weil es das performanteste (und älteste aber auch das unsicherste) Protokoll ist. Wie NFS für ein QNAP-NAS geht steht hier.
Also bringen wir NFS auf dem Raspberry Pi mal an den Start:

# nfs pakete installieren
sudo apt install nfs-common time bzip2 
# mount Verzeichnis erstellen
sudo mkdir /media/nas
# exportierte NAS Feigaben prüfen
# mit IP
sudo showmount -e 192.168.4.183
# oder DNS Namen
sudo showmount -e nas.fritz.box
# sieht dann so aus: (ich setzte es mal hinter eine # falls jemand den Block einfach nur kopiert ohne zu lesen ;-)
#Export list for 192.168.4.183:
# /backup *
# /Public *
# /Upload  *
# Sieht gut aus, also mounten wir das NFS
sudo mount -t nfs -o rw,soft,nolock nas.fritz.box:/backup /media/nas
# von mount kommt kein Okay oder sowas. Wenn kein Fehler kommt hat's funktioniert
cd /media/nas/
touch hello-nas
# jetzt sollte auf dem NAS die Datei hello-nas sichtbar sein
# damit wir jetzt gleich nicht auf das Backup warten müssen oder das Terminal offen lassen müssen
# starten wir mit screen ein virtuelles Terminal
screen
# und starten das eigentliche Backup
sudo time dd if=/dev/mmcblk0 of=/media/nas/backup_$(hostname)_$(date +%Y-%m-%d_%H-%M-%S).img bs=1MB
# das dauert jetzt ne Weile und time zeigt und wie lange genau
# Das erstellte Image ist so groß wie die Speicherkarte, daher komprimieren wir es mit bzip
bzip2 -7 *img

Nachdem bzip2 fertig ist, ist das Backup fertig und auf dem NAS gesichert. Es kann im Falle eines Ausfalls der SD Karte einfach mit einem Tool wie Etcher auf eine neue SD-Karte kopiert werden.

Related Post