Odzyskiwanie danych ZFS: przewodnik po RAIDZ1, RAIDZ2, RAIDZ3 i konfiguracji typu stripe (RAID‑0)

W tym artykule omawiamy procedury dotyczące odzyskiwania danych z macierzy RAIDZ1, RAIDZ2, RAIDZ3 oraz ZFS Stripe utworzonych w systemie operacyjnym TrueNAS SCALE. Prezentujemy sekwencję działań w przypadku awarii sprzętowej serwera oraz metodologię przywracania dostępu do puli danych, gdy jeden lub więcej dysków ulegnie awarii lub dane zostaną przypadkowo usunięte z macierzy.

Odzyskiwanie danych ZFS: przewodnik po RAIDZ1, RAIDZ2, RAIDZ3 i konfiguracji typu stripe (RAID‑0)

Oprócz awarii sprzętowych opisujemy odzyskiwanie po usunięciu całego datasetu, uszkodzeniu puli, krytycznej awarii systemu operacyjnego, uszkodzeniu systemu plików ZFS, błędach podczas dodawania nowych dysków, niewłaściwym działaniu kontrolera oraz przypadkowej inicjalizacji dysków w innym systemie.

Odzyskiwanie danych zostało przeprowadzone w środowisku Linux Ubuntu, ale możliwe jest również w systemach Windows i macOS.

Przejdź do widoku
Odzyskiwanie danych z macierzy RAID SHR-2 i SHR-1 utworzonych na serwerze NAS Synology DS418play

Odzyskiwanie danych z macierzy RAID SHR-2 i SHR-1 utworzonych na serwerze NAS Synology DS418play

Możliwości TrueNAS SCALE

TrueNAS to otwarty system operacyjny do budowy pamięci masowej sieciowej, oparty na Linuksie i wykorzystujący system plików ZFS. Zapewnia ochronę danych, weryfikację integralności, efektywne zarządzanie dyskami oraz obsługę maszyn wirtualnych.

Platforma obsługuje różne typy RAID, w tym RAIDZ, który łączy wydajność z odpornością na awarie. TrueNAS SCALE umożliwia skalowanie horyzontalne poprzez łączenie wielu węzłów w klaster, przy zachowaniu kluczowych cech ZFS: samonaprawiania, snapshotów, kompresji, deduplikacji i szyfrowania.

TrueNAS SCALE

System jest zgodny z protokołami SMB, NFS, iSCSI i S3 oraz umożliwia uruchamianie kontenerów i Kubernetes, co czyni go uniwersalnym rozwiązaniem do przechowywania i przetwarzania danych w różnych środowiskach.

RAIDZ to redundandna macierz dyskowa w ZFS z rozproszoną parzystością. Zastosowanie bloków o zmiennej długości optymalizuje zapisy i pozwala na automatyczną korekcję błędów podczas odczytu.

Podczas odzyskiwania zdegradowanej macierzy (resilvering) obciążenie pozostałych dysków znacząco wzrasta. Dlatego RAIDZ najlepiej nadaje się do środowisk o umiarkowanych wymaganiach dotyczących odporności na awarie lub dla dysków o mniejszej pojemności, gdzie czas odbudowy macierzy jest minimalny.

Kategoria Możliwości
Typ systemu Otwarty system NAS / serwer oparty na Linuksie
System plików Obsługa ZFS
RAID RAIDZ1, RAIDZ2, RAIDZ3, Stripe, Mirror
Skalowanie Horyzontalne (Scale-out)
Wirtualizacja Obsługa KVM (maszyny wirtualne)
Kontenery Kubernetes, Docker (przez Apps)
Protokoły sieciowe SMB, NFS, FTP, iSCSI
Zarządzanie Interfejs webowy (GUI)
Bezpieczeństwo Szyfrowanie danych, kontrola dostępu, ACL
Kopie zapasowe Snapshoty, replikacja, Rsync
Usługi chmurowe Integracja z AWS, Google Cloud, Azure
Monitorowanie Alerty, logi, statystyki
Wtyczki / aplikacje Rozszerzalność przez katalog aplikacji
Wysoka dostępność Obsługa klastra (HA)
Obsługa GPU Tak (dla kontenerów i maszyn wirtualnych)

Metoda 1. Automatyczne odzyskiwanie macierzy ZFS

W przypadku awarii komponentów sprzętowych serwera (zasilacz, płyta główna lub kontroler dysków) bezpośredni dostęp do danych z poziomu systemu operacyjnego może stać się niemożliwy.

Podobne sytuacje występują również, gdy serwer nie uruchamia się z powodu krytycznego błędu podczas aktualizacji TrueNAS SCALE lub gdy partycja systemowa została uszkodzona.

Nawet jeśli pliki i dyski nie zostały fizycznie uszkodzone, dostęp do macierzy RAIDZ może zostać utracony, a standardowe narzędzia ZFS mogą nie wykrywać dysków lub nie umożliwiać importu puli. W takich przypadkach specjalistyczne oprogramowanie, takie jak Hetman RAID Recovery, pozwala bezpiecznie uzyskać dostęp do danych i odzyskać informacje.

Odzyskiwanie danych z uszkodzonych macierzy RAID, które nie są dostępne dla komputera.

W tym przykładzie pokazujemy zautomatyzowany proces odzyskiwania na komputerze z systemem Ubuntu.

Najpierw wyłącz serwer i ostrożnie wyjmij wszystkie dyski, które należały do macierzy.

Wyłącz serwer i ostrożnie wyjmij wszystkie dyski

Podłącz je do stacji roboczej: optymalną opcją jest bezpośrednie podłączenie do płyty głównej za pomocą kabli SATA dla maksymalnej prędkości i stabilności transferu danych. Jeśli płyta główna nie ma wolnych portów, można użyć zewnętrznych stacji dokujących USB lub adapterów USB–dysk.

Podłącz dyski serwera do stacji roboczej

Należy pamiętać, że przy podłączeniu przez stacje dokujące prędkość skanowania może być niższa, dlatego dla dużych wolumenów danych preferowane jest użycie portów wewnętrznych.

Po podłączeniu sprawdź, czy dyski pojawiają się w Ubuntu w narzędziu Dyski, ale nie inicjalizuj ich, jeśli system zasugeruje taką akcję.

Dyski widoczne w narzędziu Dyski w Ubuntu

Bezpośrednio po weryfikacji uruchom Hetman RAID Recovery, aby przeprowadzić automatyczne złożenie macierzy.

Kluczową cechą Hetman RAID Recovery jest głęboka analiza metadanych ZFS. Oprogramowanie nie wymaga działającego systemu operacyjnego ani kontrolera — odczytuje informacje serwisowe bezpośrednio z dysków i automatycznie rekonstruuje strukturę puli.

Ponieważ ZFS przechowuje wszystkie krytyczne dane konfiguracyjne macierzy wewnątrz samej puli, logiczna integralność plików jest zachowana nawet, gdy środowisko serwera jest całkowicie niedostępne. W rezultacie użytkownik uzyskuje dostęp do danych w znajomej formie bez zależności od oryginalnego systemu.

W artykule demonstrujemy różne konfiguracje macierzy:

  • RAIDZ1 na trzech dyskach,
  • RAIDZ2 na czterech,
  • RAIDZ3 na pięciu,
  • oraz Stripe na dwóch dyskach.
Tabela: różne konfiguracje RAIDZ

Przeanalizujemy szczegółowo algorytm odzyskiwania dla trzydyskowej macierzy RAIDZ1 w sytuacji całkowitej awarii sprzętowej serwera lub krytycznego błędu po aktualizacji TrueNAS SCALE.

Należy podkreślić, że to podejście jest uniwersalne i można je zastosować także do konfiguracji RAIDZ2, RAIDZ3 i Stripe.

Po uruchomieniu Hetman RAID Recovery program automatycznie skanuje wszystkie podłączone urządzenia. Program odczytuje metadane serwisowe ZFS, analizuje konfigurację wirtualnych grup vdev i na podstawie uzyskanych danych rekonstruuje poprawny model RAIDZ1.

W oknie roboczym wyświetlane są wykryte dyski oraz złożone struktury logiczne — można od razu kontynuować pracę z nimi: przeprowadzić szczegółową analizę, przeglądać strukturę danych lub odzyskać wymagane pliki.

Hetman RAID Recovery: wykryte dyski i złożone struktury logiczne

Wybierz wymaganą macierz RAIDZ1 z listy odtworzonych struktur i uruchom tryb Szybkie skanowanie, aby szybko określić strukturę danych.

Hetman RAID Recovery: wybierz odtworzoną macierz RAIDZ1 z listy

Po zakończeniu skanowania w głównym oknie zostanie wyświetlony odzyskany system plików z pełną hierarchią katalogów i plików. Zaznacz wymagane obiekty i kliknij Odzyskaj.

Hetman RAID Recovery: odzyskany system plików z pełną hierarchią

W następnym kroku określ folder docelowy do zapisu danych — najlepiej na oddzielnym nośniku z wystarczającą ilością wolnego miejsca.

Hetman RAID Recovery: dostępne opcje zapisu odzyskanych danych

Potwierdź rozpoczęcie procesu, określ docelową ścieżkę i kliknij ponownie Odzyskaj, aby rozpocząć kopiowanie. Po zakończeniu operacji kliknij Zakończ.

W wyniku tych działań dane z puli ZFS RAIDZ1 zostaną odzyskane i będą dostępne do normalnego użytkowania.

Hetman RAID Recovery: odzyskane dane z puli ZFS RAIDZ1

Metoda 2. Odzyskiwanie RAIDZ przy brakujących dyskach

Rozważmy teraz przypadek awarii jednego lub większej liczby dysków w macierzy RAIDZ.

Architektura RAIDZ zapewnia odporność na awarie w zależności od typu macierzy:

  • RAIDZ1 toleruje utratę jednego dysku.
  • RAIDZ2 toleruje utratę dwóch dysków.
  • RAIDZ3 toleruje utratę trzech dysków.

W przypadku Stripe nie ma redundancji, więc awaria dowolnego dysku prowadzi do całkowitej utraty danych.

Tabela: architektura RAIDZ

Jeżeli nie jest możliwe podłączenie wszystkich dysków, można utworzyć obraz brakującego dysku i użyć go wraz z pozostałymi dyskami do dalszego procesu odzyskiwania.

Dzięki mechanizmom rozproszonej parzystości i kontroli integralności danych, specjalistyczne oprogramowanie takie jak Hetman RAID Recovery może zrekonstruować utracone bloki i przywrócić dostęp do informacji, jeżeli liczba uszkodzonych dysków nie przekracza dopuszczalnego poziomu dla danego typu RAIDZ.

Odzyskiwanie danych z uszkodzonych macierzy RAID, które nie są dostępne dla komputera.

Jeżeli próg ten zostanie przekroczony, struktura logiczna macierzy ulega zaburzeniu i standardowe metody programowe stają się nieskuteczne. W takich sytuacjach odzyskiwanie jest możliwe wyłącznie za pomocą profesjonalnego sprzętu w wyspecjalizowanych laboratoriach.

Upewnij się, że nośnik docelowy ma wystarczającą ilość wolnego miejsca na zapis odzyskanych danych i ostrożnie wyjmij dyski z serwera, a następnie podłącz je do komputera przez porty SATA lub zewnętrzną stację dokującą. Ważne jest, aby unikać jakichkolwiek zapisów na tych dyskach, ponieważ może to spowodować nieodwracalne utraty danych.

Podłączanie dysków serwera do komputera przez stację dokującą

Przed rozpoczęciem zamknij wszystkie aplikacje, które mogą używać tych dysków, i tymczasowo wyłącz automatyczne kopie zapasowe lub synchronizację. Jeżeli system nie montuje macierzy, nie inicjalizuj dysków, nie twórz partycji ani nie formatuj ich.

Pozostaw dyski w ich aktualnym stanie i przejdź bezpośrednio do procedury odzyskiwania. Stosowanie się do tych zaleceń znacznie zwiększa szanse na skuteczne i bezpieczne odzyskanie danych niezależnie od typu RAIDZ lub konfiguracji Stripe.

Jeżeli architektura stacji roboczej nie pozwala na podłączenie wszystkich dysków jednocześnie, optymalnym rozwiązaniem jest użycie obrazów dysków wirtualnych. Metoda ta polega na tworzeniu dokładnych kopii bit po bicie każdego dysku do dalszej analizy.

Po zamontowaniu obrazu brakującego dysku Hetman RAID Recovery potraktuje go jako pełne urządzenie fizyczne i w połączeniu z dostępnymi dyskami automatycznie zrekonstruuje strukturę macierzy. Podejście to pozwala rozpocząć odzyskiwanie danych nawet przy ograniczonej liczbie portów — zachowując bezpieczeństwo i integralność danych na każdym etapie.

Przeanalizujemy proces odzyskiwania na przykładzie RAIDZ3, w którym jednocześnie uległy awarii trzy dyski.

Ta konfiguracja macierzy umożliwia przywrócenie danych nawet w tak poważnej awarii — wykonamy to przy użyciu Hetman RAID Recovery.

Bezpośrednio po uruchomieniu oprogramowanie automatycznie skanuje wszystkie podłączone dyski, odczytuje informacje serwisowe i na tej podstawie rekonstruuje oryginalną strukturę macierzy. Okno robocze wyświetla wszystkie wykryte dyski fizyczne i utworzone konfiguracje wirtualne, które można od razu wykorzystać. Wybierz znalezioną macierz RAIDZ3 i uruchom Szybkie skanowanie.

Hetman RAID Recovery: pula ZFS po skanowaniu

Zaznacz wymagane pozycje i kliknij Odzyskaj. Następnie określ folder do zapisu i potwierdź operację, klikając ponownie Odzyskaj.

Hetman RAID Recovery: analiza puli ZFS

Po zakończeniu kopiowania — kliknij Zakończ.

Po wykonaniu wszystkich kroków odzyskane pliki z macierzy RAIDZ3 będą w pełni użyteczne i dostępne do normalnej pracy.

Odzyskane dane z puli ZFS

Metoda 3. Odzyskiwanie usuniętych plików

Na koniec omówimy jeden z najczęstszych scenariuszy — przypadkowe usunięcie plików z macierzy RAID.

W tym przykładzie odzyskujemy dane z Stripe utworzonego z dwóch dysków w systemie plików ZFS.

Cechą charakterystyczną Stripe jest rozdzielenie danych pomiędzy wszystkie dyski bez redundancji. Oznacza to, że żaden pojedynczy dysk nie zawiera kompletnych plików. Dla skutecznego odzyskania wszystkie dyski muszą być podłączone jednocześnie i traktowane jako jedna struktura logiczna. Jeżeli jeden z dysków jest brakujący lub niepodłączony, oprogramowanie nie będzie w stanie odczytać danych.

Struktura puli ZFS

Przed rozpoczęciem upewnij się, że wszystkie dyski są fizycznie podłączone do komputera — bezpośrednio przez SATA do płyty głównej lub przy użyciu zewnętrznej stacji dokującej.

Ważne jest, aby nie zapisywać nowych danych na tych dyskach ani ich nie inicjalizować w systemie, aby uniknąć nadpisania utraconych plików.

Ubuntu: narzędzie Dyski

W Ubuntu uruchom Hetman RAID Recovery.

Odzyskiwanie danych z uszkodzonych macierzy RAID, które nie są dostępne dla komputera.

Oprogramowanie automatycznie przeskanuje wszystkie podłączone dyski, odczyta metadane ZFS i odpowiednio zrekonstruuje logiczną strukturę Stripe. W głównym oknie zobaczysz dyski fizyczne i złożoną macierz gotową do pracy.

Hetman RAID Recovery: pula ZFS

Następnie wybierz Stripe z listy wykrytych macierzy i uruchom Pełne skanowanie. Pełne skanowanie jest wymagane, ponieważ po usunięciu plików w ZFS jedynie dogłębna analiza pozwala złożyć zfragmentowane dane i przywrócić poprawną strukturę katalogów.

Hetman RAID Recovery: pełna analiza puli ZFS

Dodatkowe ustawienia zazwyczaj nie są wymagane; wystarczy kliknąć Dalej i poczekać na zakończenie procesu. Po zakończeniu skanowania główne okno pokaże odzyskaną strukturę macierzy ze wszystkimi folderami i plikami. W razie potrzeby użyj podglądu, aby sprawdzić zawartość dokumentów, obrazów lub innych plików.

Zaznacz wymagane pliki i foldery i kliknij Odzyskaj.

Hetman RAID Recovery: odzyskiwanie danych z puli ZFS

Określ miejsce docelowe dla odzyskanych danych na oddzielnym nośniku z wystarczającą ilością wolnego miejsca i potwierdź rozpoczęcie procesu, klikając ponownie Odzyskaj.

Po zakończeniu kopiowania kliknij Zakończ.

Hetman RAID Recovery: zakończone odzyskiwanie danych z puli ZFS

W rezultacie wszystkie pliki zostaną odzyskane i będą dostępne do normalnego użytkowania.

Ten proces zapewnia bezpieczeństwo danych, umożliwia przywrócenie plików nawet po przypadkowym usunięciu i zachowuje strukturę systemu plików ZFS bez ryzyka uszkodzenia innych danych na dyskach.

Wnioski

Odzyskiwanie danych z systemu plików ZFS oraz z macierzy RAIDZ1, RAIDZ2, RAIDZ3 i Stripe jest skomplikowane, ale całkowicie wykonalne przy prawidłowym podejściu i zrozumieniu architektury tych rozwiązań. Dzięki wbudowanym mechanizmom integralności danych i kontroli błędów, ZFS zapewnia wysoki poziom ochrony, szczególnie w konfiguracjach RAIDZ2 i RAIDZ3.

Niemniej jednak nawet tak niezawodne systemy nie są odporne na utratę danych spowodowaną awariami sprzętu, błędami użytkownika czy krytycznym uszkodzeniem puli. Najmniej zabezpieczoną konfiguracją pozostaje Stripe, gdzie brak redundancji oznacza całkowitą utratę danych w razie awarii dowolnego dysku.

Sukces odzyskiwania zależy od wielu czynników: typu RAID, liczby uszkodzonych dysków, stanu systemu plików oraz szybkości podjętych działań. Kluczowe zalecenia to natychmiastowe zaprzestanie zapisów na dotkniętej macierzy, przeprowadzenie poprawnej diagnostyki oraz wykorzystanie specjalistycznego oprogramowania lub usług profesjonalnych.

Dlatego, aby zminimalizować ryzyko utraty danych, ważne jest nie tylko znajomość metod odzyskiwania, ale również wcześniejsze wdrożenie strategii kopii zapasowych i dobór odpowiedniego poziomu RAID zgodnie z krytycznością przechowywanych informacji.

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