Ostatnio przyglądałem się RAID5 Vs RAID6 i wciąż widzę, że RAID5 nie jest już wystarczająco bezpieczny z powodu oceny URE i rosnącego rozmiaru dysków. Zasadniczo większość treści, które znalazłem, mówi, że w RAID5, w przypadku awarii dysku, jeśli reszta macierzy ma pojemność 12 TB, masz prawie 100% szansy na spełnienie URE i utratę danych.
Liczba 12 TB wynika z faktu, że dyski są oceniane na 10 ^ 14 bitów odczytanych, aby osiągnąć jeden URE.
Cóż, czegoś tu nie dostaję. Odczyt jest wykonywany przez głowę przechodzącą do sektora, co może spowodować, że odczyt nie powiedzie się, albo umiera głowa, albo sektor umiera. może być również tak, że odczyt nie działa z innego powodu (nie wiem, jak wibracja spowodowała, że głowa podskakuje ...). więc pozwól mi zająć się wszystkimi 3 sytuacjami:
- czytanie nie działa: nie jest to niemożliwe, prawda? można spróbować ponownie.
- głowa umiera: to z pewnością byłoby niemożliwe do odzyskania, ale oznacza to również, że pełny talerz (lub przynajmniej bok) byłby nieczytelny, byłby bardziej niepokojący, nie?
- sektor umiera: jak również całkowicie nie do odzyskania, ale tutaj nie rozumiem, dlaczego dysk 4 TB ma URE na 10 ^ 14, a 8 TB na URE, co oznacza 10 ^ 14, co oznaczałoby sektory na 8 TB (najprawdopodobniej nowsza technologia) jest w połowie tak niezawodna jak te w 4 TB, co nie ma sensu.
Jak widać, z 3 punktów awarii, które zidentyfikowałem, żaden nie ma sensu. Więc czym dokładnie jest URE, mam na myśli konkretnie?
Czy jest ktoś, kto może mi to wytłumaczyć?
Edytuj 1
Po pierwszej fali odpowiedzi wydaje się, że przyczyną jest awaria sektora. Dobrą rzeczą jest to, że oprogramowanie układowe, kontroler RAID i system plików OS + mają procedurę wczesnego wykrywania i ponownego przydzielania sektorów.
Cóż, teraz wiem, co to jest URE (nazwa jest dość oczywista :)).
Nadal jestem zaskoczony podstawowymi przyczynami, a przede wszystkim stabilną oceną, jaką dają.
Niektórzy przypisywali wadliwy sektor źródłom zewnętrznym (falom kosmicznym), jestem zatem zaskoczony, że wskaźnik URE jest następnie oparty na liczbie odczytów, a nie na wieku, fale kosmiczne powinny rzeczywiście wpływać bardziej na starszy dysk po prostu dlatego, że został odsłonięty Co więcej, myślę, że to bardziej fantazja, choć mogę się mylić.
Teraz pojawia się inny powód związany ze zużyciem dysku, a niektórzy zwrócili uwagę, że wyższe gęstości dają słabsze domeny magnetyczne, co całkowicie ma sens i postąpiłbym zgodnie z wyjaśnieniem. Ale, jak to dobrze wyjaśniono , nowsze dyski o różnych rozmiarach uzyskuje się głównie przez umieszczenie mniej więcej tej samej płyty (a następnie takiej samej gęstości) w obudowie dysku twardego. Sektory są takie same i wszystkie powinny mieć tę samą niezawodność, więc większe dyski powinny mieć wyższą ocenę niż mniejsze dyski, sektory są odczytywane mniej, to nie jest tak, dlaczego? To by tłumaczyło, dlaczego nowsze dyski z nowszą technologią nie mają lepszej oceny niż stare, po prostu dlatego, że lepszy zysk technologiczny jest kompensowany przez stratę spowodowaną większą gęstością.
Odpowiedzi:
URE to nieodwracalny błąd odczytu. Stało się coś, co spowodowało błąd odczytu sektora, którego nie można naprawić. Elektronika napędu jest wyrafinowana, przekażą dane tylko wtedy, gdy będą w stanie poprawnie odczytać je z dysku. Elektronika napędu wielokrotnie spróbuje odczytać uszkodzony sektor, zanim zadeklaruje, że jest uszkodzony.
Co powoduje błąd odczytu - nie jestem tutaj ekspertem (następuje machanie ramieniem), ale starzenie się napędu może powodować, że tolerancje produkcyjne stają się istotne. Domeny magnetyczne mogą ulec osłabieniu. Promienie kosmiczne mogą powodować uszkodzenia itp. Zasadniczo jest to przypadkowa awaria.
Jak to wpływa na RAID 5?
RAID 5 polega na poziomie bloku przedstawia malowanie z rozproszonym parzystości. Bloki parzystości są obliczane przez XOR razem bitów z bloków danych. Funkcja XOR w zasadzie mówi, że jeśli wszystkie bity są takie same, wynikiem jest 0, w przeciwnym razie jest to 1. Przy obliczaniu parzystości bierzesz pierwsze 2 bity i XOR je następnie XOR wynik z następnym bitem i tak dalej np.
Charakter funkcji XOR jest taki, że jeśli jakikolwiek dysk umrze i zostanie wymieniony, dane, które powinny się na nim znajdować, można odtworzyć z pozostałych dysków.
Jak widać, uszkodzone dane można odtworzyć poprzez XORing pozostałych danych i parzystości.
Jak wpływa na to URE?
URE ma znaczenie tylko podczas odbudowy RAID 5.
Po zrekonstruowaniu macierzy RAID 5 należy wykonać wiele odczytów. Każdy blok danych musi zostać odczytany w celu odtworzenia danych na nowym dysku. Jeśli wystąpi URE, nie można odzyskać danych dla odpowiedniego bloku, więc dane są niespójne. W przypadku wystarczająco dużych dysków w wystarczająco dużym R5 liczba odczytanych bitów w celu odtworzenia zastąpionego dysku przekracza wartość URE na przykład 1 bit w odczycie 10 ^ 14.
źródło
Dyski twarde nie przechowują danych, o które prosisz. Ze względu na coraz mniejsze rozmiary domen magnetycznych oraz fakt, że dyski twarde przechowują dane w sposób analogowy, a nie binarny (oprogramowanie układowe dysku twardego otrzymuje sygnał analogowy z talerza, który jest tłumaczony na sygnał binarny, a tłumaczenie to część tajnego sosu producenta), praktycznie zawsze występuje pewien błąd w odczycie, który należy zrekompensować.
Aby zapewnić możliwość odczytu danych, dysk twardy przechowuje również dane korekcji błędów przesyłania dalej wraz z danymi, które poprosiłeś o ich zapisanie.
W normalnych operacjach dane FEC są wystarczające do skorygowania błędów w sygnale, który jest odczytywany z talerza. Oprogramowanie wewnętrzne może następnie odtworzyć oryginalne dane i wszystko jest w porządku. Jest to możliwy do odzyskania błąd odczytu, który jest ujawniany w SMART jako atrybut wskaźnika błędu odczytu (atrybut SMART 0x01) i / lub Odzyskany sprzęt ECC (atrybut SMART 0xc3).
Jeśli z jakiegoś powodu sygnał obniża się poniżej pewnego punktu, dane FEC nie są już wystarczające do odtworzenia pierwotnych danych. W tym momencie, zgodnie z teorią, oprogramowanie wewnętrzne nadal będzie w stanie wykryć, że danych nie można odczytać niezawodnie, ale nic na to nie poradzi. Jeśli wiele takich odczytów się nie powiedzie, dysk musi w jakiś sposób poinformować resztę komputera, że odczyt nie może zostać pomyślnie wykonany. Czyni to, sygnalizując nieodwracalny błąd odczytu . Zwiększa to również licznik Zgłoszone Błędy Niekorygowalne (atrybut SMART 0xbb).
Nieodwracalny błąd odczytu (URE) to po prostu raport, że z jakiegokolwiek powodu dane ładunku plus dane FEC były niewystarczające do odtworzenia pierwotnie zapisanych danych.
Należy pamiętać, że stawki URE są statystykami . Nie napotkasz żadnego dysku twardego, na którym można odczytać dokładnie 10 ^ 14 (lub 10 ^ 15) - 1 bit z powodzeniem, a następnie następny bit zawiedzie. Jest to raczej oświadczenie producenta, że średnio , jeśli przeczytasz (powiedzmy) 10 ^ 14 bitów, to w pewnym momencie tego procesu napotkasz jeden nieczytelny sektor.
Ponadto, kierując się kilkoma ostatnimi słowami powyżej, należy pamiętać, że stawki URE są podawane w kategoriach sektorów na odczytany bit . Z powodu tego, jak dane są przechowywane na talerzach, dysk nie może stwierdzić, która część sektora jest zła, więc jeśli sektor nie przejdzie kontroli FEC, cały sektor zostanie uznany za zły.
źródło
Specyfikacja jest zwykle „ wykrywany jest średnio 1 błąd podczas odczytu n bitów”, więc rozmiar napędu nie ma znaczenia. Ma to znaczenie, jeśli obliczysz ryzyko, że wystąpi błąd na dysku i obciążeniu, ale producent stwierdza tylko, że znalezienie n bitu zajmuje n bitów (średnio nie jest to gwarantowane).
Przykład: Jeśli kupisz dysk o pojemności 1 TB, musisz znaleźć go około 12 razy, aby znaleźć błąd, podczas gdy dysk o pojemności 8 TB może wystąpić przy drugim czytaniu - ale liczba odczytanych bitów jest taka sama za każdym razem, więc jakość wrzecion magnetycznych jest mniej więcej taki sam.
W podwyższonej cenie płacisz za inne czynniki, zdolność wbijania 8 TB do fizycznej przestrzeni 1 TB, znacznie mniejsze zużycie energii, mniej szarpnięć głowy podczas przenoszenia napędu itp.
źródło
Myślę, że @Michael Kjörling odpowiedział wyraźnie.
Po odczytaniu dysku głowica wykrywa kierunek domeny magnetycznej, a następnie wysyła sygnał elektroniczny, który jest analogowy. Zakładamy, że oprogramowanie układowe powinno dawać 1, gdy otrzymuje napięcie wyższe niż 0,5 V, ale pole magnetyczne jest zbyt słabe, więc głowa wysyła sygnał tylko z 0,499 V, napotkany błąd. Potrzebujemy FEC, aby naprawić ten błąd.
Oto przykład: dane sektora powinny mieć wartość 0x0F23, kodujemy je za pomocą 0 * 1 + F * 2 + 2 * 3 + 3 * 4 = 0x30. teraz otrzymujemy FEC i piszemy po sektorze. Kiedy czytamy, czytamy 0x0E23 i FEC 0x30, to nie pasuje. Po niektórych obliczeniach stwierdziliśmy, że powinna ona wynosić 0x0F23. Ale jeśli mamy 0x0E13 i 0x30, LUB mamy 0x0E23 i 0x32, nie możemy obliczyć poprawnego.
Ta ocena jest tak niska, być może, chyba że manufaktura dysków twardych odczyta PB, dane EBs mogą uzyskać stabilną wartość. Podają więc wartość prawdopodobieństwa: kiedy czytasz 10 ^ 14-bitowe dane, możesz spotkać się raz. Ponieważ jest to wartość prawdopodobieństwa, być może natknąłeś się po przeczytaniu tylko 1 danych sektorowych, być może napotkałeś aż do odczytania danych 50 TB. A ta wartość nie miała nic wspólnego z pojemnością dysku, to tylko przypadkowa obawa o odczytany rozmiar danych. Jeśli odczytasz dysk 4 TB pełen danych 6 razy, ta szansa będzie równa odczytaniu dysku 4 TB 6 razy lub 3 razy odczyt dysku 8 TB.
źródło