Jak odzyskać ZVOL-e i kontenery LXC z macierzy RAIDZ w Proxmox VE
W tym artykule przeanalizujemy proces odzyskiwania maszyn wirtualnych przechowywanych jako urządzenia blokowe ZVOL oraz kontenerów LXC z programowej macierzy RAIDZ opartej na systemie plików ZFS, utworzonej w Proxmox Virtual Environment w wersji 9.1.1.

- Jak działa ZFS w Proxmox
- Jak podłączyć dyski serwera do komputera
- Jak odzyskać dane z RAIDZ w Proxmox VE
- Podsumowanie
- Najczęściej zadawane pytania
- Komentarze
Przeanalizujemy najczęstsze scenariusze utraty danych. Obejmują one przypadkowe usunięcie ważnych plików w systemie gościa lub omyłkowe usunięcie samej maszyny wirtualnej albo zbioru danych kontenera. Omówimy również odzyskiwanie danych w przypadku problemów sprzętowych, takich jak uszkodzenie macierzy spowodowane awarią dysku lub ogólna usterka serwera. Poruszymy także awarie programowe, na przykład Proxmox VE spowodowane nieudanymi aktualizacjami, krytycznymi błędami lub uszkodzeniem partycji systemowej.
Pokażemy, jak prawidłowo odłączyć dyski z uszkodzonej macierzy, podłączyć je bezpośrednio do działającego komputera, automatycznie złożyć macierz RAIDZ i odzyskać dane.
Nasze specjalistyczne oprogramowanie umożliwia bezproblemowe odzyskiwanie danych z dowolnych systemów plików gościa dla Windows, Linux i macOS.
Proxmox ZFS Data Recovery: odzyskiwanie ZVOL, VM i kontenerów LXC
Jak działa ZFS w Proxmox
System plików ZFS w środowisku Proxmox zasadniczo różni się od tradycyjnych rozwiązań, takich jak Ext4. Zamiast tworzyć standardowy katalog i umieszczać w nim zwykłe pliki dysków wirtualnych, ZFS jest ściśle zintegrowany z hipernadzorcą na poziomie zarządzania magazynem danych. Zapewnia to wysoką wydajność i niezawodność, ale całkowicie zmienia podejście do przechowywania i odzyskiwania danych.
- W przypadku pełnoprawnych maszyn wirtualnych Proxmox nie korzysta ze znanych plików obrazów qcow2 ani RAW. System tworzy dla nich specjalne dedykowane urządzenia blokowe o nazwie ZVOL. Oprogramowanie do odzyskiwania danych widzi je nie jako oddzielne pliki w folderze, lecz jako kompletne dyski fizyczne. Takie podejście pozwala hipernadzorcy wydajniej pracować ze snapshotami i alokacją zasobów serwera.
- W przypadku lekkich kontenerów LXC stosowane jest nieco inne podejście. Zamiast tworzyć dyski wirtualne, Proxmox wdraża każdy kontener w jego własnym, odizolowanym zbiorze danych ZFS, znanym jako subvolume. Podczas skanowania macierzy takie zbiory danych będą widoczne jako zwykłe foldery ze standardową hierarchią katalogów systemu Linux, z których można bezpośrednio wyodrębnić wymagane pliki.
| Cecha | Maszyny wirtualne (ZVOL) | Kontenery LXC (subvolume) |
|---|---|---|
| Metoda przechowywania | Dedykowane urządzenia blokowe ZVOL | Oddzielne zbiory danych ZFS |
| Organizacja danych | Dane są przechowywane jako urządzenie blokowe działające jak niezależny dysk | Dane są zorganizowane jako system plików z hierarchią katalogów Linux |
| Format dysku wirtualnego | Nie są używane standardowe pliki obrazów qcow2 ani RAW — zamiast nich tworzone są ZVOL | Nie jest wymagany oddzielny plik dysku wirtualnego |
| Wygląd podczas odzyskiwania | Jako pojedyncze urządzenie blokowe, podobne do dysku fizycznego | Jako foldery z plikami i podfolderami |
| Dostęp do plików | Należy przeanalizować zawartość urządzenia blokowego, aby określić strukturę systemu plików | Można przeglądać strukturę katalogów i bezpośrednio wyodrębniać wymagane pliki |
| Specyfika wykorzystania ZFS | Wydajne zarządzanie magazynem blokowym i obsługa snapshotów | Izolowane przechowywanie systemu plików każdego kontenera |
| Główny obiekt odzyskiwania | Dyski wirtualne i dane wewnątrz ZVOL | Pliki, foldery i dane kontenerów LXC |
Jak podłączyć dyski serwera do komputera
Przed rozpoczęciem odzyskiwania programowego należy prawidłowo podłączyć dyski serwera do działającego komputera. Najbardziej niezawodnym rozwiązaniem jest bezpośrednie połączenie przez złącza SATA na płycie głównej.
Ponieważ mamy do czynienia z dyskami serwerowymi, mogą one korzystać z interfejsu SAS. W takim przypadku do odczytu na standardowym komputerze należy zainstalować odpowiedni kontroler SAS. Można także użyć zewnętrznych adapterów USB lub stacji dokujących, jednak należy pamiętać, że szybkość skanowania dużych macierzy przez USB będzie znacznie niższa.
Podczas podłączania dysków ważne jest, aby pamiętać o minimalnej liczbie dysków wymaganej do pracy z macierzami RAIDZ1. Ponieważ ta architektura macierzy rezerwuje miejsce na jeden blok parzystości, oprogramowanie może w pełni odtworzyć dane nawet wtedy, gdy brakuje jednego dysku fizycznego.
W naszym przypadku oryginalna pula składała się z trzech dysków. Dlatego do skutecznego wyodrębnienia wszystkich danych wystarczy podłączyć do komputera tylko dwa sprawne dyski.

Jeśli dostępnych portów jest zbyt mało, optymalnym rozwiązaniem jest utworzenie obrazów wirtualnych części dysków. Można bezpośrednio podłączyć część dysków fizycznych, a pozostałe użyć w postaci dokładnych kopii bit po bicie, zamontowanych bezpośrednio w interfejsie narzędzia.
Oprogramowanie rozpoznaje takie obrazy jako pełnoprawne urządzenia fizyczne i automatycznie wykorzystuje je do odtworzenia struktury macierzy. Metoda ta zapewnia bezpieczeństwo oryginalnych danych, ponieważ dalsza analiza odbywa się na kopiach wirtualnych. Po fizycznym podłączeniu wszystkich komponentów puli lub zamontowaniu ich jako obrazów, Hetman RAID Recovery automatycznie odczyta metadane ZFS i wyświetli złożoną macierz w oknie głównym, zapewniając dostęp do dalszego skanowania i zapisywania plików.
Aby utworzyć obraz, uruchom Hetman RAID Recovery, wybierz wymagany dysk z listy i kliknij Zapisz dysk.

W wyświetlonym oknie określ lokalizację zapisu pliku.
Należy pamiętać, że rozmiar obrazu będzie równy pełnej pojemności dysku źródłowego, niezależnie od stopnia jego wykorzystania. Dlatego należy wcześniej upewnić się, że dysk docelowy ma wystarczającą ilość wolnego miejsca.
Po zapisaniu obrazu przejdź do menu głównego i wybierz Zamontuj dysk.

Na liście typów wybierz Obrazy dysków Raw i załaduj swój plik.

Pozycja pojawi się na liście urządzeń obok fizycznie podłączonych dysków. Jeśli istnieje kilka problematycznych dysków, powtórz tę procedurę dla każdego z nich.
Po fizycznym podłączeniu wszystkich komponentów puli lub zamontowaniu ich jako obrazów, Hetman RAID Recovery automatycznie odczyta metadane ZFS i wyświetli złożoną macierz w oknie głównym, zapewniając dostęp do dalszego skanowania i zapisywania plików.

Jak odzyskać dane z RAIDZ w Proxmox VE
METODA 1. Automatyczne odzyskiwanie danych
Po fizycznym podłączeniu dysków do komputera uruchom Hetman RAID Recovery.
Narzędzie automatycznie rozpocznie skanowanie wszystkich podłączonych urządzeń i odczyta metadane serwisowe systemu plików ZFS. Na podstawie tych danych program samodzielnie odtworzy uszkodzoną macierz RAIDZ. Proces ten jest w pełni automatyczny i umożliwia odzyskanie dostępu do danych nawet po krytycznej awarii hipernadzorcy Proxmox lub całkowitej awarii sprzętowej serwera.

W oknie głównym zobaczysz wszystkie wykryte macierze. Wybierz złożoną pulę i uruchom tryb Szybkie skanowanie w celu szybkiej analizy struktury magazynu danych.

Po zakończeniu skanowania odzyskany system plików zostanie wyświetlony w oknie głównym. Ważne jest tutaj zrozumienie, w jaki sposób program oznacza różne typy środowisk wirtualnych Proxmox. Urządzenia blokowe pełnoprawnych maszyn wirtualnych będą wyświetlane z identyfikatorem vm oraz słowem disk w nazwie i oznaczone jako woluminy ZVOL. Odizolowane zbiory danych kontenerów LXC będą wyświetlane przez program jako zwykłe foldery ze słowem subvol.

Aby automatycznie odzyskać dane z kontenera, wystarczy znaleźć folder z odpowiednim numerem Twojego LXC i otworzyć go.
Ponieważ kontenery są przechowywane jako zbiory danych systemu plików, wewnątrz tego folderu zobaczysz standardową hierarchię katalogów systemu Linux. Możesz swobodnie poruszać się między katalogami i wyszukiwać wymagane pliki użytkownika, bazy danych lub konfiguracje. Zaznacz wymagane obiekty do zapisania i kliknij przycisk Odzyskiwanie na pasku narzędzi.

W następnym kroku program poprosi o wskazanie ścieżki zapisu plików. Należy wybrać oddzielny dysk z wystarczającą ilością wolnego miejsca, aby uniknąć nadpisania oryginalnych danych na dyskach serwera. Potwierdź rozpoczęcie procesu kopiowania, a narzędzie bezpiecznie przeniesie wybrane pliki z kontenera na dysk lokalny.

Po zakończeniu operacji wszystkie odzyskane dane będą w pełni gotowe do dalszego użycia bez potrzeby montowania lub wykonywania jakichkolwiek innych dodatkowych czynności.
METODA 2. Praca z maszynami wirtualnymi (ZVOL)
Odzyskiwanie danych z pełnoprawnych maszyn wirtualnych wymaga innego podejścia. Ponieważ Proxmox przechowuje je nie jako zwykłe pliki, lecz jako dedykowane urządzenia blokowe ZVOL, program będzie pracował z nimi na tej samej zasadzie co z dyskami fizycznymi. Aby wyodrębnić dane z systemu operacyjnego gościa, musimy wyeksportować to urządzenie blokowe, zamontować je i przeskanować.

Podczas analizy puli znajdź wymagane urządzenie blokowe ZVOL i zapisz je na komputerze za pomocą funkcji Odzyskiwanie.

Narzędzie eksportuje ten obiekt w formacie RAW. Format ten jest dokładną kopią danych bajt po bajcie i nie ma złożonej wewnętrznej struktury ani kompresji. W rezultacie zapewnia maksymalną wydajność i jest najwygodniejszym obiektem dla algorytmów odzyskiwania, które mogą analizować go jak standardowy dysk fizyczny.
Procedura montowania zapisanego pliku jest możliwie najprostsza. Otwórz narzędzie do montowania dysku w górnym menu programu. Następnie znajdź pole dla standardowych obrazów dysków i wybierz opcję RAW. Potem w oknie wyszukiwania po prostu wskaż zapisany plik swojej maszyny wirtualnej. Program natychmiast go zamontuje i wyświetli na głównym ekranie, w pełni przygotowując dysk wirtualny do końcowego skanowania.

Po pomyślnym zamontowaniu obiekt pojawi się na liście urządzeń jako standardowy dysk, gotowy do szczegółowej analizy jego zawartości wewnętrznej. Wybór trybu analizy zależy od charakteru utraty danych. Jeśli pliki zostały po prostu przypadkowo usunięte w systemie gościa, wystarczające będzie użycie trybu Szybkie skanowanie, aby szybko wyświetlić hierarchię katalogów.
W bardziej złożonych przypadkach, po sformatowaniu lub zmianie logicznej struktury partycji, należy użyć trybu Pełne skanowanie w celu dokładnego wyszukania danych. Po zakończeniu analizy będzie można przeglądać odnalezione pliki, sprawdzać ich integralność w oknie podglądu i zapisywać wymagane dane na bezpiecznym nośniku.

METODA 3. Odzyskiwanie po usunięciu maszyny wirtualnej
Usunięcie maszyny wirtualnej lub kontenera w Proxmox zazwyczaj następuje na skutek błędu administratora. W systemie plików ZFS powoduje to natychmiastowe zniknięcie urządzenia blokowego ZVOL lub zbioru danych subvolume. Ponieważ w systemie nie ma kosza, zwolniona przestrzeń staje się od razu dostępna do nowych zapisów. Jednak Twoje dane nadal fizycznie pozostają na dyskach.
Główna zasada w tej sytuacji polega na natychmiastowym zatrzymaniu serwera i wstrzymaniu wszelkich zapisów do macierzy, aby uniknąć trwałego nadpisania danych.
Do odzyskania utraconych obiektów ponownie użyjemy Hetman RAID Recovery.
Wybierz odtworzoną pulę i uruchom tryb dogłębnej analizy Pełne skanowanie. Proces ten trwa dłużej, ponieważ program pracuje bezpośrednio na sektorach dysku, dokładnie wyszukując fragmenty systemu plików po ich sygnaturach.

Po zakończeniu skanowania znalezione obiekty zostaną wyświetlone w oknie programu.

Aby szybko znaleźć wymagany ZVOL lub usunięty zbiór danych, wygodnie jest skorzystać z funkcji wyszukiwania. Jeśli odzyskujesz kontener LXC, szukaj folderów o nazwie subvol i sprawdzaj ich zawartość.

W przypadku pełnoprawnych maszyn wirtualnych głównym punktem odniesienia będzie rozmiar znalezionego woluminu ZVOL, zwłaszcza jeśli jego oryginalna nazwa nie została zachowana. Znalezione pliki z kontenerów można od razu sprawdzić w oknie podglądu.
Wykryte woluminy ZVOL wystarczy zamontować bezpośrednio w programie w celu dalszej analizy ich zawartości.
Po sprawdzeniu integralności danych wybierz wymagane elementy i kliknij przycisk Odzyskiwanie. Określ ścieżkę do oddzielnego bezpiecznego nośnika z wystarczającą ilością wolnego miejsca i poczekaj na zakończenie procesu kopiowania.

Podsumowanie
Odzyskiwanie danych z macierzy RAIDZ w Proxmox VE ma swoją specyfikę, ponieważ ZFS korzysta z własnej struktury przechowywania i zarządzania danymi. Maszyny wirtualne w takim środowisku mogą wykorzystywać ZVOL, który jest prezentowany jako urządzenie blokowe, natomiast kontenery LXC są przechowywane jako oddzielne zbiory danych ZFS zawierające strukturę plików kontenera.
W przypadku uszkodzenia lub utraty dostępu do RAIDZ ważne jest, aby nie odtwarzać macierzy, nie formatować dysków i nie wykonywać operacji, które mogą nadpisać dane serwisowe ZFS. Aby odzyskiwanie zakończyło się powodzeniem, należy zachować oryginalną strukturę macierzy i, w miarę możliwości, pracować na kopiach dysków.
Specjalistyczne oprogramowanie do odzyskiwania danych umożliwia analizę struktury ZFS, odnajdywanie dysków wirtualnych ZVOL, systemów plików oraz danych kontenerów LXC nawet w sytuacjach, gdy Proxmox VE lub sama macierz RAIDZ nie zapewnia już normalnego dostępu do informacji.
W ten sposób prawidłowe podejście do odzyskiwania umożliwia dostęp zarówno do danych maszyn wirtualnych przechowywanych w ZVOL, jak i do plików oraz katalogów kontenerów LXC, przy zachowaniu ich oryginalnej struktury. Jest to szczególnie ważne po awarii dysku, uszkodzeniu puli ZFS, przypadkowym usunięciu danych lub krytycznych błędach Proxmox VE.







