Dienstag, 26. Mai 2015

17b Restore

Um das im vorangegangenen Blog erläuterte Backup wieder zurück zu spielen beziehe ich mich auf diese Seite im Internet: http://www.linux-tips-and-tricks.de/de/raspibackup-restore/
Dort wird beschrieben, wie das Restore erfolgen kann.
In meinem Fall muss dies manuell erfolgen, da ich NOOBS zur Installation benutzt habe, sodass die folgenden Schritte nur der Vollständigkeit halber hier aufgeführt werden.
 

Ich zitiere aus der Internetseite:

Überblick 
raspiBackup erstellt Backups vor Raspberry Pis. Das Script kann den erstellten Backup auch wieder restoren. Dabei werden auf der Ziel SD Karte neue Partitionen angelegt und dann mit dem entsprechenden Tool (dd, tar oder rsync) die Daten wieder restored. Das dd Backup kann man auch unter Windows restoren. Alle anderen Backuptypen benötigen eine Raspberry mit einem laufenden raspbian oder ein anderes System, welches Linux als Betriebssystem hat. Ein manueller Restore der Daten mit den zuvor benutzen Backuptools dd, tar oder rsync ist natürlich auch möglich.

Funktionszusammenfassung
  • Einfacher Restore der Sicherung für Windows, Mac oder Linux Benutzer
  • Meldungen in Deutsch und Englisch
  • Externes Rootfilesystem wird restored
  • Rootfilesystem auf dem wiederhergestellten System benutzt immer die gesamte SD Karte sofern kein dd Backup vorliegt
  • SD Karte für die Wiederherstellung kann kleiner oder größer sein als die gesicherte SD Karte sofern kein dd Backup vorliegt
  • Einsetzbar auch zum Klonen von einer Raspberry Pi
  • Einfacher Update des Scripts durch die aktuellste Version (-U Parameter)
  • Raspberry Pi kann sich selbst wiederherstellen
Hinweis 
Es ist sehr zeit- und hardwareaufwändig (diverse SD Karten mit unterschiedlichen Größen) den Restore für alle möglichen Kombinationen zu testen. Deshalb steht diese Funktion standardmäßig nicht zur Verfügung, denn ohne ausgiebige Tests ist ein allgemeines Anbieten der Restorefunktion für mich nicht zu vertreten. Es funktioniert bei mir und auch bei einer Menge anderer Leute. Ein Restoretest sollte also nach dem ersten erfolgreichen Backup unbedingt vorgenommen werden.
Falls aus irgendwelchen Gründen der Restore mit dem Script fehlschlägt kann man natürlich jederzeit die vom Script gesicherten Daten mit den Standard Linuxtools, die zum Backup genutzt wurden - dd, tar und rsync - wieder restoren. Allerdings geht das dann nicht so bequem wie mit dem Script.
Ein Backup sollte regelmäßig getestet werden ob der Restore immer noch funktioniert und auch immer noch alle Daten beinhaltet. Nichts ist so frustrierend wenn man in dem Moment, wo man das Backup benötigt, feststellt, dass das Backup korrupt ist oder nicht alle Daten enthält. Ein Test ist bei der Raspberry recht einfach. Eine neue SD- Karte einlegen, das Backup restoren und von der neuen SD-Karte booten.


Aufrufparameter 
Die Restorefunktion wird durch den Parameter -X eingeschaltet. Je nachdem ob das Quellsystem nur die SD Karte benutzt oder sein Rootfilesystem extern ausgelagert hat sind zwei verschiedene Aufrufe des Restores zu unterscheiden, die durch den Parameter -R gesteuert werden.
Parameter Funktion Standard
-X Damit wird die Restorefunktion im Script eingeschaltet Nein
-d Gibt das Ausgabedevice (die SD Karte) an. Beispiel: /dev/sda
Achtung: Dieses Device wird vollständig gelöscht und neu angelegt.
Keiner
-r Muss das Verzeichnis in welches der rsync Backup mit raspiBackup geschrieben wurde sein oder die Backupdatei beim dd oder tar Backup, die mit .tar oder .dd endet Keiner
-R Gibt die Partition an, auf welchem das root Verzeichnis restored wird. Beispiel: /dev/sdb1
Achtung: Die Partition wird neu formatiert. Deshalb aufpassen, dass es die richtige Partition ist!
Durch diese Option kann man Backups von Systemen restoren, die eine externe Partition als Rootpartition benutzen wie USB Sticks oder Festplatten. Dieses ist nur möglich wenn ein tar oder rsync Backup vorliegt.
Keiner

Wiederherstellungsszenario für Windows- und Macbenutzer
Sofern eine DD Backup erstellt wurde kann das mit dem Windows32DiskImager restored werden. Alternativ kann jedes Backup mit der Pi wiederhergestellt werden. Soll ein TAR oder RSYNC Backup wiederhergestellt werden muss dieser alternative Weg beschritten werden. Die folgenden Schritte sind notwendig:

  1. Ein raspbian auf dem Raspberry starten
  2. Die SD Karte, auf die wiederhergestellt werden soll, muss in einem SD Kartenlesen angeschlossen werden
  3. Das Medium, welches das Backup enthält (z.B. eine Platte) muss angeschlossen und gemounted werden bzw. ein Netzwerklaufwerk mit den Backupdaten muss gemounted werden
  4. Falls die Rootpartition ausgelagert wurde muss eine weitere Platte angeschlossen werden, die die Rootpartition enthält, welche wiederhergestellt werden soll
    Dabei wird üblicherweise die SD Karte /dev/sda, die Backuppartition /dev/sdbx und eine eventuelle Rootpartition /dev/sdcx. Wird ein Netzlaufwerk benutzt ist die Rootpartition dann üblicherweise /dev/sdbx
Die aktuelle Gerätebelegung kann anders sein und sollte immer mit 
sudo parted –l 
überprüft werden um zu vermeiden dass andere Partitionen irrtümlicherweise überschrieben werden.

Wiederherstellungsszenario für Linuxbenutzer 
Dieses sieht genauso aus wie das für Windows- und Macbenutzer. Im Unterschied braucht aber die Raspberry Pi nicht benutzt sondern wird die SD Karte mit dem SD Kartenlese an das Linuxsystem angeschlossen, die Backuppartition gemounted und eine Partition für ein eventuelles externes Rootfilesystem bereitgestellt.
 

Beispielaufrufe 
Notwendige Hardware für den Restore:
  1. Ein laufender Raspberry Pi mit einem laufenden raspbian oder einem anderen Linux Betriebssystem oder ein anderer Linux Rechner mit installiertem raspiBackup.
  2. Einen angeschlossener SD Kartenleser und eingelegte neuer SD Karte
  3. Ein angeschlossenes Backupdevice (per USB oder Netz)
  4. Falls eine externe Rootpartition wiederherzustellen ist muss noch per USB eine weitere Platte oder SD Karte angeschlossen sein.
Restore auf eine SD Karte
Das gesicherte System heißt im Beispielaufruf raspberrypi.
SD Karte, die den Restore der Boot- und Rootpartition erhalten soll, ist im Beispiel als sdf verfügbar. Alle bestehenden Daten der SD Karte werden vorher gelöscht.
Das zu restorende Backup ist z.B. unter /media/usbstick/raspberrypi/raspberrypi-rsync-backup-20150501-000001/ verfügbar 

sudo raspiBackup.sh -X -d /dev/sdf -r /media/usbstick/raspberrypi/raspberrypi-rsync-backup-20150501-000001/ 
Sollte das zu restorende Backup ein tar oder dd Backup sein, sieht der Aufruf wie folgt aus 
sudo raspiBackup.sh -X -d /dev/sdf -r /media/usbstick/raspberrypi/raspberrypi-tar-backup-20150501-000001.tar 
oder 
sudo raspiBackup.sh -X -d /dev/sdf -r /media/usbstick/raspberrypi/raspberrypi-dd-backup-20150501-000001.dd
 
Restore auf eine SD Karte und eine externe Partition
Das gesicherte System heißt raspberrypi .
SD Karte, die den Restore der Bootpartition erhalten soll, ist im Beispiel als sdf verfügbar. Alle bestehenden Daten der SD Karte werden vorher gelöscht.
Die externe Rootpartition, auf der das Rootfilesystem restored werden soll, liegt im Beispiel auf sda1. Alle Daten der Partition /dev/sda1 werden vorher gelöscht.
Das zu restorende Backup ist unter /media/usbstick/raspberrypi/-rsync-backup-20150501-000001/ verfügbar 

sudo raspiBackup.sh -X -d /dev/sdf -r /media/usbstick/raspberrypi/raspberrypi-rsync-backup-20141230-213032/ -R /dev/sda1 
Der Live-Test wird in den nächsten Tagen erfolgen, um den 3. bzw. 4 Raspi in Betrieb zu nehmen.

Keine Kommentare:

Kommentar veröffentlichen