środa, 22 lipca 2009

dd + backup + virtualbox

Backupy są bardzo potrzebne. Na początku w pracy używaliśmy tar'a. Archiwizacja tar'em jest calkiem sprawna i wygodna. Ale zazwyczaj musimy pod to wszystko przygotować system. ( nie wspominając, że archiwizacje należy odpowiednio rozpakowywać (uprawnienia,czas utworzenia)).

Myślę, że i archiwizacja i kopiowanie obrazu dysku powinno być wykorzystywane razem.
Częściej archiwizacja a kopiowanie dysku np. po zmianie struktur. Aby szybko można było odzyskać działający system operacyjny.

Najlepszym sposobem na rozmycie wszystkich wątpliwości jest skorzystanie np z virtualboxa. Bardzo przyjemnie się pracowało z możliwością tworzenia i przywracania "snapshotów". Plan był taki stworzenie obrazu dysku crash test oraz odzyskanie. Pierwszym błędem jaki robiłem (logiczne) było używanie tego samego dysku. Naiwnie myślałem, że dd rozpozna sektory, które są zapisywane przez niego samego. Udawało się mu poprawnie zapisać i stworzyć plik obrazu ale nie udawało mi się odzyskiwać niczego. Dodałem drugi wirtualny dysk. Jedną partycję miałem 1,9 Giga a drugą przeznaczoną na backup 2.0 Giga statycznie. Widać organizowanie obrazu z pierwszego dysku przekraczało miejsce na drugim dysku na partycji. Trzeba mięć większą partycję jeśli kopiujemy dysk 1:do pliku (lepiej stosować opcję z pakowaniem). Z kopiowaniem partycji plik obrazu nie przekroczy geometrii partycji. Aby stworzyć kopie partycji wystarczy
dd if=/dev/hda of=/mnt/backup/obraz.ima
Aby stworzyć obraz MBR
dd if=/dev/hda of=/mnt/backup/backup-hda.mbr count=1 bs=512
(odczytaj 512 bajtów i count=1 - czyli jednokrotnie).
Aby nad grać MBR robimy tak jak nagrywanie obrazu dysku
dd if=/mnt/backup/backup-hda.mbr if=/dev/hda

Partycji
dd if=/dev/hda1 of=/mnt/backup/obraz.ima
Z pakowaniem
dd if=/dev/hda | gzip > /mnt/backup/obraz.ima.gz
Rozpakowywanie spakowanego obrazu
gzip -dc /mnt/backup/obraz.ima.gz | dd of=/dev/hda

wtorek, 21 lipca 2009

chroot + debian + mount

Już kilka razy się przydał chroot zeby zamontować system wystarcza 3 rzeczy.

mount -o bind /dev /chrootsystem/dev
mount -t tmpfs /dev/null /chrootsystem/tmp
mount -t proc proc /chrootsystem/proc

A pozniej tylko

chroot /chrootsystem