co to jest dokładnie URE?


14

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ą.


„URE i stracić dane” afaik (i mogę się mylić), URE oznacza tylko, że niektóre dane zostały utracone, a nie wszystkie - i możesz spróbować odbudować ponownie po uderzeniu w URE. To powiedziawszy, raid 10 lub zfs jest trochę tam, gdzie jest obecnie.
Sirex,

1
sektory [na nowszych dyskach] są w połowie tak niezawodne jak [na starych], co nie ma sensu ” Nie jestem pewien, czy się zgadzam. Ponieważ strefy magnetyczne stają się coraz mniejsze (co implikuje większa gęstość danych w pakiecie tego samego rozmiaru), bardzo rozsądne jest, aby stały się one bardziej podatne na przypadkowe usunięcie (lokalne emisje promieniowania gamma, zjawisko promieniowania kosmicznego itp.). Ta rosnąca podatność na nowoczesne dyski powoduje, że nikt z nas nie wdrożyłby dysków bez RAID we wszystkim, co ma znaczenie, i jeden z powodów, dla których większość z nas zrezygnowała z RAID-5.
MadHatter


Prawdziwy problem polega na tym, że zbyt wiele macierzy RAID zamienia pojedynczy URE w błąd całej tablicy. Pojedynczy URE powinien spowodować utratę pojedynczego bloku RAID. Niech system plików zorientuje się, czy ten blok był w użyciu, możliwe, że to naprawdę nie ma znaczenia.
MSalters

1
@Memes nie, liczby się anulują. Dwa razy więcej sektorów to także dwa razy więcej szans na awarię, więc ten sam poziom błędu odczytu równa się tej samej niezawodności w przeliczeniu na bajt. Właśnie dlatego jest używany w pierwszej kolejności.
hobbs

Odpowiedzi:


13

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.

1010   data      or    1010 data
1100   data            1100 data
0110   parity          0011 data
                       0101 parity

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.

1010  data       or    1010 data
      damaged               damaged
0101  parity           0011 data
                       0101 parity

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.


2
Pojedynczy dysk 8 TB jest ponad 6 * 10 ^ 13 bitów dalej, więc tylko trzy z tych płyt w RAID-5, A URE prawdopodobna podczas zrekonstruować. Och, i +1 ode mnie.
MadHatter

3
Twierdzenie (zapisane w pytaniu oraz w niektórych odpowiedziach i komentarzach, a także w innych pytaniach, a właściwie w całym Internecie), że po przeczytaniu 12 TB błąd odczytu jest prawie pewien, że jest fałszywy. Nie wierzysz w to? Nie rób Znać to. Czytając 12 (lub więcej) TB z dowolnego dysku i zauważając, że nie wystąpił błąd. Zrób to i powstrzymaj ten mit. Dziękuję Ci.
David Balažic

1
@IanKemp Nie, to nie jest. Próbowałem tego. Oczywiście, że nie. (także lepsza ocena po prostu trochę przesuwa mit, bez prawdziwej zmiany)
David Balažic

1
@ DavidBalažic Najwyraźniej twoja próbka jednego unieważnia całość teorii prawdopodobieństwa! Sugeruję przesłanie referatu do Komitetu Nobla.
Ian Kemp

1
@IanKemp Jeśli ktoś twierdzi, że wszystkie liczby są podzielne przez 7, i znajduję JEDEN, który nie jest, to tak, pojedyncze znalezisko może unieważnić całą teorię. BTW, wciąż ani jedna osoba nie potwierdziła mitu w praktyce (eksperymentalnie), prawda? Dlaczego mieliby to robić, skoro wiara to coś więcej niż wiedza ...
David Balažic

9

Więc czym dokładnie jest URE, mam na myśli konkretnie?

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.


OK, więc wydaje się wskazywać na awarię sektora. Całkowicie rozumiem statystyki, bez obaw. Widzę tu również, że niezawodność sektora maleje wraz ze wzrostem gęstości, ale nadal nie ma to sensu. Nowsze dyski mają zwykle taką samą gęstość talerza, bez względu na rozmiar fizyczny, 4 TB będzie miało po prostu mniej talerzy niż 6 TB. Zasadniczo sektory są takie same, więc dlaczego 8 TB nie jest w stanie osiągnąć statystycznie wyższej wartości, istnieje dwa razy więcej sektorów, więc każdy jest czytany o połowę mniej (statystycznie). powinni wtedy mniej zawieść, nie?
Memy

3

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.

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.


0

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.