DVB-Cube BETA <<< Das deutsche PC und DVB-Forum >>>
Diverse DVB Software für verschiedene Karten => # ARM Boxen (Raspberry Pi ect.) => Thema gestartet von: mtron am 01 Februar, 2015, 17:50
-
Da gerade die SD Karte in meinem Pi das zeitliche gesegnet hat wirds mal an der Zeit über meine Backup Strategie zu erzählen ;)
Mithilfe dieses Howtos könnt ihr von jedem Linux Computer aus die SD Karte des Raspberries in ein Backup Image sichern. Verwendet wird dafür partclone (http://partclone.org/).
Partclone is a partition image tool which attempts to only backup used data blocks. It's written in C and focuses on cloning filesystems, as opposed to cloning disks.
Der größte Vorteil von Partclone ist, dass es im Vergleich zu dd nur verwendete Blöcke speichert und deshalb viel schneller arbeitet. Zum zurückspielen wird eine mindestens gleich große SD Karte benötigt. Mithilfe des Backup scripts aus dem Raspberry Forum (http://www.raspberrypi.org/forums/viewtopic.php?p=118519) ist das Erstellen und Zurückspielen sehr einfach.
Nachteil von partclone ist natürlich dass man im Unterschied zu dd keine Images von laufenden Systemen machen kann, dafür ist es aber sehr viel schneller.
Partclone und die Backup und Restore Scripts installieren
sudo apt-get install partcloneDas Helper Script stammt vom Raspberry Forum (http://www.raspberrypi.org/forums/download/file.php?id=442) und ist im Attachment dieses Posts gemirrort.
Vorbereitungen
Die SD Karte aus dem Pi in den Kartenleser bzw. Slot stecken und einen Filesystem check für die fat (boot) und ext4 (system) partitionen des Pi machen.
Falls die Partitionen schon vom System gemountet wurden (siehe 'mount' vom Terminal) erstmal die Partitionen aushängen. sdb ist in allen folgenden Bespielen natürlich durch die Device Node auf eurem System zu ersetzen. (siehe 'dmesg' oder 'fdisk -l')
sudo umount /dev/sdb1 && sudo umount /dev/sdb2
oder falls die SD karte in einem Card Reader an den Computer angeschlossen wird und dmesg nach dem einstecken folgendes auswirft:
blk_update_request: I/O error, dev sdb, sector 0
Buffer I/O error on dev sdb, logical block 0, async page read
hilft es meist den kernel den partition table neu einlesen zu lassen (wenn nicht ist die Karte sehr wahrscheinlich futsch):
sudo partprobe /dev/sdb
Filesystem Scan für boot und system Partitionen machen
sudo dosfsck -l -a -w /dev/sdb1
sudo fsck.ext4 -Dfty -C 0 /dev/sdb2
Backup erstellen
Der Command Line string des backup script schaut so aus
rpi-backup [-c] [-a] -i /dev/sdX -o /path/to/image/folder
-c Kompression einschalten
-a alle Fragen mit Ja beantworten
-i Backup Partition
-o Speicherpfad
Also schauts bei mir so aus:
sudo ./rpi-backup -c -i /dev/sdb -o /home/mtron/backup/pi/30122014
Backup zurückspielen
Falls die SD Karte schon vom System gemountet wurde (siehe 'mount' vom Terminal) erstmal die Partitionen aushängen
sudo umount /dev/sdb1 && sudo umount /dev/sdb2
Der Command Line string des restore script schaut so aus
rpi-restore [-a] -i /path/to/image/folder -o /dev/sdX-a alle Fragen mit Ja beantworten
-i Speicherpfad
-o SD Karte
Beispiel:
sudo ./rpi-restore -i /home/mtron/backup/pi/30122014 -o /dev/sdb
-
Hallo Meister,
exzellente Anleitung!