[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: partimage



Am Donnerstag, den 16.02.2006, 20:17 +0100 schrieb Andreas Juch:
> Bernd Schwendele wrote:
> 
> > Partition anlegen...
> > # fdisk...
> > 
> > Löschen mit:
> > # dd if=/dev/zero of=/dev/hdnX
> > 
> > Partition formatieren z.B. mit
> > # mkfs.ext3 
> 
> Daran habe ich gar nicht gedacht. dd würde in ohne das löschen also auch
> die Daten die sich vorher auf der Partition befunden haben löschen, da
> mkfs.ext3 die Partition nicht komplett löscht sondern nur seine Indizes
> anlegt in denen steht, dass die Partition leer ist... Darauf hätte ich
> selber auch kommen können :-) Wieder was gelernt! Allerdings würde mir
> der Trick bei einem "stark" genützten Dateisystem ja auch nichts
> bringen. Wenn ich immer wieder (große) Dateien erstelle und sie dann
> wieder lösche habe ich wieder das selbe Problem wie vorher...
> 
> > Wenn Du das
> > Image aus Platzgründen auf nem anderen Rechner haben möchtest, kannst Du
> > das via nc übertragen (dd if=/dev/hdnX | nc ...). Würde ich aber in
> > heiklen Situationen (wichtige Daten) nicht machen!
> 
> Hängt davon ab. Bei wichtigen Daten ist es eigentlich schon sinnvoll
> wenn man ein Image wo anders aufbewahrt. 

Ja am besten auf einem Tape in einem anderen Land :)

> Bei vertraulichen Daten ist das
> ein anderes Problem... Aber laut Murphy's Gesetzen hat man sowieso nie
> ein Backup wenn man eins braucht ;-)

Leider...


> Trotzdem müsste eigentlich der Trick mit resize[2|3]fs funktionieren.

Nope, besser jain... Machs nicht so kompliziert. Warum resizen? Um Platz
zu sparen? Nicht wirklich, da ist ein initiales dd if=/dev/zero
of=/dev/hdnX besser. Ich habe mal spaßeshalber mit dd ein 2GB großes
Image angelegt, welches aus lauter Nullen bestand - also in etwa dd
if=/dev/zero of=image bs=... count=... 
Danach habe ich die Datei mit gzip oder bzip komprimiert und sie war
hinterher kaum größer als 2 MB... 


> Zuerst müsste ich ein Backup der Partition machen um die bestehenden
> Daten nicht zu verändern
> dd if=/dev/hdnX of=backup.img

Jup...

> 
> Dann müsste ich das Dateisystem verkleinern. Allerdings arbeitet
> resize2fs glaube ich nicht mit files. Man müsste das file als loopback
> device einbinden.

Doch! Um ein bestehendes Image zu vergrößern kannst Du afaik das da
machen:

dd if=/dev/zero bs=1024 count=10 >> mypartition.image

Dann erst mit resize2fs ran.


> mount -o loop backup.img /mnt/...
> resize2fs /dev/loop/i [~ df -m /dev/hdnX + 100mb]

Gemountete Partitionen verändern? Nene, das geht afaik nicht.


> Dann muss man nur noch ein Image des Loop Devices machen. Allerdings nur
> von dem Bereich über den sich das Dateisystem erstreckt.
> 
> Am Ende mit bzip2 komprimieren.
> 
> Nach dem Rücksichern muss man dann das Dateisystem mit resize[2|3]
> wieder an die Größe der Partition anpassen.

Keinesfalls! Wie willst Du denn resizen? Wo soll resize was
rausholen/löschen? Dazu müsste es wissen, was unbeschrieben ist und was
nicht.

> 
> 
> Diese Vorgehensweise rentiert sich eigentlich nur für ein perfekt
> konfiguriertes Betriebssystem. Ausserdem bin ich mir nicht sicher ob
> resize[2|3]fs überhaupt funktioniert wenn sich die Daten über die
> gesamte Partition erstrecken... 

Eben!

> Für Anwenderdaten (z.B. /home) ist
> tar/cpio und bz2 viel einfacher.

Richtig! Deshalb mache ich auch nur ca. alle 6 Monate so ein Image.
Das Wiederherstellen ist natürlich ein Kinderspiel.
Wenn Du XFS als Dateisystem für /home nutzt, hast Du noch die
Möglichkeit xfsdump statt tar, cpio, etc. zu benutzen -> kleiner
Vorteil: incremental backups

Noch als Tipp, speichere Dir die Partitionstabelle unbedingt noch auf
Papier - in etwa via:

fdisk -l /dev/hda

Sicher ist sicher. Dann kannst Du via dd Deine Root-Partition sichern -
angenommen dein /home liegt auf einer anderen Partition. 
Das Backup der Daten in /home/$USER kann auch via afio, cpio, tar etc.
erfolgen. Hast Du jetzt einen totalen Crash der HDD, neue kaufen und:

1. Knoppix rein,
2. Partitionen nach der Partitionstabelle auf Papier wieder herstellen
via fdisk oder cfdisk 
2a. mkswap /dev/...
3. (angenommen root = /dev/hda1 und das image liegt auf einer externen
HDD, die unter /mnt gemountet ist) dd if=/mnt/myroot.image of=/dev/hda1
4. umount /mnt
5. mount /dev/hda1 /mnt
6. chroot /mnt /bin/bash
7. grub wieder in den mbr installien 
8. /etc/fstab überprüfen, ob alle Platten/Partitionen korrekt
eingetragen sind
9. reboot

Grüße
  Bernd




Reply to: