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.
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 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 installierensudo apt-get install partclone
Das Helper Script stammt vom
Raspberry Forum und ist im Attachment dieses Posts gemirrort.
VorbereitungenDie 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 erstellenDer 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 SpeicherpfadAlso schauts bei mir so aus:
sudo ./rpi-backup -c -i /dev/sdb -o /home/mtron/backup/pi/30122014
Backup zurückspielenFalls 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 KarteBeispiel:
sudo ./rpi-restore -i /home/mtron/backup/pi/30122014 -o /dev/sdb