Jak wykonać kopię zapasową i przywrócić serwer za pomocą obrazów dysku dd | INTROSERV
EUR
european

EUR

usa

USD

Poland Pl
Ex. VAT Ex. VAT 0%

Jak wykonać kopię zapasową i przywrócić serwer za pomocą obrazów dysku dd

dd tworzy obraz całego dysku sektor po sektorze. Za pomocą tego obrazu można przywrócić dysk do stanu, w jakim znajdował się w momencie wykonywania kopii zapasowej. Ten poradnik pokazuje, jak utworzyć obraz dysku za pomocą dd oraz jak go przywrócić. Ponieważ dd działa na poziomie dysku, uruchamiaj je ze środowiska live (Finnix), a nie z działającego systemu, który kopiujesz.

Używaj dd, gdy potrzebujesz kopii całego dysku na poziomie bloków. Do kopii zapasowych na poziomie plików (pojedyncze pliki i foldery) zazwyczaj lepiej sprawdzają się rsync lub tar.

Zanim zaczniesz

  • ISO Finnix
  • dostęp do IP-KVM serwera (KVM oparty na IP)
  • miejsce do przechowywania z wystarczającą ilością wolnego miejsca na obraz (patrz uwaga w scenariuszach kopii zapasowej)
  • dane uwierzytelniające SSH, jeśli wykonujesz kopię zapasową do zdalnego magazynu
  • dostęp root

1. Krótka uwaga o dd

dd kopiuje dane blok po bloku. Istotne części polecenia:

  • if= źródło (skąd odczytujemy)
  • of= cel (gdzie zapisujemy)
  • bs=8M ustawia rozmiar bloku i może poprawić wydajność kopiowania
  • status=progress pokazuje, ile już skopiowano, przydatne przy dużych dyskach

Domyślnie poniższe polecenia kopiują sprawny dysk. Jeśli dysk źródłowy ma błędy odczytu, dodaj conv=noerror,sync: dd będzie wtedy kontynuować mimo błędów odczytu zamiast się zatrzymywać, a nieczytelne bloki wypełni zerami. Zachowuje to wyrównanie kolejnych bloków, ale wypełnione obszary tracą dane, przez co system plików w obrazie może zostać uszkodzony. W przypadku uszkodzonego dysku rozważ użycie ddrescue, zaprojektowanego do odzyskiwania danych z uszkodzonych dysków i prowadzącego mapę błędów odczytu.

Warning

dd całkowicie nadpisuje cel bez pytania o potwierdzenie. Błędny parametr of= niszczy dane. Zawsze sprawdzaj nazwy urządzeń przed uruchomieniem jakiegokolwiek polecenia.

2. Przygotowanie

Uruchom system z Finnix. Zamontuj ISO Finnix przez IP-KVM i uruchom z niego serwer. Dzięki temu możesz pracować z dyskami serwera bez uruchamiania zainstalowanego systemu operacyjnego z dysku, którego kopię zapasową wykonujesz. Unikaj tworzenia obrazu działającego systemu: jeśli dysk źródłowy ma zamontowane systemy plików, które są modyfikowane, obraz może być niespójny. Upewnij się, że dysk źródłowy nie jest używany przez działające środowisko.

Zidentyfikuj dyski. Wyświetl listę dysków wraz z ich rozmiarami i punktami montowania:

lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS

Alternatywnie:

fdisk -l

Znajdź dysk systemowy (na przykład /dev/sda) i zanotuj jego nazwę urządzenia. To najważniejszy krok: dd nie prosi o potwierdzenie, więc pomyłka tutaj skasuje niewłaściwy dysk. W poniższych poleceniach /dev/sda jest tylko przykładem. Zastąp go rzeczywistym dyskiem zidentyfikowanym za pomocą lsblk. Przed utworzeniem obrazu upewnij się, że dysk źródłowy nie ma żadnych punktów montowania w wynikach polecenia lsblk.

3. Scenariusz A: kopia zapasowa do magazynu w chmurze przez SSHFS (CloudBox)

Użyj tej metody, aby zapisać obraz w INTROSERV CloudBox lub dowolnym magazynie SSH. Dane uwierzytelniające SSH (użytkownik, host, ścieżka) znajdziesz w szczegółach zamówienia.

Utwórz punkt montowania:

mkdir -p /mnt/backup

Zamontuj magazyn w chmurze:

sshfs user@host:/path /mnt/backup

Utwórz obraz dysku:

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress

Po zakończeniu dd zgłasza, ile danych skopiowano. Obraz sda.img znajduje się teraz w Twoim magazynie w chmurze.

Info

Duża kopia przez SSHFS może być wolna. Jeśli połączenie SSH zostanie przerwane, kopiowanie może się nie powieść, a obraz może być niekompletny.

Info

Rozmiar obrazu odpowiada w przybliżeniu rozmiarowi całego dysku źródłowego, a nie ilości wykorzystanych danych. Dysk 2 TB zawierający 100 GB danych i tak utworzy obraz o rozmiarze około 2 TB. Upewnij się, że magazyn ma wystarczająco dużo wolnego miejsca.

Opcjonalnie: aby zaoszczędzić miejsce i zmniejszyć transfer sieciowy, skompresuj obraz podczas jego tworzenia:

dd if=/dev/sda bs=8M status=progress | gzip -c > /mnt/backup/sda.img.gz

Przywróć skompresowany obraz za pomocą:

gunzip -c /mnt/backup/sda.img.gz | dd of=/dev/sda bs=8M status=progress

Rozmiar po kompresji zależy od tego, jak dobrze kompresowalna jest zawartość dysku. Poniższa weryfikacja sumy kontrolnej dotyczy nieskompresowanego pliku .img.

4. Scenariusz B: kopia zapasowa na inny dysk fizyczny w tym samym serwerze

Użyj tej metody, jeśli serwer ma drugi dysk (na przykład /dev/sdb) wystarczająco duży, aby pomieścić obraz. Dysk docelowy musi mieć wystarczającą ilość wolnego miejsca na obraz całego dysku źródłowego i nie może być dyskiem źródłowym.

Utwórz punkt montowania i zamontuj drugi dysk:

mkdir -p /mnt/backup mount /dev/sdb1 /mnt/backup

Utwórz obraz dysku:

dd if=/dev/sda of=/mnt/backup/sda.img bs=8M status=progress

5. Weryfikacja obrazu (opcjonalnie)

Aby zweryfikować obraz, oblicz sumę kontrolną SHA-256 dysku źródłowego i obrazu, a następnie je porównaj. Dysk źródłowy nie może się zmienić między utworzeniem obrazu a obliczeniem sumy kontrolnej. Operacja ta ponownie odczytuje cały dysk, więc na dużych dyskach zajmuje to trochę czasu:

sha256sum /dev/sda sha256sum /mnt/backup/sda.img

Obie wartości powinny się zgadzać.

6. Przywracanie

Przywracanie jest odwrotnością tworzenia kopii zapasowej: obraz staje się źródłem (if=), a dysk staje się celem (of=). Uruchom ponownie system z Finnix i zamontuj magazyn zawierający obraz, tak samo jak podczas tworzenia kopii zapasowej.

Przed przywróceniem upewnij się, że dysk docelowy nie jest mniejszy niż oryginalny. Obrazu całego dysku nie można przywrócić na mniejszy dysk, nawet jeśli na dysku źródłowym wykorzystano niewiele danych.

Z magazynu w chmurze:

dd if=/mnt/backup/sda.img of=/dev/sda bs=8M status=progress

Z drugiego dysku: najpierw go zamontuj, a następnie uruchom to samo polecenie. Tutaj również /dev/sda jest tylko przykładem. Zastąp go rzeczywistym dyskiem docelowym.

Warning

Przywracanie nadpisuje cały dysk docelowy. Upewnij się, że parametr of= wskazuje na dysk, który chcesz przywrócić. Po zakończeniu działania dd uruchom ponownie serwer i uruchom go z przywróconego dysku.

Jeśli dysk docelowy jest większy niż oryginalny, dodatkowa przestrzeń pozostaje nieużywana. W razie potrzeby możesz później rozszerzyć partycję i system plików; dokładne polecenia zależą od układu partycji i systemu plików. Jeśli przywracasz na inny sprzęt, może być wymagana dodatkowa konfiguracja rozruchu. Jeśli dysk źródłowy korzysta z LVM, LUKS, RAID lub innej warstwy magazynowania, po przywróceniu może być wymagana dodatkowa konfiguracja, zwłaszcza na innym sprzęcie.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA