Projekt > Raspberry Pi Dashcam

Backup

Zu Anfang habe ich das Image einfach mit dem Win32 Disk Imager erstellt. Da mir die 32 GB-Images zu groß waren, habe ich auf 8 GB-Karten gewechselt. Da ich oft von der Verkleinerung des Images gelesen habe, habe ich ein paar Tests gemacht.

  • Warum
  • Kopieren auf zweite Karte
  • Freien Speicherplatz säubern
  • Partition verkleinern
  • Image unter Windows erstellen
  • Image unter Linux erstellen
  • Komprimierung
  • Vergleich
  • Links
  • Warum

    Da nicht alles gleich so funktioniert, wie es soll, mache ich ein Backup der mircoSD-Karte bevor ich wieder etwas ausprobiere. Wenn es dann klappt, wird das vorherige Backup wieder auf die oder eine andere Karte gespielt und die Schritte sauber wiederholt. Funktioniert dies, kann ein neues Backup angefertigt werden. Wenn nicht, versuche ich es wieder mit dem letzten Backup.

    Kopieren auf zweite Karte

    Raspbian bringt das Programm SD Card Kopier mit. Damit lässt sich die eingelegte microSD-Karte mit dem System auf einen anderen Datenspeicher kopieren. Dieser andere Datenträger muss mindestens genauso groß wie die zu kopierende Karte sein. Dabei zählt die tatsächliche Größe. Ist der Zielspeicher auch nur etwas kleiner kann er durch das Kopieren unbrauchbar werden. Denn die Anwendung prüft nicht, ob der Datenträger groß genug ist.

    In eine der beiden freien USB-Buchsen stecke ich einen USB-Adapter, in welchem meine zweite 8 GB microSD-Karte steckt. Da die Eigenschaften beider Karten identisch sind bzw. sein sollten, dürfte es wegen der Größe kein Problem geben.

    Nachdem der Papierkorb geleert wurde wird die Anwendung SD Card Kopier gestartet.

    Nach dem Start ist das Quelllaufwerk Interne SD-Karte bereits ausgewählt. Beim Klick auf die Auswahl des Ziellaufwerkes wird die microSD-Karte im USB-Adapter eingetragen. Wenn kein weiterer Datenträger eingelegt ist, kann auch nichts anderes ausgewählt werden.

    Nun erfolgt eine Warnung, dass der Datenträger gelöscht wird und die Frage, ob man sicher ist.

    Anschliessend wird eine Karte auf die andere kopiert.

    Jetzt besitze ich eine Backup-Karte. Es würde nun genügend diese Karte sicher zu verwahren.

    Freien Speicherplatz säubern

    Der Imager speichert die gesamte Karte, welche immer die selbe Größe besitzt. Da die Karte durch ihre Benutzung einigen Datenmüll enthält, soll der freie Speicherplatz gesäubert werden um das Image stärker komprimieren zu können.

    Dazu wird die Karte im USB-Adapter kurz aus- und wieder eingesteckt. Bei der Meldung zum gefundenen Datenträger klicke ich zweimal auf OK. Nach jedem Klick öffnet sich ein Dateimanagerfenster. Das erste zeigt die Bootpartition und das zweite die Raspbian-Partition.

    Das erste Fenster schliesse ich und im zweiten sehe ich nach, ob noch irgendewelche Dateien gelöscht werden müssen. Hier sind zum Beispiel noch die Videos vom Python-Test vorhanden. Diese werden wird gelöscht.

    Nun soll mit dd der unbenutzte Speicherplatz, auf welchem sich Dantemüll befinden könnte, gelöscht bzw. mit Nullen überschrieben werden. Ab Version 8.24 besitzt dd eine Fortschrittsanzeige. Deshalb gucke ich nach, welche Version vorhanden ist.

    Leider ist es es "nur" Version 8.23, welche noch keine Fortschrittsanzeige besitzt. Zum Löschen wird der folgende Befehl verwendet:

    $ sudo dd if=/dev/zero of=[microSD-Karte]/tmp/zero bs=1M
    

    if - Input File: Die Anfragen an /dev/zero geben immer Nullen zurück.

    of - Output File Den Pfad kopierte ich aus dem Dateimanagerfenster. /tmp ist ein Verzeichnis für tempoäre Dateien und zero ist der Dateiname und besitzt keine Dateierweiterung.

    bs - Block Size Die Größe der Blöcke, welche gelesen und geschrieben werden. Ob es nennenswete Unterschiede für verschiedene Werte gibt, weiß ich nicht. Ich habe die Zeiten nicht verglichen.

    HIer hat es fast zehn Minuten gedauert, bis dd mit der erwünschten Fehlermeldung abgebrochen hat.

    Zum Abschluss wird die anlegte Datei wieder gelöscht.

    $ sudo rm [microSD-Karte]/tmp/zero
    

    Wurde die Datei erfolglos gelöscht, gibt es keine Fehlermeldung, sondern nur den Hinweis, dass die Datei nicht in den Papierkorb verschoben werden kann. Nun kann der USB-Adapter mit der Karte aus dem Raspberry entnommen und am Backup-Rechner eingesteckt werden.

    Partition verkleinern

    In den Anleitungen steht, dass man die zweite Partition mit GParted verkleinern kann. Bei mir gab es bei dem Versuch, die zweite Partition um 2,33 GB zu verkleinern, eine Fehlermeldung als es ans Verkleinern ging. Die Partition wurde nicht verkleinert.

    Deshalb werden die Partitionen nicht verkleinert.

    Image unter Windows erstellen

    Da bereits zum Kopieren des Images auf die Karte der Win32 Disk Imager wurde, wird er auch hier verwendet. Das heißt er wird jetzt gestartet und der Laufwerksbuchstabe des Device überprüft. Denn es könnte mit einem eventuell angeschlossenen anderen USB-Stick verwechselt werden.

    Um den Dateinamen festzulegen, wähle ich über die Imagedateiauswahl die ursprüngliche Imagedatei aus und füge dem Dateinamen im Eingabefeld einen Zähler an.

    Nach einem Klick auf Read wird die microSD-Karte gelesen und die Imagedatei erstellt.

    Das Erstellen des Images dauert fast eine Minute je Gigabyte. Es wird die gesamte Karte gelesen, auch wenn nur ein Teil genutzt wird. Zum Beispiel, wenn das Dateisystem noch nicht erweitert wurde.

    Zum Abschluss gibt es eine Meldung über den Erfolg.

    Nun könnte man einen MD5-Hash für die Datei erstellen lassen. Das hatte ich anfangs getan. Nun verzichte ich jedoch darauf.

    Eine Alternative zum Win32 Disk Imager ist Roadkils Disk Imager, welcher anscheinend zur Zeit nicht weiter entwickelt wird. dd gibt es auch in einer Windowsversion.

    Image unter Linux erstellen

    Unter Linux kann man unter anderem dd, mit welchem die Partition gesäubert wurde, und Clonezilla verwenden. Bei dd kann man, wenn die Parttion verkleinert wurde angeben, wieviele Blöcke von der Karte gelesen werden sollen. Clonezilla erstellt anscheinend keine Imagedatei sondern ein Verzeichnis. Allerdings war dieses im Test nicht einmal 2 GB groß.

    Komprimierung

    Zum Abschluss komprimiere ich Image mit 7zip. Damit spart man wiederum etwas Platz.

    Vergleich

    Das Archiv mit dem gesäuberten Image ist die kleinste Datei. Meine vier Backup-Images sind alle gleich groß.