Jak odzyskać dane z wirtualnych dysków QCOW2 i migawek KVM (QEMU) w RHEL 7.9

W tym artykule wyjaśnimy, jak odzyskać wirtualne dyski KVM i migawki w Red Hat Enterprise Linux 7.9, określić przyczynę utraty danych oraz przywrócić dostęp do informacji przy użyciu odpowiednich narzędzi.

Jak odzyskać dane z wirtualnych dysków QCOW2 i migawek KVM (QEMU) w RHEL 7.9

Wirtualizacja oparta na KVM (Kernel-based Virtual Machine) i QEMU jest szeroko stosowana w Red Hat Enterprise Linux 7.9 do tworzenia i zarządzania maszynami wirtualnymi. Ich systemy operacyjne, aplikacje i pliki użytkowników są przechowywane na dyskach wirtualnych, na przykład w formatach QCOW2 lub RAW. Migawki mogą służyć do zachowania poprzedniego stanu maszyn wirtualnych, umożliwiając powrót do określonego punktu w czasie. Jednak przypadkowe usunięcie plików, uszkodzenie obrazu dysku, awaria dysku fizycznego lub uszkodzony łańcuch migawek mogą prowadzić do utraty dostępu do krytycznych danych.

Przejdź do widoku
Jak odzyskać maszyny wirtualne KVM (QEMU) i migawki z RHEL 7.9

Jak odzyskać maszyny wirtualne KVM (QEMU) i migawki z RHEL 7.9

Architektura KVM i LVM w RHEL 7.9

Przyjrzyjmy się bliżej architekturze naszego systemu serwerowego.

Sam system operacyjny Red Hat Enterprise Linux 7.9 jest zainstalowany na oddzielnym dysku systemowym z systemem plików XFS. Jednak pamięć masowa dla środowiska wirtualizacji KVM wykorzystuje złożony, wielowarstwowy podsystem dyskowy.

Architektura KVM i LVM w RHEL 7.9

System opiera się na macierzach dyskowych RAID 5 i RAID 0. Na ich bazie wdrożone są logiczne wolumeny LVM. W celu zapewnienia bezpieczeństwa danych wolumeny te są dodatkowo szyfrowane przy użyciu standardu LUKS, a dopiero wewnątrz tego kontenera kryptograficznego tworzony jest system plików ext4, w którym bezpośrednio przechowywane są pliki maszyn wirtualnych.

Całym tym środowiskiem zarządza demon Libvirt, który w wygodny sposób abstrahuje fizyczną hierarchię dysków do postaci pul pamięci masowej i kojarzy je z konfiguracjami każdej maszyny wirtualnej. Jednak w momencie awarii ta wygoda działa przeciwko nam, ponieważ gdy warstwa pamięci masowej niższego poziomu ulega awarii, Libvirt natychmiast traci połączenie z pulami. W rezultacie wszystkie maszyny wirtualne po prostu znikają z konsoli zarządzania albo natychmiast stają się niedostępne.

Główny problem polega na tym, że tak złożona architektura znacząco komplikuje proces odzyskiwania danych. Cała ta struktura (RAID, LVM, LUKS i ext4) jest ściśle ze sobą powiązana. Awaria na dowolnym z tych poziomów natychmiast przerywa cały łańcuch i całkowicie blokuje dostęp do maszyn wirtualnych.

Przejdźmy bezpośrednio do maszyn wirtualnych. Korzystają one z wirtualnych dysków w popularnym formacie qcow2. Format ten obsługuje migawki, czyli zapisy stanu systemu w określonym momencie. Przechowywanie wszystkich migawek i bieżących zmian w jednym pliku dysku wirtualnego jest niezwykle wygodne z punktu widzenia administracji i zarządzania zasobami.

Z punktu widzenia niezawodności oznacza to jednak dużą podatność systemu. Jeśli ten pojedynczy plik qcow2 ulegnie logicznemu uszkodzeniu na skutek awarii systemu hosta, istnieje ryzyko utraty nie tylko bieżącej działającej wersji maszyny wirtualnej, ale także wszystkich zapisanych stanów jednocześnie.

Na szczęście nie oznacza to trwałej utraty informacji, ponieważ za pomocą Hetman RAID Recovery można przeanalizować uszkodzoną strukturę i skutecznie odzyskać zarówno same dyski wirtualne, jak i dane zapisane wewnątrz nich.

Do odzyskiwania danych z uszkodzonych macierzy RAID, urządzeń NAS i innych wielodyskowych systemów pamięci masowej.
Komponent Przeznaczenie i funkcje
KVM (Kernel-based Virtual Machine) Moduł jądra Linux zapewniający wirtualizację sprzętową i umożliwiający uruchamianie maszyn wirtualnych w systemie RHEL 7.9.
QEMU Emuluje sprzęt wirtualny i zapewnia działanie maszyn wirtualnych, w tym dostęp do ich dysków wirtualnych.
libvirt Zestaw narzędzi do zarządzania wirtualizacją, służący do tworzenia, uruchamiania, zatrzymywania i konfigurowania maszyn wirtualnych za pomocą narzędzia virsh i innych aplikacji.
Maszyna wirtualna (VM) Izolowane środowisko, w którym działa system operacyjny gościa wraz z aplikacjami, ustawieniami i plikami.
Dysk wirtualny QCOW2 Format obrazu dysku QEMU obsługujący dynamiczną alokację przestrzeni, metadane oraz migawki wewnętrzne. Może również stanowić element zewnętrznego łańcucha migawek.
Dysk wirtualny RAW Obraz dysku bez dodatkowej struktury kontenera QCOW2. Może być przechowywany w pliku lub na urządzeniu blokowym LVM.
Migawka (Snapshot) Zapisany stan dysku lub maszyny wirtualnej. Migawki mogą być wewnętrzne, przechowywane w jednym pliku QCOW2, albo zewnętrzne, w przypadku których zmiany są zapisywane w osobnym pliku.
Zewnętrzny łańcuch migawek Sekwencja obejmująca obraz bazowy i dyski podrzędne przechowujące zmiany. Aby uzyskać dostęp do aktualnego stanu danych, należy zachować prawidłowe powiązania między plikami.
LVM (Logical Volume Manager) System zarządzania wolumenami logicznymi w systemie Linux, umożliwiający łączenie urządzeń fizycznych w grupy wolumenów oraz tworzenie wolumenów logicznych na potrzeby dysków wirtualnych.
PV (Physical Volume) Urządzenie fizyczne lub partycja przygotowana do użycia w LVM. Stanowi podstawowy poziom struktury LVM.
VG (Volume Group) Grupa wolumenów łącząca jeden lub więcej PV i udostępniająca przestrzeń do tworzenia wolumenów logicznych.
LV (Logical Volume) Wolumen logiczny, który może pełnić funkcję urządzenia blokowego do przechowywania dysku wirtualnego RAW lub systemu plików zawierającego obrazy QCOW2.
System plików hosta System plików w systemie RHEL, taki jak XFS lub ext4, służący do przechowywania plików dysków wirtualnych i konfiguracji maszyn wirtualnych.
Konfiguracja XML libvirt Zawiera parametry maszyny wirtualnej, w tym ścieżkę do dysku, typ kontrolera i inne ustawienia. Pomaga ustalić, który obraz dysku był używany przez maszynę wirtualną.
Metadane LVM Zawierają informacje o wolumenach fizycznych, grupach wolumenów i wolumenach logicznych. Uszkodzenie tych metadanych może uniemożliwić dostęp do wolumenów logicznych i zapisanych na nich danych.

Podłączanie dysków do komputera

Aby rozpocząć proces odzyskiwania, należy fizycznie wyjąć dyski z uszkodzonego serwera i podłączyć je do komputera. Najlepszą i najszybszą opcją jest bezpośrednie podłączenie do płyty głównej komputera za pomocą portów SATA lub SAS.

Można również użyć zewnętrznych stacji dokujących USB lub adapterów, należy jednak pamiętać, że może to obniżyć prędkość skanowania.

Ważna zasada podczas składania macierzy: aby skutecznie odzyskać dane z macierzy RAID 5, wystarczy podłączyć wszystkie dyski oprócz jednego uszkodzonego. W przypadku macierzy RAID 0 konieczne jest jednak podłączenie absolutnie wszystkich dysków należących do macierzy; w przeciwnym razie odzyskanie danych będzie niemożliwe.

Jeśli brakuje wolnych portów do podłączenia wszystkich dysków lub jeśli dyski wykazują oznaki awarii sprzętowej, najlepszym rozwiązaniem jest utworzenie obrazów sektor po sektorze. Ta wbudowana funkcja Hetman RAID Recovery umożliwia zapisanie dokładnej kopii każdego dysku w pliku, bajt po bajcie. Praca z obrazami jest standardową praktyką bezpieczeństwa, ponieważ skanowanie odbywa się bez fizycznego obciążania oryginalnych dysków serwera.

Aby utworzyć obraz, zaznacz podłączony dysk w głównym oknie i kliknij przycisk Zapisz dysk na górnym panelu, określając ścieżkę zapisu.

Hetman RAID Recovery: tworzenie obrazu dysku sektor po sektorze

Po utworzeniu wszystkich obrazów zamontuj je w programie: otwórz menu główne i wybierz Montuj dysk.

Hetman RAID Recovery: otwórz menu główne i wybierz Montuj dysk

Wybierz typ Obrazy dysków RAW i otwórz zapisane pliki.

Hetman RAID Recovery: Montuj dysk - Obrazy dysków RAW

Natychmiast pojawią się na liście dostępnych urządzeń, gotowe do automatycznego składania macierzy i dalszego skanowania.

Hetman RAID Recovery: zamontowane dyski

Jak odzyskać maszyny wirtualne KVM (QEMU) i migawki z RHEL 7.9

METODA 1. Odzyskiwanie plików maszyny wirtualnej

Przejdźmy do praktyki i rozważmy odzyskiwanie dostępu do pliku wirtualnego dysku qcow2.

W naszym przypadku plik nie został usunięty, lecz dostęp do niego został całkowicie zablokowany w wyniku nagłej awarii sprzętowej serwera i późniejszego zniszczenia logicznej struktury macierzy.

Hetman RAID Recovery: automatycznie wykryte partycje RAID

Jednak algorytmy Hetman RAID Recovery pozwalają łatwo obejść ten problem. W głównym oknie programu widzimy już automatycznie złożoną macierz RAID 5, lecz aby uzyskać dostęp do danych, jej wolumen logiczny musi zostać najpierw odblokowany przez podanie hasła LUKS.

Hetman RAID Recovery: odblokowanie macierzy przez podanie hasła LUKS

Dopiero po pomyślnym usunięciu ochrony kryptograficznej wybieramy ten wolumen i uruchamiamy algorytm Szybkiego skanowania, który natychmiast przeanalizuje strukturę naszego systemu plików, którym w tym przypadku jest ext4.

Hetman RAID Recovery: szybkie skanowanie odblokowanej macierzy

Przejdź do folderu, w którym była przechowywana maszyna wirtualna. Program pomyślnie odtworzył drzewo katalogów i znalazł nasz nienaruszony plik qcow2.

Hetman RAID Recovery: nienaruszony plik qcow2

Zaznacz znaleziony obraz i kliknij przycisk Odzyskaj na górnym panelu, a następnie koniecznie wybierz bezpieczną lokalizację na lokalnym dysku komputera lub na innym nośniku, aby uniknąć nadpisania danych.

Hetman RAID Recovery: zaznacz znaleziony obraz i kliknij Odzyskaj

METODA 2. Odzyskiwanie plików z systemów gościa

Rozważmy teraz inny typowy scenariusz: utrata danych nastąpiła bezpośrednio wewnątrz samej maszyny wirtualnej. W naszym przykładzie systemem gościa jest Windows 10.

Zazwyczaj dostęp do takich plików wymaga uruchomienia hipernadzorcy i pełnego startu maszyny wirtualnej, co po awariach systemu nie zawsze jest możliwe lub bezpieczne. Jednak Hetman RAID Recovery umożliwia bezpośrednią pracę z formatem qcow2. Można otworzyć dysk wirtualny bezpośrednio w interfejsie programu, bez użycia hipernadzorcy.

Hetman RAID Recovery: otwórz menu Montuj dysk

Aby to zrobić, otwórz menu Montuj dysk, wybierz odpowiednią opcję dla maszyn wirtualnych, wskaż ścieżkę do folderu zawierającego zapisany plik qcow2,

Hetman RAID Recovery

i kliknij Montuj folder.

Hetman RAID Recovery

Następnie dysk wirtualny natychmiast pojawi się na ogólnej liście urządzeń. Ponieważ naszym systemem gościa jest Windows 10, od razu widzimy jego partycję z systemem plików NTFS.

Hetman RAID Recovery

Zaznacz tę partycję i uruchom analizę Szybkie skanowanie. Program dogłębnie przeanalizuje wewnętrzną strukturę dysku wirtualnego i odnajdzie usunięte lub utracone dane. W naszym przypadku jest to zestaw plików testowych. Dzięki funkcji podglądu można wizualnie ocenić integralność dokumentów i zdjęć bezpośrednio przed odzyskaniem.

Po sprawdzeniu poprawności znalezionych informacji zaznacz wymagane pliki, kliknij przycisk Odzyskaj i zapisz je na lokalnym dysku komputera.

Hetman RAID Recovery: zaznacz wymagane pliki i kliknij Odzyskaj

METODA 3. Odzyskiwanie danych z użyciem migawek

Kolejną zaawansowaną funkcją Hetman RAID Recovery jest praca z migawkami, czyli zapisami stanu systemu.

Jak wspomnieliśmy na początku filmu, format qcow2 przechowuje wszystkie migawki w jednym pliku. Po zamontowaniu takiego dysku wirtualnego program automatycznie odnajduje wszystkie zawarte w nim migawki i wyświetla je jako osobne, podłączone dyski na ogólnej liście.

Hetman RAID Recovery: program automatycznie odnajduje wszystkie dostępne migawki

Dzięki temu można łatwo odzyskać dane z poprzednich stanów systemu. Na przykład, jeśli ważny plik został zmodyfikowany lub całkowicie usunięty i nie istnieje już w bieżącej wersji roboczej maszyny wirtualnej, można po prostu wrócić do starszej migawki. Wybierz wymaganą migawkę z listy i uruchom algorytm Szybkie skanowanie.

Hetman RAID Recovery: wszystkie dostępne migawki zamontowane w programie

Program przeanalizuje jej strukturę i znajdzie poprzednie wersje plików. Następnie wystarczy wizualnie zweryfikować znalezione dane, zaznaczyć potrzebne pliki i zapisać je na bezpiecznym lokalnym dysku za pomocą przycisku Odzyskaj.

Hetman RAID Recovery

Podsumowanie

Odzyskiwanie wirtualnych dysków KVM i migawek w Red Hat Enterprise Linux 7.9 wymaga zrozumienia architektury wirtualizacji, struktury pamięci masowej oraz sposobu przechowywania danych. W zależności od konfiguracji maszyny wirtualnej jej dysk może być reprezentowany przez plik QCOW2 lub RAW znajdujący się na systemie plików albo przez logiczny wolumen LVM. Od tego zależy wybór narzędzi i kolejność działań podczas odzyskiwania.

Jeśli maszyna wirtualna nie uruchamia się, dysk został przypadkowo usunięty lub migawka jest uszkodzona, pierwszym krokiem jest określenie przyczyny problemu i sprawdzenie dostępności oryginalnych danych. Szczególną uwagę należy zwrócić na zewnętrzne migawki QCOW2, ponieważ uszkodzone powiązania między obrazem bazowym a podrzędnym mogą spowodować utratę dostępu do bieżącego stanu dysku wirtualnego. W przypadku korzystania z LVM należy sprawdzić stan wolumenów fizycznych, grup wolumenów i wolumenów logicznych bez niepotrzebnej zmiany ich struktury.

Aby zwiększyć szanse na pomyślne odzyskanie danych, zaleca się zaprzestanie zapisu na uszkodzonym nośniku, unikanie usuwania pozostałych plików migawek oraz, jeśli to możliwe, utworzenie kopii sektor po sektorze dysku lub kopii zapasowej obrazów. Do wyszukiwania utraconych plików można użyć specjalistycznego oprogramowania do odzyskiwania danych, w tym rozwiązań Hetman Software. Jednocześnie rezultat zależy od rodzaju uszkodzenia, stanu dysku oraz tego, czy utracone dane zostały nadpisane.

Aby zminimalizować ryzyko ponownej utraty danych, należy regularnie tworzyć kopie zapasowe dysków wirtualnych i konfiguracji maszyn wirtualnych, weryfikować integralność kopii zapasowych oraz monitorować stan pamięci masowej. Migawki powinny być używane jako sposób powrotu do poprzedniego stanu, a nie jako pełny zamiennik kopii zapasowych.

Oksana Volyniuk

Autor: , Pisarz techniczny

Oksana Volyniuk jest autorem pracującym w Hetman Software. Ma prawie trzyletnie doświadczenie w zakresie technologii IT, a wcześniej pracowała jako HR menedżer w IT kompanii. Oksana kocha technologię i jest zapalona tworzeniem każdego aktykułu, który może pomóć ludziom.

Michał Mirosznyczenko

Redaktor: , Pisarz techniczny

Michał Mirosznyczenko jest jednym z czołowych programistów firmy Hetman Software. Bazując na piętnastoletnim doświadczeniu w tworzeniu oprogramowania, dzieli się swoją wiedzą z czytelnikami naszego bloga. Oprócz programowania Michał jest ekspertem w dziedzinie odzyskiwania danych, systemów plików, urządzeń do przechowywania danych i macierzy RAID.

Rekomendujemy