Pamięci dyskowe: Obrona przed cichym zabójcą

Systemy plików nowej generacji

W historii rozwoju systemów plików można wyróżnić kilka istotnych wynalazków. Pierwszym z nich była organizacja danych w strukturę plików i folderów. Kolejnym ważnym krokiem było wprowadzenie księgowania transakcji zapewniające ochronę przed uszkodzeniem w przypadku załamania systemu operacyjnego lub awarii sprzętowej. Radykalne usprawnienie pod względem dostępności oraz ochrony danych w porównaniu do poprzednich systemów z księgowaniem transakcji wprowadziły systemy plików nowej generacji. Kluczowe innowacje obejmują:

- wbudowane zarządzanie woluminami

- sumy kontrolne budowane dla każdego bloku

- samoczynnie naprawiane macierze dysków

- kopie migawkowe wykonywane podczas zapisu w spójny sposób (atomic COW snapshots)

- wbudowaną asynchroniczna replikacja

- bardzo wysoką skalowalność.

Dla ochrony przed niszczeniem danych najważniejsze jest wprowadzenie sum kontrolnych i automatyczna naprawa błędów, a dla celów odzyskiwania poawaryjnego kopie migawkowe wykonywane podczas zapisu oraz asynchroniczna replikacja. Opcje te posiada obecnie każda macierz klasy Enterprise.

Błędy na dyskach są i będą

Dyski mechaniczne mają coraz większą pojemność i powszechnie wykorzystują znaczną część swojej surowej przestrzeni do korekcji błędów. Znacząca większość z tych błędów podlega naprawie wewnątrz samego napędu, ale nadal mogą pojawiać się błędy nienaprawiane (UBE, Unrecoverable Bit Error). W dokumentacji przykładowego dysku Seagate Cheetah T10 SAS producent informuje, że stopa korygowanych błędów wynosi poniżej 10 na każde 1012 przesłanych bitów. Niekorygowane błędy w tym samym dysku są na poziomie poniżej jednego sektora na każde 1016 bitów przesłanych – w przypadku błędnego bitu przyjmuje się uszkodzenie całego sektora dysku. Dyski mechaniczne SAS klasy Enterprise różnych producentów mają podobną stopę błędów UBE – 1 sektor na 1016 bitów przetransferowanych. Innym problemem są źle skorygowane błędy, ale zdarzają się one jeszcze rzadziej – 1 sektor na 1021 bitów (dane z dokumentacji firmy Seagate Technology LLC). Nowoczesny dysk Fibre Channel klasy Enterprise, który obsługuje nowy standard ochrony przez błędami DIF (Data Integrity Field), również ma podobną stopę błędów.

Dyski SSD najważniejszych producentów charakteryzują się co najmniej dziesięć razy niższą stopą błędów odczytu. Samsung informuje, że napęd SM843 charakteryzuje się stopą błędów poniżej 1 na każde 1017 przesłanych bitów. W miarę ciągłej eksploatacji dysków SSD wzrasta prawdopodobieństwo uszkodzeń danych, a zatem oprogramowanie zawiera odpowiednio opracowany mechanizm korekcji błędów. Typowy czas pracy tego dysku określany przez parametr MTBF (mean time before failure – średni czas przed awarią) wynosi 2 mln godz. Odsetek błędów na poziomie 1 sektora na 1017 przetransferowanych bitów oznacza, że przy intensywnej eksploatacji dysków SSD zjawisko bit rotting również będzie obserwowane. Chociaż stopa błędów jest dziesięć razy niższa, dyski te charakteryzują się bardzo wysoką wydajnością, o wiele większą, niż w przypadku dysków mechanicznych.

Jak informuje firma Fujitsu, najmniejszą stopą błędów charakteryzują się serwerowe moduły SSD przeznaczone do połączenia za pomocą magistrali PCI Express – mechanizmy kontroli i korekcji błędów są tak sprawne, że stopa błędów w podobnych modułach wynosi przeciętnie 1 blok na 10^20 przesłanych bitów.

Suma dla każdego bloku

RAID chroni dane w przypadku całkowitej awarii dysku, która sprawia, że napęd przestaje działać. Niestety, typowy kontroler RAID nie uchroni przed skutkami awarii polegającej na tym, że uszkodzony dysk dostarcza błędne porcje informacji. Teoretycznie kontroler RAID mógłby wykryć uszkodzoną w ten sposób serię bloków, ale sprawdzanie sum kontrolnych per stripe nie odbywa się domyślnie przy każdym odczycie.

Zobacz również:

  • Brak miejsca na dysku? Najlepsze metody na zwiększenie pamięci

Aby zabezpieczyć dane przed uszkodzeniem, do systemów plików nowej generacji wprowadzono mechanizm sum kontrolnych wyliczanych dla każdego bloku danych i sprawdzanych przy każdym odczycie. W ten sposób system plików taki jak btrfs czy ZFS (a także większość systemów plików stosowanych w macierzach dyskowych) z powodzeniem może wykryć uszkodzenie nawet pojedynczego bitu, a następnie go naprawić.

Samonaprawiająca się macierz

Aby zabezpieczyć dane przed uszkodzeniem, do systemów plików nowej generacji wprowadzono mechanizm sum kontrolnych wyliczanych dla każdego bloku danych i sprawdzanych przy każdym odczycie. W ten sposób system plików taki jak btrfs czy może wykryć uszkodzenie nawet pojedynczego bitu, a następnie go naprawić.

Połączenie sum kontrolnych wyliczanych blokowo oraz redundantnego przechowywania danych na różnych napędach umożliwia utworzenie samonaprawialnej macierzy dyskowej, w której uszkodzenie pojedynczego bitu w danym bloku udaje się naprawić. Proces naprawy odbywa się w tle, w sposób niedostrzegalny – pozostawia jedynie informacje diagnostyczne („read error corrected”). W porównaniu do macierzy RAID nie występuje tu przenoszenie uszkodzonych bitów między napędami przy ewentualnej odbudowie. Uszkodzony blok podlega rekonstrukcji za pomocą wyliczenia z sumy parzystości lub odczytaniu z alternatywnego napędu. Poprawna porcja danych jest przekazywana do systemu operacyjnego, a sam system plików przystępuje w tle do naprawy uszkodzonego bloku, nadpisując go właściwą zawartością.


TOP 200