SD-Karte klonen

LoxBerry 2.2

Dieses Tool ist ab LoxBerry 2.2 verfügbar. Du benötigst Sie nur, wenn Du nicht mehr auf die Weboberfläche des LoxBerry zugreifen kannst. Dann macht allerdings ein Clonen der SD-Karte meist auch keinen Sinn, da der Fehler "mitgeclont" wird… Verwende für ein Backup der SD-Karte das Backup Widget - das ist die grafische Oberfläche für das hier beschriebene Tool!

Diese Anleitung beschreibt das LoxBerry-Tool clone_sd.pl, mit dem die SD-Karte von LoxBerry auf eine zweite SD-Karte geklont werden kann oder ein Image erstellt werden kann, um es später auf eine SD-Karte zu klonen. Im Zuge des Klonens wird auch die /boot-Partition vergrößert.

Voraussetzungen

  • Ein Raspberry mit Original-Loxberry-Image (das Script ist nicht mit VM's oder bei eigener Änderung des Partitions-Layouts, getestet!)
  • Eine zweite SD-Karte, auf der der Klon erstellt wird oder ein USB-Datenträger 8Dateiformat NTFS oder exFAT oder EXT4) oder eingebundenes Netzwerk-Share für ein Image. Die Ziel-SD oder das Ziel-Storage muss groß genug sein, um alle die Daten des LoxBerry's zu speichern. Die neue SD-Karte kann kleiner oder größer als die Original-SD-Karte sein. Die Datenpartition der Ziel-SD wird automatisch angepasst.
  • Ein USB-SD-Kartenleser (nur beim direkten Clonen, beim Clonen in ein Image nicht erforderlich)

Vor den Gebrauch

  • Stecke im laufenden Betrieb deinen USB-Kartenleser mit der Ziel-SD-Karte an einen USB-Anschluss des Raspberry's. Wenn Du ein Image erstellen möchtest, stecke den USB-Datenträger im laufenden Betrieb an den LoxBerry. Möchtest Du das Image auf einem Netzwerk-Share ablegen, muss dieses eingerichtet und schreibbar sein.
  • Melde dich mit Putty an deinen LoxBerry an und mache dich zum root-Benutzer (Eine SSH-Verbindung mit putty aufbauen / Shell-Zugriff)
  • Starte /opt/loxberry/sbin/clone_sd.pl - das führt noch keine Kopier-Aktion aus, sondern zeigt dir die möglichen Zieldatenträger.

Das Tool unterscheidet nun zwischen Ziel-Datenträger (zweite SD-Karte) für einen direkten Clone (Type Device) oder möglichen Zielpfaden auf Storage-Devices (Type Path), auf denen eine Image-Datei erstellt werden kann. Im Screenshot ist der Zieldatenträger /dev/sdc).

Zur Information werden auch die Partitionen auf den Zieldatenträgern angezeigt. Wenn die SD-Karte leer ist, werden keine Partitionen angezeigt.

Achtung bei mehreren Datenträgern

Wenn mehrere Zieldatenträger angezeigt werden, achte GENAU darauf, welcher Datenträger der Richtige ist. Wenn du andere USB-Geräte angeschlossen hast, und dir unsicher bist, schließe alle anderen Datenträger vom Raspberry ab.

Start des Kopiervorgangs

Achtung bei mehreren Datenträgern

Alle Daten auf dem ausgewählten Zieldatenträger werden unwiederbringlich gelöscht. Pass auf was du tust!

Zum Starten des Kopiervorgangs zum Clonen auf eine zweite SD-Karte:

/opt/loxberry/sbin/clone_sd.pl /dev/<Datenträger> device

wobei <Datenträger> für den Namen des Datenträgers steht. Beispiel: /dev/sdc

Alles Weitere läuft automatisch ab. Du bekommst Informationen, wo der Prozess gerade steht. Das Kopieren der Daten kann eine Stunde oder länger dauern! Wenn alles fertig ist, kommt eine OK-Meldung.

Ob die neue Karte benutzt wird oder nicht - es ist danach unbedingt erforderlich, LoxBerry neu zu starten. 

Zum Starten des Kopiervorgangs in ein Imagefile:

/opt/loxberry/sbin/clone_sd.pl /opt/loxberry/system/storage/usb/meinstick path

wobei /opt/loxberry/system/storage/usb/meinstick der Mountpoint Deines Datenträgers oder Netzwerkshares ist. Den Pfad musst Du anpassen.

Alles Weitere läuft automatisch ab. Du bekommst Informationen, wo der Prozess gerade steht. Das Kopieren der Daten kann eine Stunde oder länger dauern! Wenn alles fertig ist, kommt eine OK-Meldung.

Behalte die alte SD-Karte solange, bis du die neue Karte getestet hast!

Neue Karte benutzen (direkter Clone)

  • LoxBerry herunterfahren und Strom abstecken.
  • USB-Kartenleser abstecken.
  • Alte SD-Karte aus dem Raspberry nehmen und verwahren! (im Falle, dass der Klon nicht funktioniert!)
  • Neue SD-Karte in den Raspberry stecken.
  • Strom anstecken - LoxBerry sollte nun normal booten

Daten, die während des Klon-Vorgangs am LoxBerry geändert oder geschrieben wurden, sind möglicherweise nicht auf der Klon-SD vorhanden. Ebenso kann es nach dem Booten mit der neuen SD zu "komischen" Situationen bei Plugins kommen (beispielsweise könnte das MQTT Gateway Daten nochmals übertragen, die mit der "alten" SD-Karte bereits gesendet wurden). 

Neues Image benutzen (Clone in ein Imagefile)

Das Image musst Du wie das Original LoxBerry Image auf eine SD-Karte schreiben (z. B. mit Win32DiskImager). Dazu verfahre nach der Installationsanleitung für den LoxBerry: Image auf die SD-Karte schreiben

Fehleranalyse

Vor und während des Klonens

  • Vor dem Klonen der SD-Karte macht das Programm eine Menge Überprüfungen. Wenn das Programm vorher abbricht, beachte die Fehlermeldung. Eventuell rebootest du LoxBerry, und probierst es dann nochmals.
  • Während des Kopierens gibt es ein paar Meldungen, dass Dateien nicht kopiert werden können. Dies ist normal.

SD-Karte bootet nicht

Wenn dein LoxBerry mit der neuen SD-Karte nicht bootet, musst du einen Bildschirm anschließen, um den Bootvorgang zu prüfen.

  • Bildschirm-Anzeige: Regenbogen-Farben → Die SD-Karte beginnt nicht mit dem Boot-Vorgang. 
  • Bildschirm-Anzeige: Boot-Vorgang mit Himbeeren (links oben), bleibt aber dann stehen → Die SD-Karte bootet, findet dann aber die Datenpartition nicht.

LoxBerry bootet, aber nicht im Netzwerk erreichbar

Möglicherweise hat LoxBerry eine neue IP-Adresse vom DHCP-Server erhalten. Prüfe am Router, ob dein LoxBerry eine neue IP-Adresse bekommen hat.