Odzysk danych · RAID 10

Odzyskiwanie danych z RAID 10 - mirror, striping i pary mirrorów

RAID 10 łączy mirrorowanie i striping - każda para dysków trzyma identyczne dane, pary są rozłożone przez striping. Tolerancja awarii zależy nie od liczby padniętych dysków, ale od tego które padły: dwa dyski z różnych par to brak problemu, dwa dyski z tej samej pary to brak dostępu do całej macierzy.

Rekonstrukcja offline z kopii posektorowych
Wykrywanie chunk size i par mirrorów
Dell PERC, LSI, HP Smart Array, mdadm
Rozliczenie po wyniku
Zdegradowany RAID 10 i zaczął się rebuild? Wyłącz serwer.

Rebuild zdegradowanej pary mirrorów wymaga pełnego odczytu ocalałego dysku pod ciągłym obciążeniem. Jeśli ten dysk ma latentne błędy sektorów lub jest z tej samej partii co padły - rebuild może spowodować drugą awarię w tej samej parze, co oznacza utratę wszystkich danych tej pary. Oznacz dyski numerami slotów i skontaktuj się z laboratorium zanim rebuild dobiegnie końca.
Podstawy

Jak działa RAID 10 - stripe of mirrors

RAID 10 to zagnieżdżona macierz: najpierw mirrorowanie wewnątrz par dysków, potem striping tych par względem siebie. Stąd alternatywna nazwa RAID 1+0 - RAID 1 (mirror) jest na dole, RAID 0 (stripe) jest na górze.

W 4-dyskowym RAID 10 mamy dwie pary mirrorów. Dysk A1 i A2 trzymają identyczne dane (para A). Dysk B1 i B2 trzymają identyczne dane (para B). Nowe zapisy są dzielone na bloki i rozkładane naprzemiennie: blok 1 idzie do pary A, blok 2 do pary B, blok 3 do pary A itd. Pojemność użytkowa to 50% całkowitej - dwa dyski z czterech są przeznaczone na kopie.

W 6-dyskowym RAID 10 mamy trzy pary. W 12-dyskowym - sześć par. Każda para to niezależne lustro w ramach większego zestawu stripe.

Kluczowa zasada: macierz traci dostęp do danych gdy którakolwiek para straci obydwa dyski. Jeden padły dysk z każdej pary - macierz działa. Dwa padłe dyski z tej samej pary - macierz offline.

RAID 10, czyli RAID 1+0

W praktyce najważniejsze jest ustalenie par mirrorów. RAID 10 nie pada od samej liczby uszkodzonych dysków, tylko od tego, czy któraś para lustrzana straciła oba swoje nośniki. RAID 01 istnieje jako odwrotna konstrukcja, ale spotyka się go rzadko - zwykle wystarczy traktować go jako ciekawostkę i nie mylić z typowym RAID 10.
Struktura 4-dyskowego RAID 10
Pary mirrorów:
Para A
A1mirror
A2mirror
identyczne dane
Para B
B1mirror
B2mirror
identyczne dane
Striping danych między pary:
Blok 1
Para A
Blok 2
Para B
Blok 3
Para A
Blok 4
Para B
Scenariusz awarii:
A1 padł
A1dead
A2OK
Para A działa - A2 ma kopię
A1+A2 padły
A1dead
A2dead
Macierz offline - brak danych pary A
Jeden dysk z pary = macierz żyje. Oba dyski z pary = macierz offline.
Środowiska

RAID 10 w serwerach, NAS i stacjach roboczych

RAID 10 spotyka się najczęściej tam, gdzie liczy się szybkość i odporność na awarię pojedynczego dysku w parze: serwery baz danych, hosty wirtualizacji, większe serwery plików, macierze pod monitoring, stacje robocze do montażu wideo i środowiska VM.

Może działać na kontrolerze Dell PERC, HP Smart Array, LSI MegaRAID, Adaptec, w Linux mdadm, Windows Storage Spaces, ZFS albo w systemach NAS. Użytkownik często widzi tylko komunikat Degraded, Failed, Foreign Configuration albo informację, że wolumin przestał się montować.

Nie musisz znać dokładnego typu RAID.

Przy zgłoszeniu wystarczy opisać z jakiego urządzenia pochodzą dyski, ile ich było, które sloty zgłaszały błąd i czy był uruchamiany rebuild. Parametry takie jak chunk size, kolejność dysków, pary mirrorów i system plików można ustalić podczas diagnozy na kopiach posektorowych.
Analiza tolerancji

Ile awarii przeżyje RAID 10 - matematyka wzorców

RAID 10 z N dyskami ma K = N/2 par mirrorów. Macierz przeżywa dowolną konfigurację awarii pod warunkiem, że każda para zachowuje co najmniej jeden sprawny dysk. Liczy się wzorzec awarii - które dyski padły - nie sama liczba.

W 4-dyskowym RAID 10 (2 pary): dwie awarie mogą być w dwóch różnych parach (bezpiecznie) lub w tej samej parze (utrata całości). Z 6 możliwych kombinacji awarii dwóch dysków, 4 są bezpieczne.

W 8-dyskowym RAID 10 (4 pary): trzy awarie mogą ocalić macierz jeśli każda jest w innej parze - 32 z 56 możliwych wzorców. To dużo, ale 24 wzorce niszczą macierz.

Ważne zastrzeżenie: tabela zakłada, że awarie są niezależne i losowe. W praktyce dyski tej samej partii produkcyjnej, z podobną liczbą godzin pracy, mogą padać korelacyjnie - często w tej samej parze jeśli były kupione razem. To czyni statystykę tabeli optymistyczną wobec rzeczywistości.

Dlatego przy RAID 10 sama informacja „padły dwa dyski” nie wystarcza do oceny sytuacji. Kluczowe jest to, czy były to dyski z tej samej pary lustrzanej, czy z dwóch różnych par. W pierwszym przypadku trzeba ratować przynajmniej jeden dysk z uszkodzonej pary. W drugim zwykle nadal istnieje pełna kopia każdego fragmentu danych.

Dyski z tej samej partii w tej samej parze - podwójne ryzyko

Producenci sprzedają dyski w zestawach. Klient kupuje cztery dyski do RAID 10 - dostaje dyski z tej samej partii produkcyjnej, z tym samym firmware, z tymi samymi głowicami. Parując je w mirrorze, umieszcza najsłabszych kandydatów do awarii obok siebie. Gdy jeden padnie, drugi jest pod maksymalnym obciążeniem I/O podczas rebuildu - i jest z tej samej partii.

Zasada przy budowaniu RAID 10: partnerzy mirrorów z różnych partii, kupieni w różnym czasie.
Konfiguracja RAID 10 2 losowe awarie 3 losowe awarie 4 losowe awarie
4 dyski, 2 pary 4 z 6 wzorców - oba muszą być w różnych parach Niemożliwe - przy 2 parach 3 awarie zawsze niszczą jedną parę Niemożliwe
8 dysków, 4 pary 24 z 28 wzorców 32 z 56 wzorców - każda awaria w innej parze 16 z 70 wzorców
12 dysków, 6 par 60 z 66 wzorców 160 z 220 wzorców 240 z 495 wzorców
24 dyski, 12 par 264 z 276 wzorców 1760 z 2024 wzorców 7920 z 10626 wzorców

Wzorce zakładają niezależne, losowo rozmieszczone awarie. Korelowane awarie partyjne (ta sama para, podobny wiek dysków) są w praktyce częstsze niż wynika z tabeli.

Krytyczny szczegół

Dlaczego dwa dyski w parze mirrorów mogą się różnić

Powszechne założenie: oba dyski w parze mirrorów zawsze mają identyczne dane, więc można użyć dowolnego z nich. To założenie jest błędne przy środowiskach z write-back caching - a właśnie w takich środowiskach (bazy danych, wirtualizacja, serwery plików z dużym ruchem) RAID 10 jest najczęściej stosowany.

Przy write-back caching kontroler potwierdza zapis hosta zanim dane trafią na talerze dysków. Oba dyski w parze flushują dane na talerze w odstępie milisekund - ale jeśli w tym oknie nastąpi nieoczekiwane wyłączenie zasilania, crash kontrolera lub przepięcie, jeden dysk może mieć zapis którego drugi jeszcze nie otrzymał.

Jeden dysk jest świeży (fresh) - ma ostatni commit zapisu. Drugi jest nieaktualny (stale) - zatrzymał się chwilę wcześniej. Mirror failover przełącza na dysk który żyje - ale nie gwarantuje że obydwa miały ten sam ostatni stan transakcji.

Jeśli przy rekonstrukcji macierzy użyjemy nieaktualnego dysku z jednej pary i świeżego z innej - złożona macierz ma niespójne generacje danych między parami: nagłówki systemu plików nie zgadzają się z danymi, bazy danych mają torn pages, kontenery VMDK odmówią montowania.

Jak wykrywamy który dysk jest świeższy:
  • mdadm (software RAID): event counter w superbloku - dysk z wyższym event count był ostatni w synchronizacji
  • NTFS: $LogFile i numery sekwencji aktualizacji $MFT - wskazują który dysk commitował ostatnią transakcję metadanych
  • EXT4 / XFS: stan journal i liczniki mount/write w superbloku - identyfikacja który dysk był ostatnio zapisywany
  • Sprzętowe kontrolery: znaczniki czasu w metadanych DDF lub RIS, numery sekwencji i stan par mirrorów
Dlatego obrazujemy wszystkie dyski - nie tylko jeden z pary

Rekonstrukcja uruchamiana wyłącznie na kopiach posektorowych pozwala próbować różnych kombinacji (świeży/nieaktualny dysk z pary) bez ryzyka. Złą próbę można po prostu powtórzyć z innym wyborem. Przy rebuildie in-place na oryginalnych dyskach - zła decyzja jest nieodwracalna.
Techniczne

Wykrywanie chunk size i par mirrorów bez kontrolera

Chunk size (rozmiar bloku, stripe unit) to ilość danych zapisywanych do jednej pary mirrorów przed przejściem do następnej. Typowe wartości: 64 KiB (domyślny Dell PERC), 128 KiB, 256 KiB (domyślny HP Smart Array), 1 MiB przy macierzach zoptymalizowanych pod duże pliki.

Gdy oryginalny kontroler jest martwy i nie ma eksportu konfiguracji, chunk size i przypisania par mirrorów muszą być wykryte z surowych obrazów dysków. Metody:

Skanowanie entropii

Skompresowane i zaszyfrowane obszary mają bliską jednostkowej entropię Shannona. Pliki tekstowe, metadane systemu plików i struktury baz danych mają charakterystyczne rozkłady niejednorodne. Granice bloków chunk są widoczne tam gdzie rozkład entropii zmienia się w tym samym LBA na dwóch dyskach. Partnerzy mirrorów mają identyczną entropię w tym samym LBA - dyski ze stripu nie.

Kotwice systemu plików

NTFS: $MFT records po 1024 bajty wyrównane do granic chunk. EXT4: backup superblok w grupach bloków 1, 3^n, 5^n, 7^n - przy 4 KiB bloku, grupa 1 zaczyna się od bloku 32768. XFS: nagłówki Allocation Group z samoreferującym numerem AG. ZFS: uberblock array w drugiej połowie każdego 256 KiB vdev label. Każda kotwica ląduje w tym samym offsecie na dyskach mirrorów i w offsecie oddalonym o chunk na dyskach stripu.

Metadane na dyskach - skrót referencyjny
mdadm (Synology, QNAP, Linux)
Superblok v1.0 na końcu dysku, v1.1 na początku, v1.2 przy 4 KiB. Zawiera: chunk size, layout (near, far, offset), event count, UUID, rola dysku w macierzy. mdadm --examine /dev/sdX
Dell PERC (H730/H740/H755)
DDF (SNIA Disk Data Format) zakotwiczony na ostatnim LBA każdego dysku, obszar zarezerwowany ~32 MB rosnący od końca dysku do środka. Klon na dysk choć jeden LBA krótszy = obcięte metadane.
HP Smart Array (P408i/P816i)
RIS (Reserved Information Sector) na początku dysku, ukryty w GPT Partition 9. Nie DDF - niezgodny z narzędziami DDF. Domyślny chunk: 256 KiB (nie 64 KiB jak PERC). Narzędzia zakładające 64 KiB dają losowe dane.
LSI MegaRAID (9361/9460/9560)
DDF SNIA z definicjami span dla RAID 10/50/60. Anchor na ostatnim LBA. DDF na dysku ma wyższy autorytet niż NVRAM kontrolera - przy konflikcie dysk wygrywa.
Typowe przypadki

Scenariusze awarii RAID 10 - co się stało i co dalej

Jeden dysk padł - macierz zdegradowana, para ma drugiego członka
Klasyczny scenariusz. Para mirrorów straciła jeden dysk - drugi wciąż trzyma kopię wszystkich danych tej pary. Macierz działa, dane dostępne. Rebuild jest kuszący, ale zanim go uruchomisz - sprawdź SMART wszystkich pozostałych dysków. Jeśli partner pary ma narastające błędy, rebuild go przeciąży.
Sprawdź SMART. Jeśli partner pary jest marginalny - zrób kopię posektorową zanim uruchomisz rebuild.
Oba dyski tej samej pary padły - macierz offline
Najtrudniejszy scenariusz dla RAID 10. Fragment danych tej pary nie ma żadnej kopii - chyba że uda się odczytać przynajmniej jeden z padłych dysków. Jeśli jeden padł mechanicznie (awaria głowic, PCB), naprawa w komorze laminarnej może przywrócić go do stanu czytelnego. Jeśli oba padły fizycznie - zakres odzysku zależy od tego czy i ile uda się odczytać z każdego z nich.
Wyłącz. Przynieś wszystkie dyski z macierzy - nawet te które wyglądają na sprawne.
Padł kontroler RAID - dyski sprawne, ale jak złożyć macierz?
Kontroler padł lub jest wymieniany na inny model. Dyski fizycznie OK, ale nie wiadomo jak były sparowane, jaki był chunk size, ani w jakiej kolejności dyski siedziały w slotach. Przy mdadm (Synology, QNAP) - parametry są w superbloku na każdym dysku. Przy sprzętowych kontrolerach - DDF lub RIS na dyskach zawiera geometrię macierzy. Przy starych kontrolerach bez metadanych na dyskach - wykrywanie analityczne.
Oznacz dyski numerami slotów przed wyjęciem. Nie akceptuj Foreign Config bez wcześniejszego zdjęcia ekranu BIOS-a.
Foreign Configuration - co się stanie jeśli ją zaakceptuję?
Akceptacja Foreign Config przepisuje konfigurację z dysków do NVRAM kontrolera. Jeśli wszystkie dyski są aktualnie zsynchronizowane - zazwyczaj bezpiecznie. Jeśli jeden dysk był stale (wypadł wcześniej i nie był synchronizowany), import może uruchomić consistency check, który nadpisze aktualne dane stanem z nieaktualnego dysku. Dell PERC: "Import Foreign Config" w BIOS utility. MegaRAID: storcli force-online. mdadm: --assemble --force.
Zrób zdjęcie ekranu BIOS-a z informacją o Foreign Config. Wyłącz serwer i skontaktuj się z laboratorium zanim cokolwiek klikniesz.
Rebuild zatrzymał się w połowie - URE na ocalałym dysku
Rebuild ocalałego dysku z pary trafił na unrecoverable read error. Niektóre kontrolery przerywają rebuild i raportują błąd. Inne retry'ują i kontynuują - ale przy losowym sukcesie retry mogą cicho wpisać błędne dane do nowego mirrora. Macierz po takim rebuildzie może raportować brak błędów, ale dane w dotkniętych sektorach są uszkodzone. Natychmiastowe wyłączenie, obrazowanie wszystkich dysków w obecnym stanie.
Wyłącz natychmiast. Nie restartuj rebuildu - kolejny pass może nadpisać poprawne sektory błędnymi.
Błędy I/O przy dostępie do plików - bad sektory na dyskach
Macierz montuje się, ale przy dostępie do konkretnych plików system się zawiesza, CHKDSK/fsck raportuje błędy, lub NAS loguje I/O errors. Dyski mają narastające błędy sektorów. Kopia posektorowa każdego dysku z wielokrotnymi przebiegami - najpierw czytelne obszary, potem trudne sektory. Partner mirrora może mieć ten sektor czytelny tam gdzie drugi ma błąd.
Nie kopiuj plików bezpośrednio. Pracuj na kopiach posektorowych - partner mirrora może pokryć błędy drugiego dysku.
Jak pracujemy

Proces odzysku z RAID 10 krok po kroku

1
Przyjęcie sprawy i opis sytuacji
Na początku zbieramy podstawowe informacje: liczba dysków, model serwera/NAS-a lub kontrolera, kolejność dysków w slotach, komunikaty błędów i historia zdarzeń. Nie musisz znać chunk size ani dokładnej konfiguracji - te parametry można ustalić podczas diagnozy.
2
Naprawa dysków z uszkodzeniami fizycznymi
Dyski z awarią głowic, PCB lub silnika - naprawa w komorze laminarnej lub na poziomie płytki drukowanej przed klonowaniem. Przy parze gdzie oba dyski padły mechanicznie - naprawa przynajmniej jednego jest warunkiem koniecznym do odzysku danych tej pary. Firmware repair przez PC-3000 przy dyskach niewidocznych z powodu błędów firmware.
3
Kopie posektorowe 1:1 każdego dysku
PC-3000 Data Extractor, tryb write-blocked - żaden zapis na oryginał nie jest możliwy. Każdy z N dysków obrazowany osobno, wieloma przebiegami przy błędach. Dyski oznaczone numerami slotów zachowują kolejność z macierzy. Wszystkie dalsze prace wyłącznie na kopiach.
4
Identyfikacja par mirrorów i chunk size
Odczyt metadanych z superbloku mdadm, DDF (Dell PERC, LSI) lub RIS (HP Smart Array). Przy brakujących metadanych - wykrywanie analityczne: skanowanie entropii, kotwice systemu plików (NTFS $MFT, EXT4 superblok backup, XFS AG header, ZFS uberblock). Weryfikacja przez sprawdzenie że wybrane parametry dają spójny obraz systemu plików.
5
Selekcja świeżego dysku z każdej pary
Porównanie event counterów (mdadm), numerów sekwencji aktualizacji $MFT (NTFS), stanu journal (EXT4/XFS), lub znaczników DDF/RIS między partnerami każdej pary. Dysk z wyższym event count lub ostatnią transakcją jest świeższy i stanowi podstawę rekonstrukcji. Dokumentacja rozbieżności - stale bloki są wykluczone z zestawu danych.
6
Rekonstrukcja wirtualna macierzy offline
Jeden dysk z każdej pary (świeższy) jest używany jako reprezentant pary. Reprezentanci par są składani w wirtualną macierz RAID 0 z wykrytym chunk size i kolejnością par. Walidacja przez sprawdzenie spójności systemu plików i nagłówków plików w złożonym obrazie. Wszystko na kopiach - zła kombinacja parametrów można powtórzyć bez ryzyka.
7
Analiza systemu plików i ekstrakcja
Montowanie lub parsowanie systemu plików na złożonym obrazie (NTFS, EXT4, XFS, ZFS, VMFS). Przy uszkodzonych metadanych - rekonstrukcja inode, journal replay, file carving. Ekstrakcja do miejsca docelowego. Priorytetowe pliki klienta (bazy danych, VM images, dokumenty) weryfikowane w pierwszej kolejności.
8
Weryfikacja i przekazanie
Lista odzyskanych plików i katalogów do akceptacji przed płatnością. Możesz zapytać o konkretne pliki. Płatność po akceptacji wyniku. Kopia robocza niszczona na życzenie po potwierdzeniu odbioru danych.
Wycena

Jak wyceniamy odzysk z RAID 10

W RAID 10 wycena zależy głównie od liczby dysków, stanu każdego nośnika, typu kontrolera lub NAS-a, systemu plików oraz tego, czy był uruchomiony rebuild, import Foreign Configuration albo praca z nieaktualnym członkiem pary.

Najpierw wykonywana jest diagnoza i kopie posektorowe dostępnych dysków. Po analizie dostajesz informację, czy można złożyć pełny obraz danych, czy potrzebna jest naprawa któregoś dysku z uszkodzonej pary oraz jaki zakres odzysku jest realny.

Aktualne zasady diagnozy i rozliczeń trzymamy w jednym miejscu - w cenniku i formularzu zgłoszenia - dlatego na tej podstronie celowo nie podajemy sztywnych kwot.

Najpierw decyzja, potem realizacja.

Po diagnozie otrzymujesz opis usterki, ocenę szans i konkretną wycenę do akceptacji. Właściwy odzysk danych nie jest rozpoczynany bez Twojej zgody.
Środowiska

RAID 10 na kontrolerach sprzętowych i software RAID

Dell PERC · H730 / H740 / H755
DDF na ostatnim LBA, domyślny chunk 64 KiB
PERC to rebrandowany LSI MegaRAID z firmware Dell. Metadane DDF są zakotwiczone na absolutnie ostatnim LBA każdego dysku, obszar zarezerwowany ~32 MB rośnie do środka dysku. Klon dysku na nośnik choć jeden LBA krótszy - obcięte metadane.

Przy wymianie kontrolera na inny model PERC: "Foreign Configuration" w BIOS-ie RAID. Akceptacja importu przepisuje konfigurację z dysków do NVRAM nowego kontrolera i zazwyczaj działa poprawnie przy wymianie na ten sam rodzaj PERC. Clearing Foreign Config niszczy DDF z dysków - bez możliwości odwrócenia.
→ Zrób zdjęcie ekranu BIOS przed akceptacją Foreign Config
HP Smart Array · P408i / P816i
RIS na początku dysku, domyślny chunk 256 KiB
HP używa własnego formatu RIS (Reserved Information Sector) zamiast DDF. RIS siedzi na początku dysku w ukrytej GPT Partition 9 - nie jest parsowany przez standardowe narzędzia DDF.

Domyślny chunk size to 256 KiB - nie 64 KiB jak PERC. Narzędzia zakładające 64 KiB dają losowe dane. Kontrolery HP Smart Array wyposażone w Flash-Backed Write Cache (FBWC) lub Battery-Backed Write Cache (BBWC): awaria modułu cache przy brudnych zapisach to dane które nigdy nie trafiły na dyski. Rekonstrukcja traktuje macierz jako stan sprzed niespłukanych zapisów.
→ Nie zakładaj 64 KiB chunk - HP domyślnie 256 KiB
LSI MegaRAID · 9361 / 9460 / 9560
DDF SNIA z definicjami span, DDF wygrywa z NVRAM
LSI MegaRAID pisze DDF SNIA z definicjami virtual drive group i span dla RAID 10/50/60 - przypisania par mirrorów są explicite zakodowane. Anchor header DDF na ostatnim LBA. DDF na dyskach ma wyższy autorytet niż NVRAM kontrolera - gdy się różnią, dysk wygrywa.

Przy analizie forensycznej klonów można uruchomić storcli /c0 show all i MegaCli64 -PDList -aALL na testowym systemie z klonami żeby odczytać te same metadane co kontroler - bez ryzyka zapisu na oryginały.
→ DDF na dysku wygrywa z NVRAM kontrolera przy konflikcie
Linux mdadm · Synology, QNAP, serwery
Superblok na dysku - chunk, layout, event count
Superblok mdadm v1.0 (koniec dysku), v1.1 (początek), v1.2 (przy 4 KiB od początku). Zawiera chunk size, layout (near/2 = domyślny RAID 10, far/2, offset/2), event count, UUID, rolę dysku w macierzy.

Odczyt bez składania: mdadm --examine /dev/sdX. Składanie readonly na testowym systemie: mdadm --assemble --readonly /dev/md0 /dev/sdX /dev/sdY ...

Flaga --force przy składaniu z dyskiem o niższym event count = stale drive włączony do macierzy. Nigdy bez świadomej decyzji.
→ --force z dyskiem stale = potencjalna utrata aktualnych danych
Windows Storage Spaces · Mirror + Stripe
SBL metadane, import na innym Windows
Windows Storage Spaces w trybie mirror + stripe działa jak RAID 10. Metadane Storage Bus Layer (SBL) są na dyskach. Import na innym systemie Windows przez Get-StoragePool -IsPrimordial $false.

Przy awarii kontrolera storage (Storage Spaces Direct, S2D) - metadane mogą być niespójne. Dostęp z Linuxa możliwy przez specjalne narzędzia ale wymaga ostrożności przy niespójnych metadanych.
→ Nie używaj diskpart ani Disk Management na dyskach przed odzyskiem
VMware VMFS / vSAN
RAID 10 jako polityka przechowywania vSAN
vSAN może używać RAID 10 (FTT=1, RAID-1/mirror per fragment) jako polityki przechowywania obiektów. Przy awarii datastore - odzysk na poziomie VMDK i VMFS plików. Heartbeats VMFS są zakotwiczone w stałym obszarze woluminu i służą do identyfikacji chunk boundaries.

Przy odzysku z VMFS na RAID 10 - po złożeniu wirtualnej macierzy praca z obrazem VMFS przez dedykowane narzędzia do odzysku środowisk VMware.
→ Nie uruchamiaj vmfstools ani esxcli na zdegradowanym datastorze
Unikaj

Czego nie robić po awarii RAID 10

  • Nie uruchamiaj rebuildu zdegradowanej pary bez sprawdzenia SMART partnera - jeśli partner jest marginalny, rebuild go dokończy
  • Nie akceptuj Foreign Configuration bez zdjęcia ekranu BIOS-a i bez pewności że żaden dysk nie był stale
  • Nie używaj mdadm --assemble --force z dyskiem który ma wyraźnie niższy event count niż reszta
  • Nie wkładaj dysków z RAID 10 do innego systemu bez oznaczenia numerów slotów - kolejność ma znaczenie
  • Nie używaj konsumenckich dysków DM-SMR jako replacement w macierzy - jest spore prawdopodobieństwo, że podczas rebuildu mocno zwolnią, zaczną zgłaszać timeouty i zostaną wyrzucone z macierzy
  • Nie uruchamiaj chkdsk, fsck, ani żadnych narzędzi naprawczych na oryginalnych dyskach - najpierw kopie posektorowe
  • Nie inicjalizuj ani nie formatuj dysków przy komunikatach "dysk niezainicjalizowany" czy "nieznana partycja"
  • Nie restartuj przerwanego rebuildu - dyski w stanie pośrednim, każdy restart może nadpisać dobre sektory
Zgłoszenie

Co warto napisać przy awarii RAID 10

Nie musisz znać wszystkich parametrów macierzy. Pomocne będzie kilka prostych informacji: ile było dysków, z jakiego serwera lub NAS-a pochodzą, który slot zgłaszał błąd, czy był rebuild oraz czy pojawił się komunikat Degraded, Failed albo Foreign Configuration.

Jeśli dyski są już wyjęte z obudowy, dobrze jest zachować ich kolejność albo oznaczyć sloty. Jeśli widzisz ekran kontrolera RAID, warto zrobić zdjęcie przed dalszym klikaniem. To często ułatwia późniejszą rekonstrukcję, ale brak tych informacji nie zamyka drogi do diagnozy.

Najważniejsze: nie zmieniaj stanu macierzy.

Nie twórz nowego woluminu, nie uruchamiaj kolejnego rebuildu, nie inicjalizuj dysków i nie uruchamiaj narzędzi naprawczych typu CHKDSK/fsck na oryginałach. Resztę można ustalić podczas pracy na kopiach posektorowych.
Terminologia

Słownik terminów RAID 10 - co oznaczają te pojęcia

Mirror pair / para mirrorów
Dwa dyski trzymające identyczne kopie tego samego fragmentu danych. W 4-dyskowym RAID 10 są dwie pary. Utrata obu dysków z jednej pary = utrata fragmentu danych bez możliwości rekonstrukcji z parity (bo RAID 10 nie ma parity).
Chunk size / rozmiar bloku
Ilość danych zapisywanych do jednej pary mirrorów przed przejściem do następnej. Dell PERC domyślnie 64 KiB, HP Smart Array 256 KiB, mdadm 512 KiB domyślnie. Błędny chunk size przy rekonstrukcji daje losowo uszkodzone pliki.
Stale drive / nieaktualny dysk
Dysk, który wypadł z macierzy i przez jakiś czas nie był synchronizowany - jego dane zatrzymały się w momencie wypadnięcia. Wymuszenie stale drive online powoduje przepisanie aktualnych danych nieaktualnymi w ramach consistency check.
Fresh drive / świeży dysk
Dysk, który miał ostatnią synchronizację - zawiera najnowszy commit danych. Przy rekonstrukcji macierzy po niespójności mirrorów zawsze używamy świeższego dysku z każdej pary. Event count w mdadm lub numery sekwencji systemu plików wskazują który dysk jest świeższy.
Foreign Configuration
Flaga kontrolera sprzętowego gdy wykrywa dyski z konfiguracją, której nie rozpoznaje jako swoją. Akceptacja importu przepisuje konfigurację do NVRAM kontrolera. Clearing/reinitializacja niszczy metadane z dysków - bez możliwości odwrócenia.
DDF / Disk Data Format
Standard SNIA dla metadanych RAID na dyskach. LSI MegaRAID i Dell PERC używają DDF zakotwiczonego na ostatnim LBA każdego dysku. DDF na dyskach ma wyższy autorytet niż NVRAM kontrolera przy konflikcie.
RIS / Reserved Information Sector
Własny format metadanych HP Smart Array, niekompatybilny z DDF. Umieszczony na początku dysku w ukrytej GPT Partition 9. Narzędzia DDF go nie parsują. HP domyślnie 256 KiB chunk zamiast 64 KiB.
URE / Unrecoverable Read Error
Sektor, który zwraca błąd odczytu mimo prób ECC. Consumer SATA: 1 URE na 10^14 bitów (około 12,5 TB). Enterprise SAS: 10× lepiej. Przy rebuildie - URE na ocalałym dysku z pary cicho korumpuje nowy mirror w tym LBA jeśli kontroler nie przerwie operacji.
Write-back cache / FBWC / BBWC
Bufor po stronie kontrolera, który potwierdza zapis hosta zanim dane trafią na dyski. Flash-Backed (FBWC) lub Battery-Backed (BBWC) - trzyma dane przez utratę zasilania. Awaria modułu cache = brudne zapisy które nigdy nie trafiły na dyski, niezależnie od stanu macierzy.
Najczęstsze pytania

FAQ - RAID 10

Dowolna liczba - pod warunkiem że w każdej parze mirrorów pozostał co najmniej jeden sprawny dysk. W 4-dyskowym RAID 10 dwa dyski mogą paść bezpiecznie jeśli są z różnych par. Ale dwa dyski z tej samej pary - macierz offline, niezależnie od tego ile dysków zostało. Liczy się wzorzec awarii, nie liczba.
Zależy od stanu fizycznego dysków. Jeśli przynajmniej jeden z nich jest naprawialny mechanicznie (awaria głowic, PCB) lub przez firmware repair - po naprawie mamy dostęp do danych tej pary i macierz można złożyć. Jeśli oba dyski są fizycznie zniszczone bez możliwości odczytu - fragment danych który trzymała ta para jest bezpowrotnie utracony.
Tak. Każdy dysk jest obrazowany osobno przez write-blocked channel. Parametry macierzy - chunk size, przypisania par mirrorów, kolejność dysków - są odczytywane z metadanych na dyskach (DDF dla Dell/LSI, RIS dla HP, superblok mdadm dla software RAID) lub wykrywane analitycznie z wzorców danych. PC-3000 składa wirtualną macierz offline z kopii bez potrzeby działającego oryginalnego kontrolera.
Przy write-back caching (typowy w środowiskach bazodanowych i wirtualizacji) kontroler potwierdza zapis hosta zanim dane trafią na talerze. Oba dyski flushują dane w odstępie milisekund. Nieoczekiwane wyłączenie zasilania lub crash kontrolera może zostawić jeden dysk z zapisem, którego drugi nie otrzymał. Jeden jest świeży (ma ostatnią transakcję), drugi nieaktualny (stale). Dlatego obrazujemy oba dyski z każdej pary i wybieramy świeższy na podstawie event counterów lub numerów sekwencji systemu plików.
Nie bez wcześniejszego sprawdzenia. Akceptacja importu przepisuje konfigurację z dysków do NVRAM kontrolera - zazwyczaj działa bezpiecznie przy wymianie kontrolera na ten sam model. Niebezpieczeństwo: jeśli któryś dysk był stale (wypadł przed awarią kontrolera i nie był zsynchronizowany), import może zainicjować consistency check który nadpisze aktualne dane nieaktualnymi. Zrób zdjęcie ekranu BIOS-a i skontaktuj się z laboratorium przed kliknięciem.
Wycena zależy od liczby dysków, stanu każdego nośnika, typu kontrolera lub NAS-a, systemu plików i tego, czy był rebuild albo import Foreign Configuration. Najpierw wykonujemy diagnozę, a dopiero potem dostajesz konkretną wycenę do akceptacji. Aktualne zasady rozliczeń są w cenniku i formularzu zgłoszenia.
4-dyskowy RAID 10 ze sprawnymi dyskami - 2–4 dni robocze. Macierze z 8, 12, 16 dyskami - dłużej ze względu na sekwencyjne obrazowanie każdego dysku. Jeśli dysk wymaga naprawy mechanicznej (wymiana głowic, naprawa PCB) - czas zależy od dostępności donorów i przebiegu naprawy. Po diagnozie dostajesz konkretny szacunek czasu i zakres prac przed podjęciem decyzji.
Najlepiej podać liczbę dysków, model serwera/NAS-a lub kontrolera, komunikat błędu, informację które dyski wypadły oraz czy był uruchamiany rebuild. Jeśli nie znasz par mirrorów, chunk size albo kolejności dysków, to nie problem - te parametry można ustalić podczas diagnozy.
W typowych przypadkach RAID 10 jest prostszy - nie ma parzystości do obliczania, nie ma algorytmu rotacji do zidentyfikowania. Para mirrorów albo ma ocalałego członka (prosty odzysk z jednego dysku) albo nie (naprawa fizyczna). RAID 5 wymaga identyfikacji rotacji parzystości, chunk size, algorytmu XOR i rekonstrukcji matematycznej. Ale przy RAID 10 gdzie oba dyski z pary padły bez możliwości naprawy - fragment danych jest bezpowrotnie utracony, czego RAID 5 czy RAID 6 by nie dopuściły.

Zobacz też

RAID 10 nie działa? Opisz sytuację.

Ile dysków, jaki kontroler, czy z tej samej pary, czy był rebuild lub Foreign Config. Odpiszę z oceną sytuacji - zazwyczaj tego samego dnia.

Zadzwoń Wyślij nośnik