Czy bit rot na dyskach twardych to prawdziwy problem? Co można z tym zrobić?

32

Znajomy rozmawia ze mną o problemie zgnilizny bitów na dyskach losowo przerzucających, niszczących dane. Niesamowicie rzadkie, ale z wystarczającą ilością czasu może to stanowić problem i nie można go wykryć.

Dysk nie uznałby go za zły sektor, a kopie zapasowe po prostu pomyślałyby, że plik się zmienił. Nie jest wymagana suma kontrolna do sprawdzenia integralności. Nawet w konfiguracji RAID wykryto by różnicę, ale nie byłoby sposobu, aby dowiedzieć się, która kopia lustrzana jest poprawna.

Czy to prawdziwy problem? A jeśli tak, co można z tym zrobić? Mój przyjaciel poleca ZFS jako rozwiązanie, ale nie wyobrażam sobie spłaszczania naszych serwerów plików w pracy, instalowania systemów Solaris i ZFS.

scobi
źródło
Właśnie dostałem ładny błąd SMART na starym dysku Seagate o pojemności 200 GB. Bity, przegniły za dużo :-( Jest sześć miesięcy do 5-letniej gwarancji, więc prawdopodobnie dostanę zamiennik bez większego zamieszania.
ThatGraemeGuy

Odpowiedzi:

24

Po pierwsze: Twój system plików może nie mieć sum kontrolnych, ale sam dysk twardy je ma. Na przykład SMART. Oczywiście, kiedy odrobinę za dużo zostało odrzuconych, błędu nie da się naprawić. A jeśli naprawdę masz pecha, bity mogą się zmieniać w taki sposób, że suma kontrolna nie stanie się nieważna; wtedy błąd nawet nie zostanie wykryty. Mogą się zdarzyć nieprzyjemne rzeczy ; ale twierdzenie, że losowe przewracanie bitów natychmiast uszkodzi dane, jest fałszywe.

Jednak tak, gdy umieścisz biliony bitów na dysku twardym, nie pozostaną one na zawsze; to prawdziwy problem! ZFS może sprawdzać integralność za każdym razem, gdy dane są odczytywane; jest to podobne do tego, co robi sam dysk twardy, ale jest to kolejne zabezpieczenie, dla którego poświęcasz trochę miejsca, dzięki czemu zwiększasz odporność na uszkodzenie danych.

Gdy twój system plików jest wystarczająco dobry, prawdopodobieństwo wystąpienia błędu bez wykrycia staje się tak niskie, że nie musisz się tym dłużej przejmować i możesz zdecydować, że sumy kontrolne wbudowane w używany format przechowywania danych to niepotrzebny.

Tak czy inaczej: nie, nie jest niemożliwe do wykrycia .

Ale system plików sam w sobie nigdy nie może być gwarancją, że każdą awarię można naprawić; to nie jest srebrna kula. Nadal musisz mieć kopie zapasowe i plan / algorytm, co zrobić, gdy wykryty zostanie błąd.

nex
źródło
Ok, zgodnie z wikipedia ( en.wikipedia.org/wiki/Error_detection_and_correction ) nowoczesne dyski twarde używają CRC do wykrywania błędów i próbują odzyskać za pomocą odzyskiwania po awarii w stylu płyty kompaktowej. To mi wystarczy.
scobi
1
Ale jeśli CRC jest przechowywany w tej samej lokalizacji (sektorze) co dane, nie pomoże to we wszystkich przypadkach błędów. Np. Jeśli wystąpi błąd pozycjonowania głowicy, dane mogą zostać zapisane w niewłaściwym sektorze - ale przy prawidłowej sumie kontrolnej => nie można wykryć problemu. Dlatego sumy kontrolne w ZFS są przechowywane osobno od chronionych danych.
knweiss,
Czy ZFS ma taką obsługę jak Windows? To w zasadzie regularnie przepisuje dane, aby odświeżyć kodowanie magnetyczne.
TomTom,
Nowoczesne dyski twarde nie używają CRC, używają kodu Hamminga, który jest zupełnie inny. To samo używa pamięć ECC. Jednobitowe błędy odwracania można poprawić, dwubitowe błędy odwracania można wykryć, ale nie można ich poprawić, odwracanie trzech lub więcej bitów i dane są faktycznie uszkodzone. W każdym razie nie ma zastępstwa dla kopii zapasowych danych. ZFS i inne systemy plików nie zapewniają żadnej lepszej ochrony niż kod Hamminga na talerzach napędu. Jeśli dane zostaną uszkodzone, ZFS cię nie uratuje.
Jody Lee Bruchon
@JodyLeeBruchon Masz źródło kodu Hamminga używane głównie teraz? Jakie ostatnio gromadzone informacje wskazują, że producenci napędów nadal używają CRC-RS. 1 2
Ian Schoonover
16

Tak, to problem, głównie w miarę wzrostu rozmiarów napędów. Większość dysków SATA ma współczynnik URE (nieusuwalny błąd odczytu) wynoszący 10 ^ 14. Lub na każde 12 TB danych odczytanych statystycznie producent dysku twierdzi, że dysk zwróci błąd odczytu (zwykle można je sprawdzić w specyfikacjach napędu). Napęd będzie nadal działał dobrze dla wszystkich innych części napędu. Dysk Enterprise FC i SCSI ma zwykle współczynnik URE 10 ^ 15 (120 TB) wraz z niewielką liczbą dysków SATA, co pomaga go zmniejszyć.

Nigdy nie widziałem, aby dyski przestały się obracać w tym samym czasie, ale miałem problem z woluminem raid5 (5 lat temu z dyskami PATA konsumenckimi 5400 RPM). Dysk ulega awarii, jest oznaczony jako martwy i następuje przywrócenie dysku zapasowego. Problem polega na tym, że podczas przebudowy drugi dysk nie może odczytać tego małego bloku danych. W zależności od tego, kto przeprowadzi nalot, cały tom może być martwy lub tylko ten mały blok może być martwy. Zakładając, że tylko jeden blok jest martwy, jeśli spróbujesz go odczytać, pojawi się błąd, ale jeśli do niego napiszesz, napęd ponownie mapuje go w inne miejsce.

Istnieje wiele metod ochrony przed: raid6 (lub równoważny), który chroni przed awarią podwójnego dysku jest najlepszy, dodatkowe to system plików obsługujący URE, taki jak ZFS, wykorzystujący mniejsze grupy rajdowe, więc statystycznie masz mniejsze szanse na trafienie na dysk URE limity (dublowanie dużych dysków lub mniejsze dyski RAID5), czyszczenie dysku i SMART również pomaga, ale nie jest samo w sobie ochroną, ale jest stosowane jako dodatek do jednej z powyższych metod.

Zarządzam prawie 3000 wrzecionami w tablicach, a tablice stale szorują dyski w poszukiwaniu ukrytych URE. I otrzymuję ich dość stały strumień (za każdym razem, gdy go znajdzie, naprawia go przed awarią napędu i ostrzega mnie), gdybym używał raid5 zamiast raid6, a jeden z napędów był całkowicie martwy ... mieć kłopoty, jeśli trafią w określone miejsca.


źródło
2
W jakich jednostkach mówisz? „10 ^ 14” nie jest „stawką”.
Jay Sullivan,
2
Jednostką byłoby np. „10 ^ 14 bitów odczytanych na błąd”, co odpowiada 12 TB odczytu na błąd.
Jo Liss,
2
I oczywiście, pamiętając, że poziom błędu jest zwykle podawany w kategoriach błędów całego sektora na odczytany bit. Kiedy więc producent podaje współczynniki URE na poziomie 10 ^ -14, to tak naprawdę oznaczają, że prawdopodobieństwo trafienia dowolnego odczytu sektorowego w URE wynosi 10 ^ -14, a jeśli tak, to cały sektor powraca jako nieczytelny. To i fakt, że to statystyki; w prawdziwym świecie URE są zazwyczaj dostarczane partiami.
CVn
9

Dyski twarde zasadniczo nie kodują bitów danych jako pojedynczych domen magnetycznych - producenci dysków twardych zawsze byli świadomi, że domeny magnetyczne mogą się odwracać i wbudować wykrywanie błędów i korekcję dysków.

Jeśli nieco się przewróci, dysk zawiera wystarczającą ilość nadmiarowych danych, które może i zostanie poprawiony przy następnym czytaniu tego sektora. Możesz to zobaczyć, jeśli sprawdzisz statystyki SMART na dysku jako „Naprawialny poziom błędu”.

W zależności od szczegółów dysku powinien on być w stanie odzyskać nawet więcej niż jeden odwrócony bit w sektorze. Będzie limit liczby przerzucanych bitów, które można dyskretnie skorygować, i prawdopodobnie inny limit liczby przerzucanych bitów, które mogą zostać wykryte jako błąd (nawet jeśli nie ma już wystarczającej ilości wiarygodnych danych, aby to naprawić)

Wszystko to składa się na fakt, że dyski twarde mogą automatycznie korygować większość pojawiających się błędów i niezawodnie wykrywają większość pozostałych. Musiałbyś mieć dużą liczbę błędów bitowych w jednym sektorze, które wszystkie miały miejsce przed ponownym odczytaniem tego sektora, a błędy musiałyby być takie, aby kody wykrywania błędów wewnętrznych ponownie widziały je jako prawidłowe dane, zanim kiedykolwiek miałby cichą porażkę. Nie jest to niemożliwe i jestem pewien, że firmy prowadzące bardzo duże centra danych widzą, że tak się dzieje (a raczej tak się dzieje i nie widzą, że tak się dzieje), ale z pewnością nie jest to tak duży problem, jak mogłoby się wydawać.

Ian Clelland
źródło
2
Właściwie regularnie mam błędy zgnilizny bitów (w częściach nie czytam dużo), z których system cicho odzyskuje (niepoprawnie). Gdyby przynajmniej powiadomił mnie o zgniliznie bitów, mógłbym ponownie odczytać dane, aby je odzyskać, zanim staną się niemożliwe do odzyskania; a jeśli nie można go odzyskać, byłbym w stanie porównać go z innym dyskiem twardym.
Alex
Alex, sprawdź swoje dane HDD SMART i systemową pamięć RAM, aby sprawdzić, czy nie występuje inny problem powodujący uszkodzenie. Bit zgnilizna / losowe uszkodzenie jest niezwykle rzadkie, więc może być coś innego z twoim komputerem.
Brian D.,
@BrianD. Jednym z problemów było to, że trzymałem dyski twarde w ich (izolowanym) opakowaniu; powodowało to, że dyski twarde nagrzewały się do 60 ° C podczas pracy przez wiele dni. Czy to brzmi jak uzasadniony powód, dla którego mogło dojść do zgnilizny bitów?
Alex
To zdecydowanie nie jest zalecane, ponieważ większość dysków twardych ma małe otwory wentylacyjne, które nie powinny być zakryte, aby działały poprawnie. Niezależnie od tego, czy Twój problem dotyczył gnicia bitów, czy czegoś innego, uruchomiłbym pełną diagnostykę na komputerze, aby sprawdzić, czy wszystko działa poprawnie.
Brian D.
4

Współczesne dyski twarde (od 199x) mają nie tylko sumy kontrolne, ale także ECC, które mogą wykryć i skorygować dość „losowy” zgniliznę bitów. Zobacz: http://en.wikipedia.org/wiki/SMART .

Z drugiej strony niektóre błędy w oprogramowaniu sprzętowym i sterownikach urządzeń mogą również uszkodzić dane w rzadkich przypadkach (w przeciwnym razie wychwytuje błędy), co byłoby trudne do wykrycia, jeśli nie masz sum kontrolnych wyższego poziomu. Wczesne sterowniki urządzeń dla SATA i NIC miały uszkodzone dane zarówno w systemie Linux, jak i Solaris.

Sumy kontrolne ZFS mają głównie na celu usunięcie błędów w oprogramowaniu niższego poziomu. Nowsze systemy pamięci / baz danych, takie jak Hypertable, mają również sumy kontrolne dla każdej aktualizacji, aby uchronić się przed błędami w systemach plików :)

obecalp
źródło
3

Teoretycznie jest to powód do niepokoju. Praktycznie rzecz biorąc, jest to jeden z powodów, dla których przechowujemy kopie zapasowe dzieci / rodziców / dziadków. Roczne kopie zapasowe muszą być przechowywane przez co najmniej 5 lat, IMO, a jeśli masz problem z cofaniem się dalej, plik nie jest oczywiście tak ważny.

O ile nie masz do czynienia z bitami, które potencjalnie mogłyby czynić czyjś mózg , nie jestem pewien, czy ryzyko w porównaniu z nagrodą jest aż do zmiany systemów plików.

Kara Marfia
źródło
1
Nie widzę, jak pomagają kopie zapasowe dzieci / rodziców / dziadków. Nie ma sposobu, aby wiedzieć z tym systemem, czy bit jest odwrócony, ponieważ użytkownik zamierzał go zmienić lub czy dysk zrobił to sam. Nie bez sumy kontrolnej.
scobi
Posiadanie wielu kopii zapasowych nie pomoże, jeśli nie wiesz, że dane w nich są dobre. Możesz ręcznie sumować swoje pliki, ale ZFS robi to znacznie bardziej automatycznie i ułatwia zarządzanie systemem plików.
Amok
1
Kopie zapasowe, które cofają się o więcej niż tydzień / miesiąc, zwiększają szansę na uzyskanie dobrej kopii pliku. Prawdopodobnie mógłbym to wyjaśnić.
Kara Marfia
1
Problem polega na tym: skąd wiesz, że masz złą kopię? A skąd wiesz, która kopia zapasowa jest dobra? W sposób zautomatyzowany.
scobi
Widziałem może jeden plik na kilka lat popsuty, który może być wynikiem zgnilizny, ale mogę cierpieć na zespół małych ryb. Rozumiem, że kopie zapasowe są bezużyteczne i usunę je, jeśli będzie to obraźliwe. Niezależnie od tego czas dobrze spędził na czytaniu innych odpowiedzi. ;)
Kara Marfia
2

Tak, to jest problem.

Jest to jeden z powodów, dla których RAID6 jest teraz w modzie (wraz ze wzrostem rozmiarów HD wydłuża czas na odbudowę macierzy). Posiadanie dwóch bloków parzystości pozwala na dodatkową kopię zapasową.

Systemy RAID wykonują teraz również czyszczenie RAID, które okresowo odczytuje bloki dysku, sprawdza parytety i zastępuje je, jeśli stwierdzi, że blok jest zły.

Matt Rogish
źródło
Uważaj, integralność danych nie jest cechą wszystkich systemów RAID.
duffbeer703
1
W przypadku dysków terabajtowych jest tak wiele bitów dzielących los, a fizyczny obszar pamięci jest tak mały, że ten problem staje się ważniejszy. Jednocześnie prawdopodobieństwo awarii wzrasta tak bardzo w przypadku dysków terabajtowych, że RAID6 nie wystarczy, chyba że włożysz do puli wiele dysków, powiedzmy 8 lub więcej. Przy mniejszej liczbie dysków lepiej jest użyć paska zwierciadeł zwanego RAID 10. Zarówno RAID 6 (raidz2), jak i RAID 10 (zpool tworzą mypool mirror c0t1d0 c0t2d0 mirror c0t3d0 c0t4d0) są możliwe na ZFS.
Michael Dillon
RAID nie może stwierdzić, które dane są dobre, a które nie, więc nie może naprawić błędów, może je po prostu wykryć.
Amok
Amuck: Nie jako część „standardu RAID” jako takiego, ale robią to zaawansowane systemy RAID (oprogramowanie układowe itp.)
Matt Rogish,
@ Michael Dillion - niezawodność RAID6 nie wzrasta wraz ze wzrostem liczby dysków. Dla wszystkich danych są tylko oryginalne dane + 2 parzystość. Zwiększenie liczby dysków jest gorsze ze względu na niezawodność, ponieważ zwiększa możliwą liczbę awarii dysków bez zwiększania nadmiarowości jakichkolwiek danych. Jedynym powodem do zwiększenia liczby dysków jest zwiększenie dostępnego miejsca na dysku.
Brian D.
1

Jeśli chodzi o oświadczenie OP dotyczące RAID, nie rozumiem, jakie dane są dobre, a jakie złe.

Kontrolery RAID używają co najmniej (nieparzystych / parzystych) bitów parzystości na każdym pasku danych. To jest na wszystko; paski danych na dysku i paski danych parzystości (kopii zapasowej).

Oznacza to, że dla każdego typu macierzy RAID, w których zastosowano striping w celu nadmiarowości (RAID 5/6), kontroler może dokładnie stwierdzić, czy oryginalny pasek danych zmienił się, a także, czy pasek danych nadmiarowości zmienił się.

Jeśli wprowadzisz drugi nadmiarowy pasek, taki jak RAID6, musisz mieć 3 paski danych, na trzech różnych dyskach zostaną uszkodzone, a wszystkie odpowiadają tym samym faktycznym danym pliku. Pamiętaj, że większość systemów RAID używa stosunkowo małych pasków danych (128 kb lub mniej), więc szanse na „zgniliznę bitów” w linii do tego samego 128 kb, tego samego pliku, są praktycznie niemożliwe.

Brian D.
źródło
0

Tak, to prawdziwy problem na świecie, ale pytanie brzmi, czy powinieneś się tym martwić, czy nie.

Jeśli masz tylko dysk twardy pełen zdjęć, może nie być wart wysiłku. Jest pełen ważnych danych naukowych, może to być inna historia, masz pomysł.

Marc Stürmer
źródło