Backup und Restore mit partimage
Backup mit partimage
Wer kennt das nicht? Spätestens wenn eine Festplatte das Zeitliche gesegnet hat wünscht man sich eine zuverlässige Methode wie man ein installiertes Linux schnellstmöglich sichert und im Bedarfsfall wieder zurückspielen kann.
Mit Partimage hat man ein gutes Werkzeug an der Hand das genau dies ermöglicht.
Ein kleines Kochrezept
- Boot mit Live-CD
- Mounten des Speicherplatzes
- Sichern des Partition-Layouts
- Skript mit dem auf komfortable Weise alle Partitionen gesichert werden
Die Details
- Damit man auch eine wirklich konsistente Sicherung von seinem Betriebssystem hat sollte man von einer Live-CD booten. Z.B. Knoppix
- Als nächstes braucht man Speicherplatz wohin man die Images der Partitionen sichern kann. Ich nutze hierzu einen NFS-Server, man kann aber auch eine andere Partition oder Festplatte nutzen. Beim mounten eines NFS-Shares kann es notwendig sein mit “-o nolock” den mount-Befehl durchzuführen
# mount -o nolock <nfs-server>:/space /mnt</nfs-server>
- Zum sichern des Partition-Layouts benutze ich sfdisk
# sfdisk -d /dev/hda > /mnt/backup/<system>/sfdisk.out</system># more /mnt/backup/<system>/sfdisk.out# Partitionstabelle von /dev/hda unit: sectors /dev/hda1 : start= 63, size= 98217, Id=83 /dev/hda2 : start= 98280, size= 1954260, Id=82 /dev/hda3 : start= 2052540, size= 391230, Id=83 /dev/hda4 : start= 2443770, size= 18527670, Id= 5 /dev/hda5 : start= 2443833, size= 500787, Id=83 /dev/hda6 : start= 2944683, size= 7813197, Id=83 /dev/hda7 : start= 10757943, size= 1954197, Id=83 /dev/hda8 : start= 12712203, size= 8259237, Id=83</system>Partition 2 (Swap) und 4 (Erweiterte Partition) müssen nicht gesichert werden!
- Das sichern erledigt ein kleines Skript
# for partition in 1 3 5 6 7 8; do partimage -z1 -b -d save /dev/hda$partition /mnt/backup/<system>/hda$partition.img; done</system>Die Optionen von partimage:
-z1 - komprimieren mit gzip
-b - nicht nachfragen (batchmode)
-d - keine Description abfragem
Restore
Um zu überprüfen ob wirklich alles geklappt hat sollte auch der Restore getestet werden.
Natürlich sollte man für Tests nicht die Original Festplatte verwenden, da eventuell Daten verloren gehen können!
Kochrezept für den Restore
- Booten der Live-CD
- Mounten des Speicherplatzes
- Partition-Layout zurückspielen
- Restore mir partimage
- Bootblock mit grub instllieren
Die Details für den Restore
- Booten und Mounten siehe oben
- Das Partition-Layout restoren mit sfdisk
# sfdisk /dev/hda < /mnt/backup/<system>/sfdisk.out Checking that no-one is using this disk right now ... OK Festplatte /dev/hda: 22192 Zylinder, 15 Köpfe, 63 Sektoren/Spur sfdisk: ERROR: sector 0 does not have an msdos signature /dev/hda: nicht erkannte Partitiontabellentyp Alte Aufteilung: Keine Partitionen gefunden Neue Aufteilung: Einheit = Sektoren von 512 Bytes, Zählung beginnt bei 0 Gerät boot. Anfang Ende #Sektoren Id System /dev/hda1 63 98279 98217 83 Linux /dev/hda2 98280 2052539 1954260 82 Linux Swap / Solaris /dev/hda3 2052540 2443769 391230 83 Linux /dev/hda4 2443770 20971439 18527670 5 Erweiterte /dev/hda5 2443833 2944619 500787 83 Linux /dev/hda6 2944683 10757879 7813197 83 Linux /dev/hda7 10757943 12712139 1954197 83 Linux /dev/hda8 12712203 20971439 8259237 83 Linux Warnung: Keine primäre Partition wurde als bootfähig (aktiv) markiert. Dies spielt bei LILO keine Rolle, aber der DOS-MBR wird auf dieser Festplatte nicht booten. Die neue Partitionstabelle wurde erfolgreich geschrieben Die Partitionstabelle wird erneut gelesen... If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).)</system>root@1[~]# fdisk -l /dev/hdaPlatte /dev/hda: 10.7 GByte, 10737418240 Byte 15 Köpfe, 63 Sektoren/Spuren, 22192 Zylinder Einheiten = Zylinder von 945 × 512 = 483840 Bytes Gerät boot. Anfang Ende Blöcke Id System /dev/hda1 1 104 49108+ 83 Linux /dev/hda2 105 2172 977130 82 Linux Swap / Solaris /dev/hda3 2173 2586 195615 83 Linux /dev/hda4 2587 22192 9263835 5 Erweiterte /dev/hda5 2587 3116 250393+ 83 Linux /dev/hda6 3117 11384 3906598+ 83 Linux /dev/hda7 11385 13452 977098+ 83 Linux /dev/hda8 13453 22192 4129618+ 83 Linux
- Der Restore erfolgt auch wieder mit einem einzeiligen Skript
# for i in 1 3 5 6 7 8 ; do partimage -b restore /dev/hda$i /mnt/backup/<system>/hda$i.img.000; done</system>
- Damit das System auch wieder booten kann muss der MBR neu geschrieben werden. Dies erfolgt am besten mit dem Kommando ‘grub’
# grub GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Checking if "/boot/grub/e2fs_stage1_5" exists... yes Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 15 sectors are embedded. succeeded Running "install /boot/grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded Done. grub> quit
Damit ist der Restore abgeschlossen und das System sollte wieder ohne Probleme booten können.
Anmerkungen
Ein Restore des Partition-Layouts und des MBR kann eigentlich auch Mithilfe von partimage erzeugt werden. Allerdings sind hier meine Erfahrungen etwas unbefriedigend. Die oben gezeigte Methode habe ich mehrfach eingesetzt und funktioniert (bisher) einwandfrei.
About this entry
You’re currently reading “Backup und Restore mit partimage,” an entry on Harald Dumdey
- Published:
- 12.03.06 / 8am
- Category:
- Linux
No comments
Jump to comment form | comments rss [?] | trackback uri [?]