Kiedy omawialiśmy odzyskiwanie danych z macierzy RAID, założyliśmy, że znamy już parametry RAID. Jednak w niektórych przypadkach nie znamy parametrów macierzy RAID, która ma zostać zrekonstruowana. Jak znaleźć wymagane parametry? Sprzedawcy macierzy RAID mogą pomóc z ich wartościami domyślnymi, ale czasami parametry zostały dostosowane i są teraz nieznane. Czy R-Studio może w tym pomóc? Tak, możemy użyć albo automatycznego wykrywania parametrów RAID, albo wbudowanego edytora tekstu/szesnastkowego do analizy danych w komponentach RAID w celu znalezienia ich parametrów. W tym artykule pokażemy Ci jak to zrobić na przykładzie prostej macierzy NTFS RAID 5. Artykuł Automatyczne Wykrywanie Parametrów RAID pokazuje jak automatycznie znaleźć parametry RAID.
Takie zadanie wymaga przynajmniej podstawowej znajomości struktur danych RAID i systemów plików. W razie potrzeby przydatne informacje znajdziesz na poniższych stronach internetowych:
RAIDy: http://en.wikipedia.org/wiki/RAID
Podstawy NTFS: http://en.wikipedia.org/wiki/NTFS
Zaawansowane NTFS: http://technet.microsoft.com/en-us/library/cc758691.aspx
Spróbujmy więc znaleźć wymagane parametry dla prostej nieznanej macierzy RAID 5.
Jej znane parametry to:
1. Liczba dysków: Trzy
2. System Plików: NTFS (utworzony przez Windows XP/2003 i nowsze przy użyciu standardowego głównego zapisu rozruchowego (blok startowy MBR)
3. Rodzaj: Podstawowy wolumen
Jego nieznane parametry, które należy znaleźć, to:
1. Kolejność dysków
2. Rozmiar bloku 3
3. Kolejność bloków
4. Przesunięcie dysku
Dyski RAID są reprezentowane jako pliki obrazów utworzone w R-Studio:
Dysk1.arc
Dysk2.arc
Dysk3.arc
Kliknij obraz, aby go powiększyć
Pliki obrazów komponentów RAID
Należy pamiętać, że nawet jeśli R-Studio znalazł obiekt Dysk1 na Dysku2.arc, niekoniecznie oznacza to, że jest to pierwszy dysk w macierzy RAID.
Znajdowanie głównego zapisu rozruchowego
Najpierw musimy znaleźć MBR, aby określić przesunięcie RAID.
1. Jeden po drugim otwórz wszystkie pliki obrazów drzewa w edytorze tekstu/szesnastkowym.
2. Nie włączaj zapisywania, aby zapobiec przypadkowemu uszkodzeniu danych w edytowanych obiektach!
3. Zapisz sygnaturę dysku Windows dla każdego obiektu, aby później rozpoznać, które okno Edytora należy do jakiego obiektu.
4. Wyszukaj blok startowy MBR. W oknie dialogowym Szukaj w polu HEXwpisz 33 C0 8E D0 BC (jest to standardowy blok początkowy MBR, ale w niektórych przypadkach może być inny), a następnie wybierz Od pozycji początkowej i wpisz 0 w Szukaj od przesunięcia.
5. Kliknij OK, aby rozpocząć wyszukiwanie.
Dane w oknie dialogowym wyszukiwania, aby rozpocząć wyszukiwanie głównego rekordu rozruchowego (MBR)
Wyniki wyszukiwania:
Kliknij obraz, aby go powiększyć
Dysk1.arc otwarty w edytorze tekstu/szesnastkowym
Kliknij obraz, aby go powiększyć
Dysk2.arc został otwarty w edytorze tekstu/szesnastkowym. Znaleziono wzorzec MBR.
Kliknij obraz, aby go powiększyć
Dysk3.arc został otwarty w edytorze tekstu/szesnastkowym. Znaleziono wzorzec MBR.
W rezultacie edytor tekstu/szesnastkowy znajduje ten wzorzec pod adresem 00 na dyskach Dysk2.arc i Dysk3.arc. Dysk1.arc pokazuje tylko zera. Oznacza to, że przesunięcie wynosi 0, a Dysk1.arc nie może być pierwszym dyskiem w macierzy RAID.
W międzyczasie Edytor poprawnie rozpoznał te wzorce na dyskach Dysk2 i Dysk3 jako główny kod programu ładującego. W naszym przypadku dwa dyski mają te same dane MBR w tym samym miejscu.
Teraz, jako drugi krok, musimy znaleźć sektor rozruchowy NTFS.
Spójrz na pole Sektory poprzedzające partycję w panelu Szablon
Kliknij obraz, aby go powiększyć
Panel szablonów dla Dysku2 i Dysku3
W naszym przypadku sektor poprzedzający podział to 16,065.
Jeśli ta wartość jest większa niż 63, powinniśmy podzielić ją przez N -1, gdzie N to liczba dysków (w naszym przypadku N = 3), co daje nam 8032. Jest to przybliżona pozycja do rozpoczęcia wyszukiwania sektora rozruchowego NTFS. Rozpoczniemy wyszukiwanie od tej pozycji, aby uniknąć znalezienia fałszywych sektorów rozruchowych NTFS, które mogą pozostać z poprzednich partycji NTFS.
Przejdź do tego sektora w Edytorze, a następnie wyszukaj wzorzec sektora rozruchowego NTFS.
Kliknij obraz, aby go powiększyć
Pole wyszukiwania sektorów w edytorze tekstu/szesnastkowym
W oknie dialogowym Szukaj w polu HEX wpisz EB 52 90 4E 54 46 53 20 20 20 20 (sektor rozruchowy NTFS zawsze zaczyna się od tych bajtów), wybierz Od aktualnej pozycji i wpisz 0 w Szukaj z przesunięciem.
Kliknij obraz, aby go powiększyć
Dane w oknie dialogowym Szukaj, aby rozpocząć wyszukiwanie sektora rozruchowego NTFS
Edytor znajduje ten wzorzec w sektorze 8064 na dyskach Dysk2 i Dysk3.
Teraz wybierz wzorzec Sektor rozruchowy NTFS w panelu Szablon.
Kliknij obraz, aby go powiększyć
Dysk2.arc został otwarty w edytorze tekstu/szesnastkowym. Znaleziono wzorzec sektora rozruchowego NTFS. Ten sam wzór znajduje się w Dysk3.arc.
Wymagane parametry, które znaleźliśmy
Bajtów na sektor: 512
Sektorów na klaster: 8
Numer klastra logicznego dla pliku $MFT: 786432
Wcześniej znalezione parametry:
Przesunięcie RAID: 0
Następnie musimy znaleźć MFT (główna tabela plików) na dysku:
1. Spróbujemy znaleźć przybliżone przesunięcie MFT od początku macierzy RAID:
Przesunięcie MFT od startu partycji w sektorach = Logiczny numer klastra dla pliku $MFT * Sektory na klaster + przesunięcie RAID = 786,432*8+0 = 6,291,456
Jeśli przesunięcie RAID nie równa się 0, musimy dodać przesunięcie do wyniku powyższego równania.
Początek MFT na pierwszym dysku = Przesunięcie MFT od początku partycji w sektorach/(N-1) = 6,291,456/2 = 3,145,728
2. Zaczniemy szukać dokładnego początku MFT w pozycji o kilka tysięcy sektorów mniejszej niż ta wartość. Powiedzmy, sektor 3,140,000.
W oknie dialogowym Szukaj wpisz "PLIK" w polu ANSI, a następnie wybierz Od bieżącej pozycji i wpisz 0 w polu Szukaj przy przesunięciu.
Kliknij obraz, aby go powiększyć
Ten wzorzec znajduje się w sektorze 10,241,463 na Dysku 2 i w sektorze 3,153,792 na Dysku 3.
Kliknij obraz, aby go powiększyć
Pierwszy sektor rekordu pliku na Dysk3. Początek bloku danych.
Co ważne: Sygnatura PLIK kończy się na 0, co oznacza, że numer rekordu pliku nie jest nadpisywany poprawką. Gdyby kończyło się na * (PLIK*), nie bylibyśmy w stanie kontynuować naszych poszukiwań i musielibyśmy użyć innej techniki.
Wzór $.M.F.T. (HEX 24 00 4D 00 46 00 54) pokazuje, że jest to poprawny początek MFT.
Ponieważ sektor 3,153,792 jest bliższy naszej oczekiwanej wartości sektora 3,145,728 niż sektora 10,241,463, możemy założyć, że Dysk3 jest pierwszym dyskiem w macierzy RAID.
Aby przejść dalej, musimy pamiętać, że rekord pliku w MFT zajmuje dwa sektory, a dane są zapisywane w macierzy RAID 5 po kolei, jeden blok danych na jeden dysk, następnie następny blok danych na następny dysk i blok parzystości na trzeci dysk. Przykład takiego schematu możemy przedstawić w poniższej tabeli...
Pierwszy dysk RAID | Drugi dysk RAID | Trzeci dysk RAID |
PD | 1 | 2 |
3 | PD | 4 |
5 | 6 | PD |
Dysk1 | Dysk2 | Dysk3 |
Sektor: 3,153,792 Zapis: 40 00 Sektor: 3,153,918 Zapis: 7F 00 Sektor: 3,153,919 Koniec paska |
Sektor: 3,153,792 Brak zapisów Sektor: 3,153,918 Brak zapisów Sektor: 3,153,919: Koniec paska |
Sektor: 3,153,792 Zapis: 00 00 Sektor: 3,153,918 Zapis: 3F 00 Sektor: 3,153,919 Koniec paska |
Sektor: 3,153,920 Brak zapisów Sektor: 3,154,046 Brak zapisów Sektor: 3,154,047 Koniec paska |
Sektor: 3,153,920 Zapis: C0 00 Sektor: 3,154,046 Zapis: FF 00 Sektor: 3,154,047 Koniec paska |
Sektor: 3,153,920 Zapis: 80 00 Sektor: 3,154,046 Zapis: BF 00 Sektor: 3,154,047 Koniec paska |
Sektor: 3,154,048 Zapis: 00 01 Sektor: 3,154,174 Zapis: 3F 01 Sektor: 3,154,175 Koniec paska |
Sektor: 3,154,048 Zapis: 40 01 Sektor: 3,154,174 Zapis: 7F 01 Sektor: 3,154,175 Koniec paska |
Sektor: 3,154,048 Brak zapisów Sektor: 3,154,174 Brak zapisów Sektor: 3,154,175 Koniec paska |
Pierwszy dysk RAID | Drugi dysk RAID | Trzeci dysk RAID |
1 | 2 | PD |
3 | PD | 4 |
PD | 5 | 6 |