Wzór do obliczania prawdopodobieństwa wystąpienia nieodwracalnego błędu odczytu podczas odbudowy macierzy RAID

12

Chcę porównać niezawodność różnych systemów RAID z dyskami konsumpcyjnymi (URE / bit = 1e-14) lub korporacyjnymi (URE / bit = 1e-15). Wzór na prawdopodobieństwo powodzenia przebudowy (ignorując problemy mechaniczne, które wezmę później pod uwagę) jest prosty:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

Ważne jest, aby pamiętać, że jest to prawdopodobieństwo uzyskania co najmniej jednego URE, niekoniecznie tylko jednego.

Załóżmy, że chcemy 6 TB przestrzeni użytkowej. Możemy to uzyskać za pomocą:

  • RAID1 z 1 + 1 dyskami po 6 TB każdy. Podczas odbudowy odczytywamy 1 dysk o pojemności 6 TB, a ryzyko wynosi: 1- (1-1e-14) ^ (6e12 * 8) = 38% dla konsumentów lub 4,7% dla dysków korporacyjnych.

  • RAID10 z 2 + 2 dyskami po 3 TB każdy. Podczas odbudowy odczytujemy tylko 1 dysk o pojemności 3 TB (ten sparowany z dyskiem uszkodzonym!), A ryzyko jest niższe: 1- (1-1e-14) ^ (3e12 * 8) = 21% dla konsumenta lub 2,4% dla dyski korporacyjne.

  • RAID5 / RAID Z1 z 2 + 1 dyskami o pojemności 3 TB każdy. Podczas odbudowy odczytujemy 2 dyski o pojemności 3 TB każdy, a ryzyko wynosi: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% dla dysków konsumenckich lub 4,7% lub dysków korporacyjnych.

  • RAID5 / RAID Z1 z dyskami 3 + 1 po 2 TB każdy (często używanymi przez użytkowników produktów SOHO, takich jak Synologys). Podczas odbudowy odczytujemy 3 dyski o pojemności 2 TB każdy, a ryzyko wynosi: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% dla dysków konsumenckich lub 4,7% lub dysków korporacyjnych.

Obliczenie błędu dla tolerancji pojedynczego dysku jest łatwe, trudniejsze jest obliczenie prawdopodobieństwa w przypadku systemów tolerujących wiele awarii dysków (RAID6 / Z2, RAIDZ3).

Jeśli tylko pierwszy dysk zostanie użyty do odbudowy, a drugi zostanie ponownie odczytany od początku w przypadku lub URE, wówczas prawdopodobieństwo błędu jest obliczone powyżej pierwiastka kwadratowego (14,5% dla konsumenta RAID5 2 + 1, 4,5% dla konsumenta RAID1 1 + 2). Jednak przypuszczam (przynajmniej w ZFS, który ma pełne sumy kontrolne!), Że drugi parzystość / dostępny dysk jest odczytywany tylko w razie potrzeby, co oznacza, że ​​potrzebnych jest tylko kilka sektorów: ile URE może wystąpić na pierwszym dysku? nie wiele, w przeciwnym razie prawdopodobieństwo błędu dla systemów tolerancji jednotarczowych wzrosłoby gwałtownie nawet bardziej, niż się spodziewałem.

Jeśli mam rację, drugi dysk parzystości praktycznie obniżyłby ryzyko do ekstremalnie niskich wartości.

Poza tym ważne jest, aby pamiętać, że producenci zwiększają prawdopodobieństwo URE dla dysków klasy konsumenckiej ze względów marketingowych (sprzedają więcej dysków klasy korporacyjnej), dlatego oczekuje się, że nawet dyski twarde klasy konsumenckiej osiągną odczyt 1E-15 URE / bit .

Niektóre dane: http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

Wartości, które podałem w nawiasach (dyski dla przedsiębiorstw), realistycznie dotyczą zatem także dysków konsumenckich. A prawdziwe dyski dla przedsiębiorstw mają jeszcze wyższą niezawodność (URE / bit = 1e-16).

Jeśli chodzi o prawdopodobieństwo awarii mechanicznych, są one proporcjonalne do liczby dysków i proporcjonalne do czasu potrzebnego na odbudowę.

Faraon
źródło
1
Cześć Olaf! Jeśli o mnie chodzi, to pytanie wydaje się zbyt specyficzne dla sprzętu komputerowego, aby dobrze pasowało do matematyki , ale możesz zapytać na ich stronie meta, czy chcieliby otrzymać twoje pytanie. W takim przypadku zgłoś flagę ponownie, a my z przyjemnością przeprowadzimy dla Ciebie migrację!
slhck 13.12.12
2
Jak dokładnie oceniasz prawdopodobieństwo 38% URE dla RAID5 z 3 dyskami? Używając URE = 10 ^ 14, HDD = 3,5 * 1024 ^ 4 bajtów, otrzymuję 3,8% URE na dysk i 11,1% dla URE podczas przebudowy. To znaczy: 100 * (1- (1- (hdd / ure)) ^ 3). Myślę, że twoje liczby są nieco niższe (chociaż praktyczny wskaźnik awaryjności jest wyższy niż podany przez producentów). Ponieważ współczynniki błędów są podane na liczbę odczytanych bitów na dysk, a nie na liczbę odczytanych bitów, myślę, że część, w której używasz ^ bit_read, jest niepoprawna. Być może podaj więcej szczegółów na temat tego, jak obliczyłeś te szanse? +1 za interesujące pytanie. cs.cmu.edu/~bianca/fast07.pdf
Ярослав Рахматуллин
Dodano informacje i sprawdzono obliczenia.
FarO,

Odpowiedzi:

2

Istnieje wiele witryn i artykułów, które próbują odpowiedzieć na to pytanie.

Ta strona ma kalkulatory dla poziomów RAID 0, 5, 10/50/60.

Artykuł w Wikipedii na temat poziomów RAID zawiera sekcje dotyczące wskaźników awaryjności RAID 0 i RAID 1.

RAID 0 :

Niezawodność danego zestawu RAID 0 jest równa średniej niezawodności każdego dysku podzielonej przez liczbę dysków w zestawie:

Oznacza to, że niezawodność (mierzona średnim czasem do awarii (MTTF) lub średnim czasem między awariami (MTBF)) jest z grubsza odwrotnie proporcjonalna do liczby elementów - tak więc zestaw dwóch dysków jest mniej więcej w połowie tak niezawodny jak pojedynczy dysk. Gdyby istniało prawdopodobieństwo 5%, że dysk ulegnie awarii w ciągu trzech lat, w macierzy dwóch dysków, prawdopodobieństwo to wzrosłoby do {P} (co najmniej jedna awaria) = 1 - {P} (żadna awaria) = 1 - (1 - 0,05) ^ 2 = 0,0975 = 9,75%.

RAID 1 :

Jako uproszczony przykład rozważmy macierz RAID 1 z dwoma identycznymi modelami napędu dyskowego, każdy z 5% prawdopodobieństwem uszkodzenia dysku w ciągu trzech lat. Pod warunkiem, że awarie są statystycznie niezależne, prawdopodobieństwo awarii obu dysków w trzyletnim okresie życia wynosi 0,25%. Zatem prawdopodobieństwo utraty wszystkich danych wynosi 0,25% w okresie trzech lat, jeśli nic nie zostanie zrobione macierzy.



Znalazłem również kilka artykułów na blogu na ten temat, w tym ten, który przypomina nam, że niezależne dyski w systemie (I w RAID) mogą wcale nie być tak niezależne:

Naiwną teorią jest to, że jeśli dysk twardy 1 ma prawdopodobieństwo awarii 1/1000, podobnie jak dysk 2, wówczas prawdopodobieństwo awarii obu wynosi 1/1 000 000. Zakłada się, że awarie są statystycznie niezależne, ale nie są. Nie można po prostu pomnożyć takich prawdopodobieństw, chyba że niepowodzenia są nieskorelowane. Błędne założenie niezależności jest częstym błędem przy stosowaniu prawdopodobieństwa, być może najczęstszym błędem.

Joel Spolsky skomentował ten problem w najnowszym podcastu StackOverflow. Kiedy firma buduje macierz RAID, może złapać cztery lub pięć dysków, które zeszły z linii montażowej. Jeśli jeden z tych dysków ma niewielką wadę, która powoduje awarię po powiedzmy 10 000 godzin użytkowania, prawdopodobnie wszystkie one działają. To nie jest tylko teoretyczna możliwość. Firmy zaobserwowały awarie partii dysków w tym samym czasie.

Brad Patton
źródło