czwartek, 30 czerwca 2011

RAID5, RAID6 - czy można im ufać?

Wybór używanej struktury RAIDowe to jeden z pierwszych kroków przy konfigurowaniu nowych przestrzeni dyskowych, a same RAIDy to całkowity elementarz wiedzy storage.
Czy jednak na pewno działanie i benefity związane z tym tematem są dobrze znane?
Czy istnieją ryzyka, nie widoczne na pierwszy rzut oka, a istotnie wpływające na bezpieczeństwo danych na dyskach skonfigurowanych w RAIDy?

Wygląda na to, że tak. A skrótem, który może niejednemu adminowi spędzać sen z powiek jest: URE


URE (Unrecoverable Read Error)

URE(Unreceoverable Read Error) jest to sytuacja, kiedy nie da się odczytać bloku danych z dysku, mimo iż on sam pracuje sprawnie. Dla używanych obecnie dysków SATA URE średnio zdarza się raz na od 10^14 do 10^16 razy. Przeliczając to na wielkości, to dla najgorszego scenariusza (10^14) - błędny sektor znajduje się co  12TB przestrzeni.

Co to oznacza w teorii?

RAID5 jest odporny na uszkodzenie jednego dysku. W takim przypadku najczęściej następuje rozpoczęcie jego odbudowy( wykorzystując dysk "hot spare"), a do tego czasu sama struktura pracuje z ograniczoną wydajnością, wyliczając, "w locie", dane z uszkodzonego nośnika, za pomocą mechanizmów parzystości.
Jeżeli podczas odbudowy, która nie jest niczym innym jak tylko odczytywaniem/rekonsturkcją danych sektor po sektorze i zapisywaniu na "hot spare", wystąpi błąd URE, to odbudowa RAID5 się nie uda, a ponieważ dane nie są dłużej konsystentne (nie uda sie odczyt z bloku z URE) możemy mówić o utracie danych.

Największe obecnie dostępne dla macierzy dyski SATA to 2TB (ale już 3TB "maluchy" się zbliżają).
Przyjmując wystąpienie URE co 12TB, to jeden na sześć dysków (16,6%) SATA 2TB jest jego "szczęśliwym nosicielem". Teraz pomyślmy o strukturze RAID5 działającej na grupie 4+1. Po awarii jednego dysku do rekonstrukcji danych potrzebny jest odczyt z wszyskich pozostałych.
Czyli mamy 4 dyski, dla każdego 16,6% na wystąpienie URE. Wykorzystując odrobinę matematyki wychodzi jakieś 50% szans na utratę danych.
Nieźle...

A co to oznacza w praktyce?

W praktyce nie jest tak źle.
Po pierwsze to dyski SATA używane w macierzach zwykle mają współczynnik URE w granicach 10^15 czyli dziesięciokrotnie mniej niż wartość przyjęta do obliczeń powyżej.
Po drugie SATA nie są (lub przynajmniej nie powinny) być używane dla krytycznych informacji - tutaj jak na chwilę obecną najpopularniejsze są dyski FC i SAS. Niestety nie udało mi się znaleźć informacji na temat częstości występowania błędów URE na tym typie nośników - możliwie, że jest ona pomijanie mała.
Po trzecie - macierze , szczególnie te z obszarów mid-range i enterprise przeprowadzają cały czas w tle sprawdzanie umieszczonych w nich dysków. Zdecydowana większość zgłaszanych przez te urządzenia dysków do wymiany działa sprawnie a jedynie przekroczyło pewne progi dotyczące ilości pojawiających się błędów - dzięki takiemu podejściu bardzo rzadko dochodzi do sytuacji gdy jeden z napędów jest całkowicie niesprawny a sam RAID5  działa bez redundancji i nie potrafi poradzić sobie z pojedynczym URE.

A co z RAID6?

RAID6 zapewnia działanie i dostęp do danych po utracie dwóch dysków. Oznacza to, że możemy mieć awarię napędu i wystąpienie URE podczas odbudowy a dane ciągle będą bezpieczne. Wystąpienie 2 URE na  tym samym sektorze w dwóch dyskach jest praktycznie niemożliwe więc wydaje się, że nic nam nie grozi.
Są jednak opinie, że bezpieczeństwo zapewniane przez RAID6 będzie coraz mniejsze i w końcu stanie się niewystarczające. Obawy te wynikają z faktu, iż pojemności dysków twardych rosną o wiele szybciej niż ich wydajność. W konsekwencji odbudowy dysków po awarii trwają o wiele dłużej (czasem nawet mówimy o dniach), a dodatkowo wewnętrzne mechanizmy sprawdzania napędów przez macierze (scrubbing) także będą o wiele rzadziej sprawdzać poszczególne sektory. Biorąc to pod uwagę, coraz realniejsza staje się sytuacja, kiedy mamy awarię dysku, podczas odbudowy występuje awaria drugiego, a następnie na dokładkę mamy jeszcze URE. Wszystko razem skutkuje utratą danych w RAID6
Specjaliści, którzy ostrzegają przed takim scenariuszem, aproksymują, że ochrona zapewniana przez RAID6 dla dysków SATA będzie wystarczająca do około 2019r. Potem czasy odbudowy będą tak długie, że RAID6 będzie zapewniał ochronę taką jak RIAD5 obecnie czyli teoretycznie żadną (pamiętacie 50% "teoretycznej" szansy na utratę danych po awarii jednego dysku).
Co będzie nas ratowało?
Pewnie RAID7 z potrójną parzystością. ;)

Podsumowując

Dla mnie sprawa jest w miarę prosta.
RAID5 dla FC i SAS
RAID6 dla SATA
I nie ma się co martwić (przynajmniej przez najbliższe 10lat), że staniemy się ofiarą zmasowanego ataku URE podczas jednoczesnego uszkodzenia wielu dysków w jedym RAIDzie.
Ale całkiem możliwe, że się mylę i siedzę na tykającej bombie zegarowej.

I tym optymistycznym akcentem, zakończę wpis.

DO POCZYTANIA:

Why raid5 stops working in 2009
Why raid6 stops working in 2019
Triple-parity RAID and Beyond

sobota, 11 czerwca 2011

VNX - symulator dla każdego!

EMC udostępniło "symulator" macierzy VNXe3100.
Szkoda, że nie można się "pobawić" którymś z bardziej zaawansowanych modeli z tej linii ale dla kogoś kto nie ma dostępu do prawdziwej macierzy, takie demo może dostarczyć dużo radości :D Zobaczyć możemy nie tylko samego VNXa ale i interfejs Unisphere , który może nie jest już taką nowością (obecny już w CLARiiONach z FLARE30) ale nie każdy miał okazję na nim pracować.

Plik do ściągnięcia w tym miejscu:
VNX Demo

PS.
Widzę że demo jest bardzo "realistyczne". Spróbowałem usunąć jedną z predefiniowanych storage pool i czekam już drugi kwadrans na wynik :D