einfaches Komplettbackup

Die simpelste Möglichkeit, ein Komplettbackup von deiner MicroSD Karte durchzuführen, möchte ich dir hier Schritt für Schritt demonstrieren.

Dies lässt sich auf einem Linuxrechner mit Bordmitteln in der Shell nachvollziehen. Unter Windows ist dies vermutlich über Cygwin auch realisieren .

Dieses Backupverfahren ist nicht im laufenden Betrieb möglich, daher benötigst du einen zweiten Rechner (das kann auch ein Raspi mit einem USB MicroSD Leser sein)

Vorbereitung

Fahre deinen Raspberry Pi runter, entnehme die MicroSD Karte und stecke sie in das Lesegerät.
Jetzt musst du den Gerätenamen für das Lesegerät ermitteln. Bei mir ist das „/dev/sdd“.

Image schreiben

Um die Karte komplett bitweise zu lesen und in ein Image zu schreiben, nutzen wir das Programm dd, dass blockweise Daten von der Karte liest und dann sofort an ein zweites dd Kommando piped, um sie zu schreiben.

sudo dd /dev/sdd bs=8M|dd of=./backup.img bs=8M

Das erste dd muss mit Root-Rechten gestartet werden, um auf das Device zugreifen zu können. Es liest dann Blöcke in 8MB Größe (bs=) vom Device und gibt diese an das zweite dd weiter, dass diese Blöcke in die Datei ./backup.img schreibt.
Das dauert eine Weile, je nach Kapazität der MicroSD Karte. Da in der Zeit keine Ausgabe erfolgt, setze ich üblicherweise noch das ProcessViewer Kommando dazwischen.

sudo dd /dev/sdd bs=8M|pv|dd of=./test.img bs=8M

Wenn die Prozesskette durch ist, hast du deine gesamte Speicherkarte in eine Datei gesichert.

-rw-rw-rw- 1 pi pi 31914983424 Dec 11 10:23 test.img

Diese Datei ist genauso groß wie deine MicroSD Karte (hier 32GB).

Integrität des Backups

Regel Nr. 4 besagt, dass du die Integrität des Backups überprüfen musst. Dazu berechnen wir jetzt die Hashwerte der MicroSD Karte und der Backupdatei.

sudo sha256sum /dev/sdd
sha256sum ./test.img

sha256sum berechnet mittels des Secure Hash Algorithmus einen eindeutigen Hashwert. Sollte auch nur ein Bit zwischen Datei und MicroSD Karte unterschiedlich sein, kommen bei den beiden Kommandos unterschiedliche Werte raus. Dann hat das Backup nicht geklappt.
Die Berechnung der Hashwerte dauert eine ganze Weile, da sowohl die MicroSD Karte als auch das Komplettbackup komplett gelesen werden müssen.

Komplettbackup Ausgabe der sha256sum Berechnung
Hashwert der sha256sum Berechnung

Komplettbackup komprimieren

Wenn du dich an Regel Nr. 7 hältst, belegt ein Komplettbackup den dreifachen Speicher auf deinem Sicherungsmedium. Für sowas gibt es zum Glück Kompressionsverfahren, die den Platzbedarf minimieren.

bzip2 ist ein freies Kompressionsprogramm mit einer guten Kompressionsrate.
In der Standardvariante ist es bei Raspberry Pi OS sofort mitinstalliert. Im Zeitalter von Multicore CPUs ist die parallele Variante allerdings interessanter, da sie durch die Auslastung aller Prozessorkerne schneller ist.

sudo apt install pbzip2

Jetzt komprimieren wir unsere Backupdatei

pzib2 ./test.img

Gerade für diesen Schritt ist ein schneller Rechner mit deutlich mehr Kernen als der Raspberry Pi zu empfehlen, da das sehr lange dauern kann.

Die Kompressionsrate hängt stark davon ab, wie viele Daten auf der MicroSD Karte gespeichert sind.

Backup zurückspielen

Falls der gefürchtete Fall eintritt, den wir uns alle nicht wünschen, kannst du das Image einfach mit

bunzip2 test.img.bz2

dekomprimieren und mittels

dd if=test.img bs=8M |pv|dd of=/dev/sdd bs=8M

auf eine neue Speicherkarte schreiben und dein Raspberry Pi ist wieder am Start.

Die hier vorgestellte Methode fürs Komplettbackup ist sehr langwierig, führt aber immer zum Erfolg. Gerade vor kritischen Updates wie ein Releasewechsel von Raspian solltest du dies durchführen, dann kann die nicht viel passieren.

Schreibe einen Kommentar

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner