Raspberry Pi Backup erstellen – SD Karte sichern

Nach einigen meiner Raspberry Pi Tutorials kam die Frage auf, wie man die Projekte am Besten sichert, wenn sie funktionieren.
Zunächst einmal sollte man seinen Code immer in einer Versionsverwaltung sichern, wie zB Git oder Subversion.
Außerdem sollte man immer sobald etwas auf dem Raspberry läuft sofort eine Sicherung machen. Der Grund ist, dass SD Karten nicht ewig halten, wie im Artikel Pi Backup auf ein NAS beschrieben:

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.

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

Wenn man aber nicht nur die Daten sondern die gesamte SD Karte sichern will, also ein Vollbackup machen will, muss man anders vorgehen.

Wenn es nicht anders geht, kann den Raspberry Pi auch im Betrieb sichern.
Ich würde aber -wenn es geht- immer die hier beschriebene Lösung vorziehen.

https://www.hagenfragen.de/tipps-und-tricks/raspberry-pi-tipps/raspberry-pi-backup-der-sd-karte-im-betrieb.html

Raspberry Pi Vollbackup erstellen

in einfachen Schritten:

Wichtig: Den Raspberry mit der zu sichernden SD Karte sauber herunterfahren

Wichtig! Nicht einfach den Strom abziehen. Wenn der Pi gerade Daten schreibt wäre das fatal. Also auf dem Pi anmelden und entweder über die Oberfläche oder die Kommandozeile herunterfahren.

sudo shutdown -h now

Der Linux-Weg und der Mac-Weg

Unter Linux und einem Mac ist das Backup Tool quasi schon eingebaut:
SD-Karte in den SD-Slot einstecken.

if= InputFile bzw Input Device Wichtig: Gerät direkt hinter dem “=” ohne Leerzeichen eingeben
of= OutputFile

Backup der SD-Karte erstellen:

sudo dd if=/dev/mmcblk0 of=my-hagenfragen-pi-backup.img bs=1M status=progress

Backup von einer kaputten SD-Karte mit ddrescue erstellen:

ddrescue macht das Gleiche wie dd, ignoriert aber Lesefehler und versucht defekte Blöcke mehrfach zu lesen. Und ich habe keine Ahnung, warum sich die Programmierer eine andere Syntax haben einfallen lassen.

sudo apt install ddrescue
sudo ddrescue -f /dev/mmcblk0 my-hagenfragen-pi-backup.img SD_card_rescue.log

Backup der SD-Karte wiederherstellen:

sudo dd if=my-hagenfragen-pi-backup.img of=/dev/mmcblk0 bs=1M status=progress

Der Windows-Weg

Backup-Tools installieren

Folgende drei Programme herunterladen und installieren: Win32 Disk Imager und balena Etcher und 7zip
Entweder von Hand oder mit Chocolatey (Anleitung hier): choco install win32diskimager etcher 7zip

Win32 Disk Imager starten

  • Das Programm starten und in dem rechten Dropdown ein Laufwerk der zu sichernden SD Karte auswählen.
  • Als Image Datei einen Namen vergeben und einen Speicherort wählen.
  • “Lesen” klicken
  • Auf Erfolgsmeldung warten

Das Backup komprimieren

Nach diesem Schritt liegt das Backup eigentlich fertig auf der Festplatte.
Das Backup hat aber leider 1:1 die Größe der SD Karte, weil es bis jetzt einfach von der SD Karte gelesen wurde.
Das heißt, bei einer 32GB Karte liegen nachher 32 Gig auf der Platte. Bei einer 64GB Karte sind es also 64 Gig usw. Man sollte also genug Platz auf der Platte haben 😉
Also packen wir das Image mit 7zip. Wichtig dabei ist nur, den Algorithmus “bzip2” und die Kompression “ultra2” zu wählen. Das ist wichtig, weil balena Etcher nur bestimmte Pack-Formate lesen kann. Also packen wir mal ein bisschen zusammen:

Das dauert jetzt ne Weile.
Das Ergebnis kann sich aber sehen lassen:
Nach der Kompression hat das Image nur noch 7,5% der ursprünglichen Größe.

Was bringt ein Backup ohne erfolgreichen Test der Wiederherstellung? Nichts!

Also testen wir das Ganze mal mit einer neuen SD-Karte:

Das war’s: Backup erstellt und getestet.

2 Kommentare
    • Hagen Glötter
      Hagen Glötter sagte:

      Was dd macht ist ja eine Block für Block Kopie der Karte.
      Wenn Du die Blöcke zurückschreiben willst muss die Karte daher mindestens gleich groß sein. Eine größere Karte geht natürlich auch, dann bleibt der Überhäng der neuen Karte zunächst leer. Kann aber bequem mit Raps-Config erweitert werden.

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar zu Matthias Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert