Odzyskiwanie danych z systemów RAID - pierwsza pomoc


Z artykułu dowiesz się

  • czym są systemy RAID,
  • jakie są najczęstsze przyczyny utraty danych w systemach RAID,
  • jak wygląda pierwsza pomoc po utracie dostępu do danych systemów RAID,
  • jak przeprowadzić wstępną analizę systemu RAID,
  • jak i kiedy możemy odzyskać dane z RAID,
  • czego nam nie wolno robić po utracie dostępu do danych RAID,
  • co zrobić na przyszłość, aby ponownie nie utracić dostępu do danych RAID.

Co powinieneś wiedzieć

  • znać ogólne pojęcia z zakresu budowy komputera,
  • znać podstawy obsługi systemu operacyjnego, w którym pracujesz,
  • mieć ogólne pojęcie o systemie plików, na którym pracuje twój system operacyjny,
  • mieć ogólne pojęcie o strukturze i budowie systemów RAID.

Wstęp

Osoby, bądź firmy przechowujące duże ilości danych coraz częściej decydują się na zakup pamięci masowych w systemach RAID. Większość z tych systemów ma za zadanie zminimalizować ryzyko utraty dostępu do danych. Niestety, zdarzają się i takie awarie. Niniejszy artykuł przybliży nam wstępną analizę takich sytuacji w warunkach amatorskich.

Na wstępie kilka słów o systemach RAID. Możemy je podzielić na pewne grupy związane następującymi technologiami:

  • stripe - poziom 0,
  • mirror - poziom 1,
  • paskowanie - liniowe kody korekcyjne - poziom 2,
  • nadmiarowość jednostkowa - poziomy 3 i 4,
  • nadmiarowość rozproszona (XOR) - poziomy 5 i 6,
  • mix - poziomy 0+1, 1+0, 50.

W zależności od potrzeb (wydajność, bezpieczeństwo) stosuje się odpowiednie rodzaje RAID.

Oprócz poziomu 0, wszystkie pozostałe systemy RAID posiadają zabezpieczenia przed utratą danych w wypadku awarii przynajmniej jednego fizycznego dysku. Dlatego też, jeżeli już dochodzi do utraty dostępu do danych, to najczęściej ma to związek z błędami popełnianymi przez użytkownika.

Najczęstsze przyczyny utraty danych

Z samej definicji RAID (Redundant Array of Independent Disk czyli Nadmiarowa Macierz Niezależnych Dysków) wynika, że są to systemy które w swoim założeniu mają chronić użytkownika przed utratą danych. Systemy macierzowe - same w sobie - całkiem nieźle spełniają to zadanie. Dlatego też, jeżeli już dochodzi do utraty danych - to najczęściej wskutek błędu użytkownika, bądź osoby administrującej. Dotyczy to przede wszystkim sytuacji związanych z:

  • nieprawidłowym doborem poziomu RAID w momencie zakładania i konfiguracji systemu, np. użytkownik, któremu zależy na bezpieczeństwie danych wybiera poziom 0 (strip),
  • nieprawidłowym konfigurowaniem macierzy z poziomu kontrolera - w momencie zakładania i konfiguracji woluminów, np. użytkownik wybiera tryb zapisu writeback bez stosownych, wymaganych w tym trybie zabezpieczeń w postaci baterii na kontrolerze i zasilacza awaryjnego,
  • nieprawidłową reakcją użytkownika (lub jej brakiem) w momencie uszkodzenia jednego z dysków w poziomach o podwyższonej redundancji.

Do najczęściej spotykanych awarii należą:

  • utrata spójności woluminu RAID - sytuacje te mają miejsce szczególnie tam, gdzie dochodzi do przekłamań lub błędów logicznych w zapisie nadmiarowości. Przyczyną może być niewłaściwa konfiguracja woluminu macierzowego, pojawiające się pojedyncze błędy na jednym z dysków lub nagłe przerwy w dostawie prądu,
  • uszkodzenie jednego dysku w poziomach redundancyjnych - dane często są widoczne do momentu zresetowania systemu,
  • uszkodzenie jednego dysku na poziomie bez zabezpieczeń (RAID 0) - następuje uszkodzenie i rozpięcie macierzy na poziomie kontrolera.

Pierwsza pomoc

Podobnie jak w przypadku awarii pojedynczych dysków pierwszą i podstawową kwestią, którą musimy ustalić jest przyczyna wystąpienia takiego stanu rzeczy. Ustalenie źródła problemu ma kluczowe znaczenie dla samego procesu odzyskiwania danych. Prawidłowa odpowiedź na to pytanie pozwoli nam na podjęcie prawidłowych działań, w konsekwencji których możemy odzyskać dostęp do danych bez niepotrzebnego ryzyka ich bezpowrotnej utraty. Dlatego pamiętajmy: zanim podejmiemy jakiekolwiek działania, musimy wiedzieć co mamy robić. Działania na oślep, często w panice, na ogół pogarszają sytuację lub wręcz definitywnie uniemożliwiają odzyskanie danych.

Wyjątkiem jest sytuacja, w której, w systemach nadmiarowych lub mirrorowych, wystąpiła awaria jednego z dysków (z kontrolera wydobywa się wysoki, nieprzyjemny pisk, na jednej z kieszeni dyskowej zapala się ostrzegawcza lampka) i jednocześnie dane są nadal widoczne - pierwszą czynnością jaką należy zrobić to zacząć zgrywać dane (w takim przypadku nie wolno dopuścić do zresetowania systemu przed zgraniem danych!).

W przypadku utraty dostępu do danych w systemie RAID zasadniczą kwestią jest ustalenie następujących faktów:

  • z jakim poziomem RAID mamy do czynienia,
  • jaka jest wielkość klastra zadeklarowana na poziomie kontrolera (w warstwie fizycznej macierzy),
  • jakie systemy plików są używane na utraconych woluminach,
  • po odkręceniu pokrywy komputera należy zapisać jaka jest kolejność dysków i ich podłączeń do poszczególnych kanałów,
  • jaki jest status macierzy w sterowniku macierzy (czyli w biosie kontrolera),
  • czy system zgłasza komunikat o błędzie jednego czy też więcej dysków.

Wstępna analiza systemu RAID

Wykonanie powyższych czynności jest niezbędne do wykonania wstępnej analizy uszkodzonej macierzy RAID. W oparciu o uzyskane informacje będziemy mogli zadecydować, jaką ścieżkę postępowania mamy przyjąć w dalszej kolejności.

Pierwszą czynnością, którą powinniśmy wykonać jest podgląd statusu macierzy w biosie jej kontrolera. W większości przypadków we właściwościach istniejącej macierzy możemy podejrzeć, z jakim poziomem RAID mamy do czynienia oraz jaka jest zadeklarowana wielkość klastra (w sektorach lub KB).

W zależności od stopnia uszkodzenia macierzy możemy zaobserwować dwa stany:

  • status degradacji nadmiarowej ochrony macierzy (array degraded),
  • status uszkodzenia macierzy (array failed).

Występowanie pierwszego stanu mówi nam o tym, że macierz została zdegradowana, jeżeli chodzi o jej bezpieczeństwo (nadmiarowość). W takim stanie dane nie są w jakikolwiek sposób dodatkowo chronione. Natomiast najczęściej możliwy jest dostęp do danych (przed zresetowaniem systemu) oraz możliwa jest odbudowa nadmiarowości po wykonaniu procedury odbudowy macierzy (array rebuilding).

Nieco inaczej przedstawia się stan uszkodzenia macierzy (array failed). Niestety, pojawienie się takiego komunikatu oznacza, że w ramach naszej macierzy doszło do poważnego uszkodzenia, z którym nasz kontroler nie jest sobie w stanie poradzić. Na ogół jest to związane z uszkodzeniem kilku dysków lub pojawieniem się błędów odczytu na więcej niż jednym nośniku. Status failed jest najczęściej występującym komunikatem uszkodzenia w macierzach typu strip (RAID 0).

Odzyskiwanie dostępu do danych w przypadku array degraded

W tej sytuacji, do momentu zresetowania systemu dane powinny być widoczne (jedyną niedogodnością jest niska prędkość takiej macierzy) - jeżeli tak jest - to najpierw zgrywamy dane !!! Gorzej, jeżeli z jakiejś przyczyny dane nie są już widoczne (np. po restarcie). W tym momencie dla większości z nas sprawą oczywistą jest wymiana wadliwego dysku na nowy i odbudowa nadmiarowości z udziałem nowego nośnika. Jednak takie działanie, bez uprzedniego wykonania kilku bardzo ważnych (pod kątem bezpieczeństwa) czynności, często kończy się bezpowrotną utratą danych. Dlaczego? Oto powody:

  • nie zawsze jesteśmy w stanie poprawnie zdiagnozować dysk (który powinniśmy wymienić),
  • nigdy nie powinniśmy pracować na jedynym źródle danych (bez uprzedniego wykonania binarnej kopii awaryjnej).

W konsekwencji odbudowy macierzy (w systemach nadmiarowych lub mirrorowych) po wymianie niewłaściwego dysku, zniszczymy dane (logicznie) w sposób nieodwracalny (na tych nośnikach).

W związku z powyższym, zanim przystąpimy do właściwego procesu odbudowy, powinniśmy wykonać dwie czynności:

  • wykonać pełne kopie binarne (sektor po sektorze) każdego z dysków na inne nośniki,
  • przetestować każdy z dysków (sektor po sektorze) pod względem występowania jakichkolwiek błędów,
  • zapisać konfigurację istniejących ustawień kontrolera (z poziomu jego biosu najlepiej na FDD).

Po wykonaniu powyższych czynności zabezpieczających możemy przejść do dalszych działań.

I tak:

  • jeżeli w wyniku testu nie pojawią się żadne błędy na żadnym z nośników możemy przystąpić do odbudowy macierzy (bez wymiany nośnika),
  • jeżeli błędy pojawią się na jednym z nośników i jest to nośnik, który jest wskazywany przez kontroler macierzy jako uszkodzony należy zastąpić go nowym i przystąpić do odbudowy macierzy.

Proszę pamiętać, że sam proces odbudowy powinniśmy przeprowadzać na oryginalnych dyskach (oczywiście po uprzednim wykonaniu kopii binarnych) ze względu na to, iż większość kontrolerów używa numerów seryjnych dysków do ich rozpoznawania w istniejących macierzach. Podobnie sprawa ma się z fizyczną kolejnością dysków; po ich wypięciu w celu wykonania kopii i testów powinny być one podpięte z powrotem do tych samych gniazd w kontrolerze.

Innym sposobem na odzyskanie danych jest wykonanie kopii posektorowych wszystkich dysków i odzyskanie danych bezpośrednio z nich poprzez emulację istniejącego systemu RAID.

Można to przeprowadzić według dwóch metod:

  • sprzętowej,
  • programowej.

Metoda sprzętowa polega na podpięciu wszystkich kopii dysków i założeniu nowego systemu RAID. Poniżej procedura:

  • w maszynie źródłowej (lub innej) stawiamy świeży system (najlepiej Windows) na pojedynczym dysku (w trakcie instalacji wszystkie dyski RAID muszą być odłączone),
  • instalujemy sterownik do kontrolera macierzowego,
  • wyłączamy komputer i podpinamy kopie dysków macierzowych,
  • wchodzimy do biosu kontrolera RAID i zakładamy nową macierz,
  • uruchamiamy Windows - w konsoli zarządzania dyskami powinniśmy zobaczyć wolumin RAID z nieprzydzieloną przestrzenią dyskową,
  • instalujemy odpowiedni program do odzyskiwania danych (w zależności od użytego systemu plików na skanowanej macierzy, np. do FAT, NTFS, Ext, itp),
  • skanujemy wolumin RAID i powinniśmy uzyskać dostęp do utraconych danych.
  • W powyższym przypadku, w trakcie zakładania nowej macierzy muszą być zachowane następujące warunki:
  • w trakcie inicjalizacji dysków ich fizyczna kolejność w kontrolerze musi być identyczna, jak w układzie oryginalnym (tzn. kopie dysków A,B,C itd. muszą być ustawione w tej samej kolejności co w oryginale),
  • deklarowana wielkość klastra musi być identyczna,
  • trzeba wykreować samą macierz, natomiast nie wolno jej inicjalizować lub formatować! (jeżeli przez pomyłkę wykonamy te czynności należy ponownie odtworzyć binarnie wszystkie nasze dyski z posiadanych, wykonanych wcześniej kopii).

Jeżeli okaże się, że po zeskanowaniu woluminu występują błędy w strukturze lub pliki się nie otwierają (bądź otwierają się z błędami) to będzie oznaczało, że dyski są podpięte w niewłaściwej kolejności lub zadeklarowana wielkość klastra jest inna niż powinna być. W takiej sytuacji należy ponownie wejść do biosu kontrolera, usunąć macierz i założyć nową z innymi ustawieniami, tzn. inna wielkość klastra. Analogicznie - zmienić kolejność dysków (oczywiście w wyłączonym systemie).

Metoda programowa jest podobna do sprzętowej - z tą różnicą, że wszystkie czynności związane z emulacją RAID, czyli zakładanie macierzy, jej konfiguracja itp. jest wykonywana wirtualnie przez specjalistyczne oprogramowanie. Poniżej procedura:

  • potrzebujemy komputer z zainstalowanym systemem (najlepiej Windows) na pojedynczym dysku,
  • podpinamy dyski z kopiami binarnymi naszych dysków RAID (w tej metodzie nie potrzebujemy posiadać kontrolera macierzowego, dyski podpinamy pod zwykłe pojedyncze kanały) - kolejność podpinanych dysków jest bez znaczenia,
  • uruchamiamy system (pilnujemy, aby w trakcie uruchamiania się systemu nie odpalił się scandisk),
  • instalujemy i uruchamiamy program do odzyskiwania danych z systemów RAID,
  • w zależności od aplikacji program może sam poskładać kolejność dysków oraz wielkość klastra,
  • wykonujemy programem obraz macierzy na nowym dysku.

Odzyskiwanie dostępu do danych w przypadku "array failed"

W praktyce, przy występowaniu komunikatu o uszkodzeniu macierzy RAID mamy bardzo zawężoną ścieżkę postępowania w warunkach pozalaboratoryjnych, ponieważ przy uszkodzeniach tego typu na ogół dochodzi do zniszczenia kilku nośników lub pojawienia się błędów logicznych, bądź fizycznych w większej ilości dysków.

Przy tego typu komunikacie stanowczo odradzamy podejmowanie we własnym zakresie prób odbudowy macierzy z poziomu kontrolera. Jedyne co możemy wykonać, to sprawdzenie, pod kątem występowania błędów, oddzielnie każdego z dysków. Po tej czynności będziemy wiedzieć czy jest możliwe wykonanie kopii binarnych przynajmniej takiej ilości dysków, za pomocą której będziemy w stanie odbudować z danych nadmiarowych obraz woluminu RAID (na ogół będziemy potrzebować n-1 kopii, w natywnym stripe niestety musimy wykonać kopie wszystkich dysków). Jeżeli okaże się, że co najmniej 2 lub więcej dysków jest całkowicie niesprawna lub w trakcie testowania pojawiają się błędy odczytu w większych ilościach na co najmniej dwóch dyskach - to dalsze męczenie tematu w warunkach amatorskich mija się z celem.

Wtedy jedyną szansą na dotarcie do danych jest zgłoszenie się firmy specjalizującej się w odzyskiwaniu danych.

Jeżeli jednak uda się nam wykonać kopie sektorowe naszych dysków należy spróbować dotrzeć do danych metodą programowej emulacji RAID. Opis postępowania w poprzednim dziale.

Synteza metod odzyskiwania danych

Każda z wyżej wymienionych metod posiada swoje wady i zalety. Poza tym każda z nich charakteryzuje się odmienną specyfiką. Oto podsumowanie:

  • przy emulacji RAID (sprzętowej i programowej) - możemy odzyskać same dane (bez odbudowy systemu plików oraz systemu operacyjnego),
  • przy emulacji RAID (sprzętowej i programowej) - występuje konieczność zaopatrzenia się w program do odzyskiwania danych ze stosownych systemów plików,
  • przy emulacji RAID (programowej) - jw. oraz dodatkowo dochodzi konieczność zaopatrzenia się w program odzyskujący dane z uszkodzonych woluminów RAID,
  • przy emulacji RAID (sprzętowej i programowej) - występuje dużo wyższa czasochłonność procesu dotarcia do danych,
  • przy emulacji RAID (sprzętowej i programowej) - metoda ta generalnie wykazuje większą skuteczność, ze względu na możliwość korygowania we własnym zakresie parametrów,
  • przy sprzętowej odbudowie array rebuilding - w porównaniu z metodami emulacji - jest niższa skuteczność, która w dużej mierze zależy od jakości samego kontrolera oraz ilości błędów i przekłamań, które mogą się pojawić na każdym z dysków (często jest tak, że po odbudowie macierzy przez kontroler nie mamy dostępu do systemu plików i sam proces odzyskiwania danych musimy kończyć poprzez skanowanie odbudowanego woluminu, który jest uszkodzony w sposób logiczny),
  • przy sprzętowej odbudowie array rebuilding - ze względu na aktywną metodę odbudowy jednego z dysków istnieje ryzyko nieprawidłowego nadpisania danych w przypadku automatycznego uaktywnienia się tej opcji.

Wszystkie opisane powyżej działania i metody mają ogólny charakter i nie uwzględniają sytuacji specyficznych. Mogą być stosowane (w warunkach amatorskich) w przypadku utraty dostępu do niezbyt istotnych informacji. Natomiast, jeżeli utracimy dostęp do bardzo ważnych danych, to stanowczo zalecamy zgłoszenie się do wyspecjalizowanej firmy typu Data Recovery.

Nie wolno...

Nie należy przede wszystkim panikować. Taki stan powoduje, że zaczynamy wykonywać różne, często nieprzemyślane czynności, w konsekwencji których możemy na zawsze utracić możliwość dotarcia do danych.

Oprócz wskazówek opisanych w niniejszym artykule należy przestrzegać następujących reguł:

  • nie wolno wykonywać odbudowy macierzy (jakąkolwiek metodą) bez zrobienia uprzednio kopii binarnych wszystkich dysków uczestniczących w macierzy,
  • nie należy uruchamiać opcji array rebuilding przy komunikacie array failed (dużo bardziej bezpieczniejszą metodą jest próba wykonania kopii dysków i podjęcie działań dotarcia do danych metodą programowej emulacji),
  • nie wolno zmieniać dysków macierzy miejscami (fizycznie) i uruchamiać komputer,
  • nie wolno wyjmować dysków macierzy i uruchamiać komputer,
  • powierzać odzyskiwanie danych z macierzy RAID osobom lub firmom nie posiadającym stosownych kwalifikacji.

Jak nie stracić danych w systemach RAID

Jakkolwiek same macierze RAID są rodzajem systemów pamięci masowych, w których zaimplementowane technologie pozwalają ograniczyć ryzyko utraty danych, to jednak musimy pamiętać, że nawet tak skomplikowane urządzenia mogą ulec awarii. Dlatego też w każdym przypadku przechowywania ważnych danych w układach macierzowych powinniśmy pomyśleć o zaopatrzenie się w dodatkowy system wykonujący kopie zapasowe. W tym celu można wykorzystać zwykły zewnętrzny dysk czy też streamer.

Poza tym należy przestrzegać poniższych zasad:

  • unikajmy komputerów, tzw. składaków - korzystajmy z opracowanych do tego celu markowych rozwiązań serwerowych (m.in. posiadają one redundancyjne zasilacze i wiele innych zabezpieczeń),
  • jeżeli to możliwe, należy stosować maksymalne zabezpieczenie związane z zasilaniem (używajmy kontrolerów macierzowych z bateriami podtrzymującymi oraz stosujmy UPS),
  • przy konfigurowaniu macierzy unikajmy stosowania trybu zapisu writeback,
  • nie należy ustawiać opcji automatycznej naprawy RAID (automatic array rebuilding),
  • rodzaj wybranego poziomu RAID powinien posiadać zabezpieczenia, np. w postaci nadmiarowości,
  • jeżeli to możliwe stosujmy podwyższony, dodatkowe poziomy redundancji w postaci hot spare,
  • starajmy się unikać stosowania samych poziomów stripe (RAID 0) bez dodatkowych zabezpieczeń.

Uwaga

Zarówno autor jak i redakcja nie ponoszą żadnej odpowiedzialności za jakiekolwiek szkody i straty powstałe w wyniku stosowanie się do wskazówek w niniejszym artykule. Nie zaleca się stosowania niniejszych metod w warunkach amatorskich, kiedy w grę wchodzi ryzyko utraty danych, mogące stanowić zagrożenie dla życia, zdrowia lub powodujące znaczne straty. W takiej sytuacji należy zwrócić się do wyspecjalizowanych firm typu Data Recovery.

 

Copyright DataMax Recovery © 2005 - 2024 | Mapa strony
Engined by Indingo