sobota, 17 maja 2008 
Start arrow FreeBSD arrow SYSTEM I KERNEL arrow dump / restore (1)
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Upgrade systemu
Samba - serwer plikó...
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
Neostrada na modemie...
CVSup - pomocny podc...
Postfix z autoryzacj...
System Portów (Kolek...
Postfix - bezpieczny...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.06495
File icon Postfix - "Krok po kroku" v1.15938
File icon PPTPd - "Prosty i szybki VPN" v1.0b4823
File icon sdi.sh3827
File icon uEagle 1.0p12958
File icon named.sh2898
File icon uEagle 0.99b2861
File icon cs.sh2769
File icon uEagle 1.02751
File icon uEagle 1.12553
Ostatnie komentarze
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
Jest ok ale..
Dodał: theviant
Dnia: 2006-11-16 08:10:05
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




dump / restore - kopia bezpieczeństwa w stylu Norton Ghost Drukuj E-mail
Oceny: / 16
KiepskiBardzo dobry 
sobota, 11 września 2004 - Napisał: Artur Zdoliński (17533 odsłon)

Wiele osób poszukuje programu w stylu Norton Ghost – który wykonuje kopie zapasowe dysków / partycji UFS - FreeBSD. W bardzo łatwy sposób możemy to uczynić przy pomocy dump / restore.

* Zrzucanie partycji do pliku

Przykład – zrzucenie partycji ad0s1f do pliku ad0s1f.dump – gdzie ad0s1f jest montowane jako /usr

dump
Flagi:
- 0 – poziom backupu – zero oznacza pełną archiwizację
- a – auto size – określa automatycznie wielkość bufora do zrzucanego dysku
- f – zrzucanie do podanego pliku

# dump 0af /backup/ad0s1f.dump /usr

Przed wykonaniem tego polecenia – lektura obowiązkowa to man dump ponieważ możliwe, iż będziesz zmuszony dodać jeszcze parę opcji do polecenia np. –L (jeżeli robisz dump na żywym systemie plików). Jeżeli, chcesz natomiast zrobić pełny dump całego obecnego systemu operacyjnego – musisz zrobić kopię 3 partycji (/ /var /usr). Taką archiwizację nie należy przeprowadzać na uruchomionym systemie lecz w trybie pojedynczego użytkownika lub też z poziomu Fixit.

* Odtwarzanie i pełny backup systemu

Jeżeli chcemy zrobić pełny backup systemu operacyjnego z naszego dysku – oczywiste jest, iż należy zrzucić 3 podstawowe partycje tj.:
- /
- /usr
- /var


W opisywanym przykładzie, pozwolę sobie użyć przykładowego podzielenia dysku na partycje tj.
- ad0s1a /       ufs
- ad0s1b swap
- ad0s1d /var    ufs, soft-updates
- ad0s1e /tmp    ufs
- ad0s1f /usr    ufs
- ad0s1g /backup ufs

Na ad0s1g będą przechowywane kopie zapasowe, oraz inne pliki które nie chcemy, aby były archiwizowane (np. drzewo naszego lokalnego ftp z programami i dokumentami)
Jeżeli mamy już wykonaną kopie zapasową naszych 3 partycji tj. pliki:

/backup/ad0s1a.dump
/backup/ad0s1d.dump
/backup/ad0s1f.dump

należy uruchomić z płyty instalacyjnej FreeBSD – sysinstall i wybrać z niej polecenie Fixit. Uruchomić fixit z np. dyskietki (oczywiście przed tymi czynnościami należy zrobić dyskietkę Fixit której image znajduje się na wszystkich płytach instalacyjnych FreeBSD w katalogu /floppies).

W tym momencie można zadać pytanie:
Pyt. Dlaczego nie możemy uruchomić systemu w trybie pojedynczego użytkownika i tam dokonać restore?
Odp. Ponieważ w trybie pojedynczego użytkownika główną partycją automatycznie montowaną będzie ad0s1a / naszego systemu - natomiast aby przywrócić tą partycję z pliku, wpierw musielibyśmy ją od montować co jest dość chybionym pomysłem.

Gdy mamy już odpaloną konsole Fixit, w pierwszej kolejności należy się pod montować dysk ad0s1g

# mount /dev/ad0s1g /tmp

Następnie tworzymy nowy system plików na poszczególnych, docelowych partycjach, gdzie będzie odtwarzany stary OS:

# newfs -U /dev/ad0s1a
# newfs -U -O2 /dev/ad0s1d
# newfs -U -O2 /dev/ad0s1f

newfs
Flagi:
-U - SoftUpdates narzuca konieczności uprzedniego zamówienie operacji w buforze pamięci podręcznej co pozwala zrezygnować z kodu FFS odpowiedzialnego za synchroniczne zapisywanie wpisów katalogów. Dzięki temu daje się zauważyć bardzo duży przyrost wydajności dla operacji zapisu.
-O2 - Określa format plików UFS2 (uwaga – to nie jest „zero” tylko duże „o”)

tunefs
Możemy też ustawić SoftUpdate później, po rozpakowaniu pliku np:
# tunefs -n enable /dev/ad0s1f

Montujemy pierwszą partycje / (usuwamy pod drodze katalog .snap) i odtwarzamy system (na końcu robimy umount partycji)

# mount /ad0s1a /mnt
# cd /mnt
# rm -d .snap
# restore -rf /tmp/ad0s1a.dump
# cd ..
# umount /dev/ad0s1a

Musimy pamiętać aby zawsze być na partycji docelowego rozpakowywanie (w katalogu partycji) gdy wydajemy polecenie restore. W/w czynności wykonujemy dla 2 pozostałych partycji /var i /usr.

restore
Flagi:
-r - Restore (rebuild a file system). Cel pliku powinien być przed wykonaniem potraktowany poleceniem newfs po czym powinniśmy przejść przy pomocy polecenia cd(1) do ścieżki gdzie zostanie rozpakowany plik.
-f - oznacza po prostu plik z którego będą pobierane dane
    Np.:
    # cd /usr
    # restore -rf /backup/ad0s1f.dump

* Przenoszenie systemu operacyjnego pomiędzy dyskami

Przyjmijmy że mamy zainstalowany system na dysku 10GB (ide master ad0) i chcemy przenieść nasz system na drugi dysk o wielkości 80GB.

Pierwszą czynnością jaką musisz wykonać jest zainstalowanie dysku 80GB jako IDE Master i wykonanie minimalnej instalacji FreeBSD na nim – tak aby zostały stworzone partycje i aby była możliwość BOOT`owania systemu z niego.
Następnie wkładamy stary dysk 10GB i podpinamy go na IDE Master – natomiast dysk 80GB podpinamy jako IDE Slave. Uruchamiamy system w trybie pojedynczego użytkownika (single user mode)

Aby to zrobić należy:
- Nacisnąć spację w trakcie odliczania 10 sekund na bootscreenie.
- Wpisać :
    # boot –s
    i nacisnąć Enter
    (dla FreeBSD 5.x z menu wybieramy 4)

Po wyskoczeniu znaku zachęty # wpisujemy:
# mount -u /
# mount -a
# swapon -a
# adjkerntz -i

Następnie upewnij się, że masz stworzony pliki urządzeń tak abyś mógł pod montować partycje z dysku slave.

(Dla FreeBSD 4.x wpisz):
# cd /dev
# ./MAKEDEV ad1s1a
# ./MAKEDEV ad1s1e
# ./MAKEDEV ad1s1f

Teraz tworzymy punkty montowania dla nowych partycji:

Wpisz:
# mkdir /backup
# mkdir /backup/root
# mkdir /backup/usr
# mkdir /backup/var

Ostatnia czynność – Najłatwiej stworzyć i użyć skryptu który automatycznie zrobi nam kopię zapasową – będzie wykonywał następujące polecenia:

1 – stworzy nowy system plików na dysku 80GB (newfs the drive)
2 – za montuje partycje z dysku 80GB
3 – zrobi dump ze starego dysku, a następnie odtworzy ją (restore) na nowym
4 – od montuje nowe partycje
5 - uruchomi softupdates dla nowych stacji

Oto przykładowy skrypt:

#!/bin/sh
newfs /dev/ad1s1a
newfs /dev/ad1s1e
newfs /dev/ad1s1f

mount /dev/ad1s1a /backup/root
mount /dev/ad1s1e /backup/var
mount /dev/ad1s1f /backup/usr

( dump -0f - / ) | ( cd /backup/root ; restore -rf - )
( dump -0f - /var ) | ( cd /backup/var ; restore -rf - )
( dump -0f - /usr ) | ( cd /backup/usr ; restore -rf - )

umount /backup/root
umount /backup/var
umount /backup/usr

tunefs -n enable /dev/ad1s1a
tunefs -n enable /dev/ad1s1e
tunefs -n enable /dev/ad1s1f

Oczywiście należy go dopasować do własnych potrzeb.

Cały proces najprawdopodobniej potrwa parę godzin (dump zazwyczaj trwa 2x krócej niż restore). Kiedy wszystko powiedzie się pomyślnie - należy odłączyć stary dysk, nowy przestawić na slave i uruchomić system już z nowego dysku.

Jeżeli chcesz się dowiedzieć o paru innych ciekawych opcjach które mogą się przydać podczas tworzenia kopii zapasowych – przeczytaj:

# man dump
# man restore
# man tar
# man mount
# man adjkerntz

Oczywiście artykuł ten może zawierać błędy więc nie biorę odpowiedzialności za straty danych. Testowałem wszystko u siebie na FreeBSD 5.2.1 i w moim przypadku działa – jednak będę wdzięczny za wszystkie uwagi (zniewagi) ;) , rady i opinie które mogłyby przyczynić się do aktualizacji/poprawy w/w tekstu.


Autor: Artur "Zdolny" Zdoliński
zdolny(at)siedlce.mine.nu

Komentarze:

Tylko zarejestrowani użytkownicy mogą pisać komentarze.
Prosze zaloguj się i dodaj komentarz.

Powered by AkoComment!

Ostatnio aktualizowany ( wtorek, 08 listopada 2005 )

« wstecz   dalej »
Ciekawostki
Naciskająć strzałki góra-dół możesz przeglądać historię komend.
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2179651
Internautów od lutego 2003

Korzystamy ze statysyk