Co oznacza obraz dd. Kopia zapasowa systemu

Polecenie dd robi tylko jedną prostą rzecz: kopiuje dane z pliku do innego pliku. Ale ponieważ w Linuksie wiele obiektów jest reprezentowanych dokładnie jako pliki, dd ma wiele zastosowań. Rozważmy najbardziej przydatne z nich.

Co znaczy dd?

dd to skrót od duplikator danych (kopiowanie danych). Jednak ze względu na fakt, że w niepowołanych rękach polecenie dd może doprowadzić do całkowitej utraty wszystkich danych, program jest często żartobliwie nazywany niszczycielem dysków (disk destroyer). Spróbujmy wymyślić, jak nie tylko nie niszczyć naszych danych, ale nawet czerpać korzyści z wykorzystania dd.

Ogólny przypadek użycia dd

Składnia polecenia jest następująca:

Dd if=$input_data of=$output_data

Polecenie skopiuje dane z pliku $input_data do pliku $output_data, biorąc pod uwagę opcje opcji. Wydawałoby się, że wszystko jest proste. Teraz zastanów się, jakie możliwości otwiera to proste kopiowanie.

Przykłady użycia dd

1. Zniszczenie wszystkich danych na dysku bez możliwości odzyskania:

Dd if=/dev/urandom of=/dev/sda bs=4k

2. Pełne kopiowanie bajt po bajcie jednego dysku na drugi (klonowanie):

Dd if=/dev/sda of=/dev/sdb bs=4096

3. Kopiowanie jednej sekcji do drugiej:

Dd if=/dev/sda3 of=/dev/sdb3 bs=4096 conv=notrunc,brak błędu

4. Wyświetlenie listy dostępnych systemów plików:

Dd if=/proc/filesystems | zrzut szesnastkowy -C | mniej

5. Kopiowanie danych na urządzenia o różnych rozmiarach bloków (1Kb dla źródła i 2Kb dla celu):

Dd if=/dev/st0 ibs=1024 obs=2048 of=/dev/st1

6. Utwórz bootowalny dysk flash:

Dd if=/home/$user/bootimage.img of=/dev/sdc

7. Sprawdź dysk pod kątem uszkodzonych sektorów:

Dd if=/dev/sda of=/dev/null bs=1m

8. Utwórz kopię zapasową dysku MBR i zapisz na dyskietce

Dd if=/dev/sda of=/dev/fd0 bs=512 count=1

9. Usuwanie obrazu ISO z płyty CD:

Dd if=/dev/sr0 of=/home/$user/mycdimage.iso bs=2048 conv=nosync

10. Sprawdzenie pliku pod kątem wirusów (oczywiście ClamAV będzie wymagany):

Dd if=/home/$user/suspicious.doc | małż-

11. Zapisanie zawartości pamięci RAM do pliku:

Dd if=/dev/mem of=/home/$user/mem.bin bs=1024

12. Konwertuj obraz z formatu Nero NRG na standardowy obraz ISO:

Dd bs=1k if=imagefile.nrg of=imagefile.iso skip=300k

13. Wyświetl zawartość MBR:

Dd if=/dev/sda count=1 | zrzut szesnastkowy -C

A gdzie jest obiecany milion aplikacji?

Uważny czytelnik zapewne zauważy, że artykuł nie wymienia miliona przydatnych aplikacji, ale kilka mniej. Ale siła programu dd polega na tym, że użytkownik może sam znaleźć inne zastosowania, łącząc niejako różne pliki parametrów i wybierając niezbędne opcje. Pamiętaj tylko, że praca z dd wymaga dodatkowej uwagi. Jeśli nie wiesz dokładnie, jakie działania zostaną wykonane, lepiej powstrzymać się od eksperymentowania. Staraj się nie nadawać uprawnień superużytkownika dd, kiedy możesz się bez nich obejść.

Twoje własne przykłady wykorzystania tego wspaniałego programu są mile widziane w komentarzach.

Pewnego dnia postanowiłem stworzyć obraz moich działających, rozruchowych dysków flash z różnymi system operacyjny. Jak stworzyć te dyski flash z wieloma bootami, już w jednym z jego artykułów. Pomoże nam w tworzeniu obrazów stary i sprawdzony program dd. O ile wiem, narzędzie dd powinno być domyślnie zainstalowane w systemie. Aby utworzyć obraz „dysku flash”, uruchom następujące polecenie w terminalu:

sudo dd if=/dev/sdc of=image.iso

/dev/sdc to twój pendrive

image.iso to obraz o nazwie obraz i ekspansja .iso, który pojawi się w twoim katalogu domowym.

Aby dowiedzieć się, w jaki sposób dysk flash jest wyznaczony w systemie, możesz na przykład uruchomić narzędzie Dyski lub program GParted i zajrzeć do nich, a jeśli za pośrednictwem Terminala, polecenie pomoże:

sudo fdisk -l

Jeśli chcesz zobaczyć proces tworzenia dysku flash, istnieje kilka sposobów. Nie powiem pierwszego sposobu, bo mi się nie podobało, ale alternatywne rozwiązanie tego problemu wygląda znacznie lepiej. Aby to zrobić, musisz zainstalować ulepszoną wersję dd, która nazywa się dcfldd.

sudo apt-get zainstaluj dcfldd

Pracownicy Laboratorium Informatyki Śledczej DoD (DCFL) dokonali pewnych zmian w poleceniu dd, ulepszając je tym samym i wykorzystując w swojej pracy badawczej. W rezultacie narodziło się polecenie dcfldd, które zapewnia hashowanie skopiowanych danych w określonych odstępach czasu w celu ich uwierzytelnienia. Co więcej, dcfldd jest znacznie szybszy niż dd. Teraz, jeśli chcesz zobaczyć postęp kopiowania lub tworzenia obrazu, musisz uruchomić polecenie:

sudo dcfldd if=/dev/sdc of=image.iso

Teraz, gdy obraz jest gotowy, możesz utworzyć nowy, rozruchowy dysk flash USB. Zamiast pendrive'a z systemami wstawimy nowy, pusty. Myślę, że tak samo ustali system, jak ten pierwszy - sdc, ale lepiej sprawdzić jeszcze raz. Teraz polecenie będzie wyglądać tak:

sudo dd if=image.iso of=/dev/sdc

Cóż, jeśli twój pusty dysk flash ma taki sam rozmiar jak nośnik z potrzebnymi danymi, możesz po prostu skopiować całą zawartość pierwszego dysku flash natychmiast na drugi, pomijając tworzenie obrazu na dysku twardym. W takim przypadku polecenie to:

sudo dd if=/dev/sdb of=/dev/sdc

Zgodnie z tym schematem możesz kopiować, tworzyć obrazy nie tylko dysków flash, ale także całych dysków twardych lub ich partycji, napędów CD / DVD itp. Ale więcej o tym w następnym artykule.

Wybór dysków flash zależy od Ciebie. Możesz nagrać obraz rozruchowy na zwykłe dyski flash znanych marek: Transcend, Kingston, Apacer, Silicon Power i innych producentów, lub możesz się trochę różnić i wybrać dyski flash z biżuterią z dżetów, diamentów i innych dekoracji. Chociaż to oczywiście będzie wybór pięknej połowy ludzkości. Podczas pracy nagrany obraz, wygląd zewnętrzny nie ma to żadnego wpływu na urządzenie.

dd- proste narzędzie, które jest dołączone do większości systemów operacyjnych typu Unix - Linux, FreeBSD, Solaris itp.
Jego celem jest odczytywanie danych z jednego urządzenia lub pliku i zapisywanie w innym.

dd może być skutecznie wykorzystany do stworzenia wizerunku twardy dysk, jednocześnie obywając się bez komercyjnych narzędzi, takich jak Acronis prawda Obraz lub Norton Ghost.

Załóżmy, że mamy dwa dyski:

  • /dev/sda to dysk do zobrazowania;
  • /dev/sdb to dysk, na którym zostanie zapisany obraz.

W razie potrzeby zastąp własne wartości.

Pierwszym krokiem jest uruchomienie z dowolnego dostępnego Live-CD z narzędziem dd i wpisanie wiersz poleceń jako superużytkownik. Utwórz punkt montowania dla kopii zapasowej.

mkdir /mnt/kopia zapasowa

Zamontuj dysk twardy, na którym chcesz zapisać obraz.

Utwórz obraz dysku twardego

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M conv=sync,brak błędu

  • if=/dev/sda - skopiuj całe sda ​​dysku twardego;
  • of=/mnt/backup/sda.img - skopiuj do /mnt/backup/sda.img;
  • bs=8M - ustaw rozmiar pamięci podręcznej dysku twardego, aby przyspieszyć procedurę kopiowania (w przeciwnym razie dane zostaną zrzucone w małych porcjach po 512 bajtów);
  • conv=sync,noerror - powiedz dd, aby kopiował bit po bicie, ignorując błędy odczytu.

Aby zmniejszyć rozmiar obrazu dysku twardego, można go skompresować dowolnym archiwizatorem.

dd if=/dev/sda bs=8M conv=sync,brak błędu | gzip -c > /mnt/backup/sda.img

Przywracanie obrazu dysku twardego

Aby przywrócić obraz dysku twardego, należy wykonać procedurę odwrotną do procedury tworzenia tego obrazu.

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M conv=sync,brak błędu

W przypadku równoległej kompresji należy rozpakować obraz.

gunzip -c /mnt/backup/sda.img | dd of=/dev/sda conv=sync,brak błędu bs=8M

Migracja systemu na inny dysk twardy

Aby przeprowadzić migrację całego systemu na inny dysk twardy, jako miejsce docelowe należy ustawić miejsce docelowe nowego dysku.

dd if=/dev/sda of=/dev/sdb bs=8M conv=sync,brak błędu

Następnie, jeśli to konieczne, zainstaluj rozruch z tego dysku twardego. Zakładając, że nowy dysk twardy jest większy niż stary, pozostanie on nieprzydzielonym obszarem. Powinien być oznaczony i sformatowany zgodnie z istniejącymi wymaganiami.

Skopiuj statystyki w dd

Główną wadą dd jest brak wizualnej reprezentacji statystyk wykonania procedury kopiowania. Jednak tę wadę można łatwo obejść. Wystarczy podłączyć do innego terminala.

Określ numer procesu, pod którym działa dd.

Okresowo wysyłaj temu procesowi kill -USR1 dd_process_number.

oglądać -n 5 zabić -USR1 numer_dd_procesu

  • watch -n 5 - uruchamiaj polecenie co 5 sekund;
  • kill -USR1 dd_process_number - pokazuje statystyki kopiowania.

Wady korzystania z dd do tworzenia obrazów dysków

Wszystko ma plusy i minusy. dd jest darmowym i bardzo elastycznym narzędziem, ale może wykonać tylko pełną kopię woluminu. Programy specjalne może kopiować tylko dane przechowywane na dysku.

W ten sposób objętość obrazu dysku utworzonego za pomocą dd będzie równa objętości samego dysku - niezależnie od tego, ile danych znajduje się na dysku.

Jak wiadomo, "użytkownicy komputerów dzielą się na tych, którzy wykonują kopie zapasowe i tych, którzy je zrobią". W tym artykule przyjrzymy się różnym sposobom tworzenia kopii zapasowej (kopii zapasowej) całego systemu i odpowiednio przywracania z kopii zapasowej.

Należy od razu zauważyć, że wszystkie operacje nie powinny być wykonywane „na żywo”, tj. nie na uruchomionym systemie, ale z LiveCD lub systemu zainstalowanego na sąsiedniej partycji/dysku flash/usb-hdd. W przypadkach, gdy kilkuminutowy przestój jest krytyczny dla systemu, możliwe jest skopiowanie systemu spod samego siebie, ale należy wziąć pod uwagę pewne dodatkowe warunki, które nie są jeszcze uwzględnione w tym artykule.

Od teraz do akcji wykonywanych jako root będzie używane polecenie sudo, które jest standardem dla Ubuntu. W innych systemach możliwe jest uzyskanie uprawnień superużytkownika poprzez su , niektóre systemy liveCD działają domyślnie w trybie superużytkownika

smoła

Jednym z najpopularniejszych sposobów tworzenia prostej kopii zapasowej jest archiwizacja danych za pomocą tar. Zaletami tej metody są możliwość tworzenia przyrostowej kopii zapasowej (dodawanie plików do istniejącego archiwum, ich usuwanie lub zmiana), możliwość wyodrębniania poszczególnych plików z archiwum, a także obecność tar w prawie każdym systemie Linux.

Tworzenie archiwum

Najpierw utwórz punkty montowania dla partycji głównej i dla partycji, na której zamierzasz utworzyć kopię zapasową, w ten sposób

Zamontuj obie partycje. Dla większej niezawodności można zamontować partycję główną w trybie tylko do odczytu (tylko do odczytu), aby wyeliminować możliwość przypadkowych zmian danych

sudo mount /dev/sdXY /mnt/root -o ro sudo mount /dev/sdXY /mnt/backup

(Zamiast „sdXY” użyj swoich wartości dla żądanych partycji. Możesz je określić za pomocą sudo fdisk -l lub sudo blkid)

Jeśli używasz oddzielnych partycji dla /boot, /usr, /home itp. i chcesz uwzględnić ich zawartość w kopii zapasowej, zamontuj je w odpowiednich folderach

montowanie sudo /dev/sdXY /mnt/root/usr -o ro montowanie sudo /dev/sdXY /mnt/root/home -o ro

W razie potrzeby utwórz folder na partycji kopii zapasowej, w której chcesz umieścić archiwum, na przykład

sudo mkdir -p /mnt/backup/ubuntu/root

Teraz możesz zacząć tworzyć archiwum. Aby utworzyć skompresowane archiwum gzip, uruchom

Sudo tar -cvzpf -C /mnt/root /mnt/backup/ubuntu-sda1.tar.gz .

(Przełącznik -p umożliwia zapisywanie właścicieli i uprawnień do plików)

Do kompresji bzip2 użyj

Sudo tar -cvjpf /mnt/backup/ubuntu-sda1.tar.bz2 /mnt/root

Do kompresji lzma

sudo tar --lzma -cvpf /mnt/backup/ubuntu-sda1.tar.lzma /mnt/root

Podobnie dla kompresji lzo - przełącz --lzop zamiast --lzma

Różne algorytmy kompresji zapewniają różne rozmiary archiwów, a także różnią się wydajnością.

Pod koniec procesu odmontuj wszystkie zamontowane partycje

Sudo odmontować /mnt/root(/boot,/var,/home,) /mnt/backup

Przywracanie z archiwum

Utwórz punkty montowania dla partycji głównej i partycji, na której przechowywane jest twoje archiwum

Sudo mkdir /mnt/(root, kopia zapasowa)

Zamontuj partycję kopii zapasowej

sudo mount /dev/sdXY /mnt/backup -o ro

Sformatuj partycję główną na ten sam (lub inny) FS. Jeśli używasz oddzielnych partycji dla /usr, /boot itp. i zarchiwizowałeś je, sformatuj je również

(jeśli przywracasz na nowy dysk twardy, podziel go na partycje fdisk/gparted i sformatuj partycje)

Niektóre systemy plików obsługują ustawianie identyfikatora UUID podczas formatowania. Umożliwia to stworzenie systemu plików z tym samym UUID co stary, co pozwoli uniknąć konieczności edycji fstab .

W przypadku ext2/3/4 identyfikator UUID jest ustawiany za pomocą przełącznika -U i można jeszcze bardziej uprościć zadanie za pomocą polecenia takiego jak

sudo mkfs.ext4 -L "etykieta" -U "$(sudo blkid -o wartość -s UUID /dev/sda1)" /dev/sda1

Jeśli użyłeś archiwizacji podczas tworzenia pliku obrazu, najpierw rozpakuj go za pomocą tego samego archiwizatora, na przykład

Bzip2 -dv /media/backup/sda5.dd.bz

Teraz możesz zamontować obraz

sudo mount /media/backup/sda5.dd -o pętla /mnt

(W przypadku opcji pętli program montujący automatycznie „podłączy” plik obrazu do wolnego urządzenia pętli, a następnie zamontuje system plików)

Teraz możesz pracować z zawartością obrazu jak ze zwykłym systemem plików, wszystkie zmiany zostaną zapisane na obrazie. Po zakończeniu odmontuj obraz jako zwykły FS

sudo umount / mnt

dd - skopiuj cały dysk twardy

W takim przypadku ponownie użyjemy dd, tylko tym razem zapiszemy całą zawartość dysku twardego - z tabelą partycji, samymi partycjami i wszystkimi danymi. Zaletą tej metody jest możliwość zapisania wszystkich systemów zainstalowanych na tym dysku twardym w jednym kroku bez konieczności tworzenia kopii zapasowej każdej partycji osobno. Ponadto przy takiej kopii zapasowej wszystkie dane związane z bootloaderem zostaną zapisane - dzięki temu po przywróceniu z kopii zapasowej nie będziesz potrzebować dodatkowych manipulacji, możesz natychmiast uruchomić komputer z tego dysku twardego.

Tworzenie obrazu

Ogólnie procedura jest podobna do opisanej powyżej dla tworzenia kopii zapasowych poszczególnych partycji. W takim przypadku zastosowanie mają również porady dotyczące czyszczenia wolnego miejsca za pomocą „zerów” - jeśli masz wolny czas, zrób to ze wszystkimi sekcjami.

Przed rozpoczęciem operacji upewnij się, że żadna z partycji tego dysku twardego nie jest zamontowana. Możesz to zrobić, uruchamiając polecenie mount bez opcji.

Wybierz partycję, na której zamierzasz umieścić plik obarz. Oczywiście musi to być partycja innego dysku twardego. Upewnij się również, że na tej partycji jest wystarczająco dużo wolnego miejsca (na przykład za pomocą narzędzia df) - ilość wolnego miejsca powinna odpowiadać rozmiarowi skopiowanego dysku twardego (po skompresowaniu obraz będzie mniejszy, ale to zależy od rodzaju przechowywanych danych).

Zamontuj partycję kopii zapasowej

sudo mount /dev/sdXY /mnt

Teraz możesz zacząć

sudo dd if=/dev/sdX bs=1M conv=brak błędu,sync | lzma -cv > /mnt/hdd.dd.lzma

(tutaj "sdX" to dysk, a nie partycja! do kopiowania bez kompresji, polecenie jest podobne do powyższego dla kopii zapasowej partycji)

W zależności od rozmiaru dysku twardego i wydajności komputera procedura może zająć dużo czasu (do kilku godzin). Po zakończeniu odmontuj partycję kopii zapasowej

sudo umount / mnt

Przywracanie z obrazu

Uwaga! Ta metoda polega na całkowitym przywróceniu stanu z chwili tworzenia archiwum z podmianą wszystkich danych!

Przed rozpoczęciem pracy upewnij się, że zasilanie jest niezawodne. Podłącz zasilacz sieciowy, jeśli masz laptopa, i jeśli to możliwe, użyj zasilacza UPS lub stabilizatora. Wysoka intensywność zapisu zwiększa ryzyko uszkodzenia dysku w przypadku awarii zasilania

Upewnij się, że żadna partycja przywracanego dysku nie jest używana. Zamontuj partycję kopii zapasowej

sudo mount /dev/sdXY /mnt

Możesz rozpocząć proces

Bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,brak błędu

Lub dla nieskompresowanego obrazu

sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,brak błędu

Po zakończeniu odmontuj partycję kopii zapasowej

sudo umount / mnt

Jeśli chcesz wypakować obraz na inny dysk twardy, musi on być co najmniej tak duży jak oryginał. Jeśli nowy dysk większy, możesz rozszerzyć partycje lub utworzyć nową partycję z wolnego miejsca za pomocą parted/fdisk/gparted/etc

Nie używaj jednocześnie obu dysków twardych („duplikatu” i „oryginalnego”)! Jeśli oba dyski są podłączone, system będzie miał dwie partycje dla każdego UUID, co doprowadzi do problemów w działaniu lub niemożności uruchomienia

Montaż obrazu

Przez analogię z obrazem partycji możesz pracować z obrazem dysku twardego tak, jak ze zwykłym dyskiem twardym. W tym przypadku procedura jest nieco bardziej skomplikowana, ponieważ obraz zawiera kilka sekcji.

Jeśli obraz jest skompresowany, rozpakuj go. Teraz „zahacz” obraz na urządzeniu pętlowym

sudo losetup -fv /media/backup/sda.dd

(Z przełącznikiem -f program automatycznie znajdzie wolne urządzenie pętli, w przeciwnym razie musisz je wyraźnie określić)

Lostup wyświetli nazwę używanego urządzenia - chyba że pracujesz z innymi plikami graficznymi (iso, zaszyfrowanymi kontenerami itp.), najprawdopodobniej będzie to /dev/loop0

Teraz mamy urządzenie, które jest dyskiem twardym dla systemu, ale nie mamy dostępu do jego partycji. Program kpartx pomoże ci dostać się do partycji (może być konieczne zainstalowanie pakietu o tej samej nazwie)

sudo kpartx -av /dev/loop0

(Switch -a - dodaj partycje dla określonego urządzenia; -v - wyjście informacyjne)

Program wyświetli nazwy utworzonych urządzeń dla partycji dyskowych: loop0p1 dla pierwszej partycji, loop0p2 - dla drugiej, analogicznie do partycji dysku zwykłego. Pliki urządzeń będą w folderze /dev/mapper

Teraz możesz na nich pracować z partycjami i FS. Na przykład zamontuj poprzednie sda5 i zapisz do niego pliki

sudo mount /dev/mapper/loop0p5 /mnt

Po zakończeniu odmontuj partycję

sudo umount / mnt

Usuń urządzenia partycji za pomocą kpartx

sudo kpartx -dv /dev/loop0

i zwolnij urządzenie pętli

sudo losetup -v -d /dev/loop0

Wszystko! Zmiany zostały zapisane, a Twój obraz znów stał się zwykłym plikiem.

cp

Tutaj rozważymy kopię zapasową za pomocą narzędzia cp, tj. za pomocą prostej kopii. W rzeczywistości nie jest to najlepszy sposób i jest bardziej odpowiedni do kopiowania systemu na inny dysk twardy / partycję / komputer, niż tworzenia kopii zapasowej.

Z drugiej strony ta metoda ma kilka zalet:

    Wszechstronność - cp można znaleźć w każdym systemie Linux

    Niskie wymagania dotyczące zasobów (ze względu na brak kompresji i prostotę mechanizmu)

    Łatwość dalszej pracy z backupem (dodawanie/zmiana/usuwanie plików, wyodrębnianie potrzebnych danych itp.)

Wykonywanie kopii

Utwórz punkty montowania dla partycji głównych i zapasowych

Sudo mkdir /mnt/(root, kopia zapasowa)

Zamontuj obie partycje

sudo mount /dev/sdXY -o ro /mnt/root sudo mount /dev/sdXY /mnt/backup

Zamontuj partycje dla /usr, /boot itp., jeśli są

sudo mount /dev/sdXY -o ro /mnt/root/home

Utwórz folder na partycji kopii zapasowej dla kopii zapasowej

Sudo mkdir /mnt/backup/ubuntu

Możesz zaczynać

Sudo cp -av /mnt/root/* /mnt/backup/ubuntu

(przełącznik -a umożliwia kopiowanie linków "tak jak jest", zapisywanie wszystkich możliwych atrybutów plików i tryb rekurencyjny. przełącznik -v - wyświetla informacje o tym, co się dzieje)

Pod koniec procesu odmontuj wszystkie partycje

W przyszłości możesz archiwizować swoje dane w dowolny dogodny sposób.

Przywracanie z kopii

Uwaga! Ta metoda polega na całkowitym przywróceniu stanu z chwili tworzenia archiwum z podmianą wszystkich danych!

Utwórz punkty montowania dla partycji

Sudo mkdir /mnt/(root, kopia zapasowa)

Zamontuj partycję kopii zapasowej

sudo mount /dev/sdXY -o ro /mnt/backup

Sformatuj partycję główną i partycje /usr, /boot itp., jeśli istnieją. (Formatowanie partycji z zapisywaniem UUID, patrz rozdział o)

sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Zamontuj nowo utworzony FS

Proces kopiowania przebiega podobnie, tylko w odwrotnym kierunku.

sudo cp /mnt/backup/ubuntu/* -av /mnt/root

Po zakończeniu kopiowania edytuj fstab, aby poprawić UUID partycji

Odmontuj partycje

sudo umount /mnt/backup /mnt/root/(usr,home,)

kabaczki

sudo mkfs.reiserfs -l "root" /dev/sdXY sudo mkfs.ext2 -L "boot" /dev/sdXY sudo mkfs.ext4 -L "home" /dev/sdXY

Zamontuj nowo utworzony FS

sudo mount /dev/sdXY /mnt/root sudo mount /dev/sdXY /mnt/root/usr sudo mount /dev/sdXY /mnt/root/var

Możesz zaczynać! Do rozpakowania obrazu służy narzędzie unsquashfs.

sudo unsquashfs -d /mnt/root -f /mnt/backup/ubuntu-root.sqfs

(Klucz -d określa ścieżkę do rozpakowania; z klawiszem -f program użyje istniejących folderów zamiast próbować tworzyć nowe)

Podobnie jak w przypadku tworzenia obrazów, zobaczysz pasek postępu i wiele innych przydatnych informacji.

Po zakończeniu edytuj fstab, aby zastąpić UUID partycji nowymi (jeśli sformatowałeś partycje z tymi samymi UUIDami, pomiń ten krok)

Sudo nano /mnt/root/etc/fstab

Zapisz plik i odmontuj wszystkie partycje

sudo umount /mnt/backup /mnt/root(/usr,/var,)

Montaż obrazu

squashfs jest montowany jak każdy inny obraz - poprzez urządzenie pętlowe. Obsługa jądra dla squashfs jest zawarta w wielu dystrybucjach, w tym Ubuntu, więc wystarczy użyć polecenia mount z opcją pętli

sudo mount /media/backup/ubuntu-root.sqfs -o ro,loop /mnt

(Opcja ro nie jest wymagana, ponieważ pisanie tam nadal nie działa)

Teraz możesz skopiować dowolne pliki z obrazu. Dodanie czegoś w ten sposób nie zadziała, do tego będziesz musiał ponownie użyć mksquashfs

Po zakończeniu odmontuj obraz jako normalny system plików

sudo umount / mnt

rsync

Podobnie jak cp , rsync działa na plikach, a nie na urządzeniach blokowych. Osobliwością rsync jest to, że nie kopiuje plików, które już znajdują się w miejscu docelowym. Domyślnie sprawdza rozmiar i czas modyfikacji plików, ale można również sprawdzić skrót (zwykle robi się to, gdy potrzebne jest zwiększone bezpieczeństwo).

Łatwy w użyciu

Składnia rsync jest podobna do cp:

Rsync -a /mnt/root /mnt/backup

Bardzo często wystarcza opcja -a, która zapewnia najbardziej potrzebne: rekurencyjne kopiowanie katalogów, zapisywanie informacji o właścicielu i grupie itp. Aby wyświetlić szczegółowe informacje o kopiowaniu, używany jest przełącznik -v, bądź ostrożny, możesz pominąć komunikat o błędzie w strumieniu danych. Przełącznik -x zapewnia, że ​​rsync nie wykroczy poza określony system plików.

Dokumentacja rsync opisuje wiele opcji. Na przykład istnieją takie, które umożliwiają kopiowanie przez SSH lub usuwanie pliku z miejsca docelowego, jeśli został usunięty w katalogu źródłowym.

„Inteligentne” kopiowanie skraca czas przestoju systemu. Uruchamiamy rsync bezpośrednio w działającym systemie, w którym dane ciągle się zmieniają, rsync kopiuje dane, powiedzmy, przez kilka godzin. Następnie umieszczamy system w trybie tylko do odczytu, ponownie uruchamiamy rsync, teraz kopiuje tylko te pliki, które zmieniły się w ciągu tych kilku godzin. W kilka minut mamy kompletną kopię oryginalnego FS. Jednocześnie czas przestoju został skrócony o rząd wielkości w porównaniu z kopiowaniem offline. W niektórych przypadkach wystarczy jedna kopia online bez przenoszenia systemu do trybu tylko do odczytu.

Przechowywanie poprzednich kopii

Ściśle mówiąc, rsync nie jest narzędziem do tworzenia kopii zapasowych - to narzędzie do synchronizacji. Jest to ważne podczas wykonywania regularnych kopii zapasowych, ponieważ jeśli jakikolwiek ważny plik został usunięty z katalogu roboczego źródła, rsync usunie go również z kopii zapasowej. Aby zwiększyć bezpieczeństwo danych, wskazane jest przechowywanie starych kopii zapasowych. Jednak samo zapisanie wielu kopii będzie wymagało dużej ilości miejsca na dysku twardym. Jeśli kopie zawierają wiele takich samych plików, prowadzi to do niepotrzebnej nadmiarowości. Ten problem można rozwiązać za pomocą twardych łączy.

Najważniejsze jest to, że w nowoczesnych systemach plików (w tym Ext4) adresowanie plików odbywa się w dwóch etapach: nazwa pliku wskazuje na unikalny numer pliku (deskryptor indeksu lub i-węzeł), a same dane są kojarzone z tym numerem. Każda nazwa pliku jest w rzeczywistości twardym linkiem do tego numeru. W związku z tym plik (zestaw danych) może mieć kilka nazw i znajdować się w różnych katalogach, co pozwala wyeliminować nadmiarowość w przypadku konieczności duplikowania plików (w końcu twarde łącze zajmuje mało pamięci). Same dane nie są usuwane, dopóki nie zostanie zażądane usunięcie ostatniego twardego łącza.

Istotnym ograniczeniem jest to, że dowiązania twarde są możliwe tylko w tym samym systemie plików.

Synchronizacja zawartości katalogu dla bieżącej kopii zapasowej z katalogiem źródłowym:

rsync \ --archive \ --delete --delete-excluded \ # usuń z kopii zapasowej nieistniejące w źródle i wykluczone pliki--postęp \ # drukuj informacje o postępie transferu"/home/użytkownik/Pliki/" \ # katalog źródłowy"/kopia zapasowa/najnowsze/" \ # katalog na bieżącą kopię zapasową--exclude="/Publiczny/" # wyklucz niepotrzebne katalogi

W katalogu /backup/latest/ zostanie utworzona kopia wszystkich niezbędnych plików i katalogów ze źródła, a wszystko, co niepotrzebne, zostanie usunięte.

Utwórz kolejną bieżącą kopię zapasową bez nadmiarowości:

cp\ --archiwum\ # zapisz wszystkie dodatkowe informacje o plikach--link \ # używaj twardych linków do plików - eliminując nadmiarowość"/kopia zapasowa/najnowsze/" \ # źródło to bieżąca kopia zapasowa uzyskana powyżej "/backup/$(data +%Y-%m-%d_%H-%M-%S) /" # miejsce docelowe to katalog z datą w nazwie dla wygody (patrz man data)

Przy następnym utworzeniu kopii zapasowej rsync usunie pliki w katalogu /backup/latest/, które zostały usunięte/wykluczone/zmodyfikowane w katalogu źródłowym (zmienione pliki są najpierw usuwane, a następnie zapisywane w nowa wersja). Jednak tylko nazwy plików (te same twarde linki) zostaną usunięte, same pliki (dane) zostaną zapisane, ponieważ twarde linki zostały utworzone na nich w sąsiednim katalogu za pomocą polecenia „cp”.

Inne narzędzia

Istnieje wiele aplikacji do tworzenia kopii zapasowych w systemie Linux. Możesz wyszukać „kopia zapasowa” w Centrum oprogramowania Ubuntu, aby znaleźć oprogramowanie do tworzenia kopii zapasowych dostępne w Ubuntu.

W przypadku środowiska korporacyjnego i tylko w przypadku dość dużych i krytycznych zadań tworzenia kopii zapasowych możemy polecić zrozumienie jednego z najpopularniejszych i najpotężniejszych systemów tworzenia kopii zapasowych dla systemu Linux o nazwie Bacula

Nawiasem mówiąc, w sieci można również znaleźć instrukcje w języku rosyjskim.

Rozdzielona magia

Parted Magic to kolejny świetny, ale płatny zestaw dystrybucyjny zawierający całą kolekcję narzędzi do tworzenia kopii zapasowych i przywracania informacji, pracy z dyskami i partycjami, a także odzyskiwania utraconych danych. Obsługuje wiele systemów plików, LVM2 i RAID (zarówno sprzęt, jak i oprogramowanie) i zawiera narzędzia takie jak fsarchiver , GParted , Clonezilla wspomniane powyżej oraz wszystko, czego potrzebujesz do metod opisanych w tym artykule. Ponadto zestaw dystrybucyjny zawiera przeglądarkę internetową i inne dodatkowe oprogramowanie. Pakiet dystrybucyjny jest przetłumaczony na kilka języków, w tym na rosyjski, i ma pełnoprawny interfejs graficzny.

LParted

LParted to w pełni funkcjonalny LiveCD przeznaczony głównie do pracy z partycjami dysków twardych (HDD), trwałego usuwania lub przywracania danych oraz testowania sprzętu. LiveCD oparte na systemie Lubuntu Linux. LParted to funkcjonalny odpowiednik Parted Magic.

Tutaj dodałbym o SystemRescueCD i innych

Więcej o oszczędzaniu danych

    W przypadku ważnych danych możesz utworzyć partycję lustrzaną na dwóch dyskach. Aby to zrobić, nie jest konieczne posiadanie kontrolera RAID i dysków o tym samym rozmiarze - możesz na przykład złożyć lustro ze starej śruby 80 GB i partycję 80 GB na nowej. Dublowanie można zaimplementować za pomocą LVM lub programowej macierzy RAID. Jednak ta metoda jest bezużyteczna w przypadku, gdy na przykład napięcie ~220 V uderza w magistralę +5 V lub meteoryt spada na jednostkę systemową komputera.

    Maniacy IT, którzy mają w domu własny serwer, mogą rozszerzyć ideę mirroringu i korzystać z DRBD. Ten sam RAID-1, ale dyski twarde są w różnych komputerach, co zwiększa niezawodność.

    Nowoczesnym wygodnym rozwiązaniem jest tworzenie kopii zapasowych danych w „chmurach”, na przykład za pomocą Ubuntu One, Dropbox, http://www.adrive.com/ i innych.

    Ani dublowanie, ani replikacja w Ubuntu One nie uchroni cię przed przypadkowym naciśnięciem Usuń, więc i tak twórz „klasyczne” kopie zapasowe. I pewnego pięknego strasznego dnia wszystkie twoje trudy i wysiłki zostaną nagrodzone.

    Rufus- darmowy oprogramowanie otwarty kod źródłowy do formatowania wymiennych nośników pamięci USB i tworzenia dysków rozruchowych z różnymi systemami operacyjnymi. Program jest łatwy w obsłudze, szybki i obsługuje wielojęzyczny interfejs.

Program można pobrać ze strony dewelopera. Strona zawiera linki do pobrania wersji standardowej Rufus i przenośny Przenośny Rufus, które nie różnią się niczym, z wyjątkiem nazwy pliku wykonywalnego i lokalizacji, w której przechowywane są ustawienia. Ustawienia programu obejmują używany język i ustawienia sprawdzania dostępności aktualizacji. Wersja standardowa przechowuje te ustawienia w rejestrze, podczas gdy wersja przenośna przechowuje je w pliku rufus.ini katalog programu. Rufus nie wymaga instalacji w systemie - wystarczy pobrać plik wykonywalny i go uruchomić. Interfejs programu jest bardzo prosty:

Ogólnie program Rufus nie jest czymś wyjątkowym w dziedzinie narzędzi do tworzenia nośników startowych, a jego główną zaletą jest łatwość obsługi. Aby za jego pomocą utworzyć bootowalny dysk flash, wystarczy mieć początkowy obraz systemu startowego i móc kliknąć przycisk „Start”. Wszystkie wybieralne parametry i ustawienia domyślnie są już przystosowane do używania programu do pracy na komputerze o standardowej konfiguracji.

Najprostszy i najwygodniejszy w użyciu Rufus do tworzenia rozruchowego dysku flash (rozruchowego dysku USB) z obrazów ISO dysków instalacyjnych systemu Windows lub Linux, a także dysków do awaryjnego odzyskiwania systemu i narzędzi diagnostycznych.

Podczas tworzenia rozruchowego dysku flash systemu Windows wystarczy wybrać urządzenie, na którym zostanie wykonane nagranie oraz rozruchowy plik obrazu ISO. Program sam zastąpi inne parametry.

Jeśli nie ma dostępnego pliku obrazu ISO, można go utworzyć z fizycznej płyty CD (lub z zestawu plików dystrybucyjnych) za pomocą programów do nagrywania płyt CD / DVD, takich jak dobrze znany Nero, Alcohol lub swobodnie dystrybuowany CDBurnerXP lub ImgBurn.

Procedura tworzenia rozruchowego dysku flash systemu Windows jest następująca:

  • wybierz dysk flash, na który zostanie zapisany obraz. W przeciwieństwie do wielu podobnych programów, Rufus wyświetla etykietę woluminu, literę dysku i rozmiar, więc jeśli w systemie jest kilka dysków wymiennych, łatwo wybrać ten, na którym chcesz pisać.

  • wybierz schemat partycji i typ interfejsu systemu. Rufus umożliwia tworzenie dysków flash do uruchamiania w zwykłym interfejsie BIOS i uruchamiania w środowisku UEFI, tworzenie rekordów rozruchowych dla woluminów MBR i woluminów GPT. Domyślnym trybem jest „MBR dla komputerów z systemem BIOS lub UEFI” - obecnie najpopularniejszy tryb rozruchowych dysków flash.

  • wybierz system plików, który będzie używany na utworzonym rozruchowym dysku flash. Domyślnie w przypadku rozruchowych dysków flash systemu Windows używany jest system plików FAT32, ale w razie potrzeby możesz wybrać NTFS jeśli chcesz używać plików większych niż 4 GB.

  • ustaw rozmiar klastra. Rozmiar klastra jest wybierany przez program na podstawie danych obrazu i typu systemu plików, ale w razie potrzeby można go zmienić.

  • określ etykietę woluminu, która zostanie ustawiona dla utworzonego dysku flash.

  • ustawić opcje formatowania. Najlepiej pozostawić te opcje domyślnie i po prostu wybrać plik obrazu ISO. W przypadku obrazów tworzonych przez program dd w systemie Linux musisz wybrać opcję Obraz DD.

    Po naciśnięciu przycisku Początek program sformatuje dysk flash, ustawi flagę aktywnej partycji, zapisze główny rekord rozruchowy i rekord rozruchowy partycji, a także dane nośnika startowego z obrazu ISO. Po zakończeniu prac Rufus możesz uruchomić komputer za pomocą wynikowego rozruchowego dysku flash.

    Korzystanie z technologii wirtualizacji do testowania rozruchowych dysków flash. Pobierz łącza do bezpłatnych i przydatnych programów, aby uprościć proces tworzenia, debugowania i sprawdzania utworzonego nośnika startowego.

  • mob_info