Wikipedia twierdzi, że „RAID 2 jest jedynym standardowym poziomem RAID, innym niż niektóre implementacje RAID 6, które mogą automatycznie odzyskiwać dokładne dane z jednobitowego uszkodzenia danych”.
Czy ktoś wie, czy implementacja RAID 6 mdadm w systemie Linux jest jedną z takich implementacji, która może automatycznie wykrywać i odzyskiwać dane po uszkodzeniu jednobitowych danych. Dotyczy to CentOS / Red Hat 6, jeśli różnią się one od innych wersji. Próbowałem szukać online, ale nie miałem szczęścia.
Przy współczynniku błędów SATA wynoszącym 1 na 1E14 bitów i dysku SATA 2 TB zawierającym 1,6E13 bitów, jest to szczególnie istotne w celu zapobiegania uszkodzeniu danych.
EDYCJA 17-cze-2015
Uważam, że to mniej niepokojące, niż początkowo sądziłem - patrz Dysk twardy / dyski SSD - wykrywanie i obsługa błędów - czy można w sposób niezawodny zapobiec cichemu uszkodzeniu danych? po więcej szczegółów
źródło
RAID5 i RAID6 mogą wykrywać i zwykle korygować uszkodzenia bitów, jeśli zweryfikujesz parzystość całego dysku. Nazywa się to „szorowaniem” lub „kontrolą parzystości” i zwykle zajmuje 24–48 godzin w większości produkowanych systemów RAID. W tym czasie wydajność może ulec znacznemu pogorszeniu. (Niektóre systemy umożliwiają operatorowi nadanie priorytetu czyszczeniu nad dostępem do odczytu / zapisu lub poniżej.) RAID6 ma większą szansę na poprawienie go, ponieważ może go poprawić, jeśli wystąpią dwa awarie dysku, podczas gdy RAID5 może obsłużyć tylko jeden dysk, a awarie dysków są bardziej prawdopodobne podczas szorowania ze względu na zwiększoną aktywność.
źródło
Dodałbym to jako komentarz, ale nie mam wystarczającej reputacji; Chciałem wyjaśnić: RAID5 może wykryć uszkodzenie bitów, ale nie wie, który dysk ma uszkodzenie bez błędu odczytu. W rezultacie peeling nie mógł tego naprawić bez błędu odczytu - najprawdopodobniej po prostu go zarejestruje i zaktualizuje bit parzystości, aby pasował. Algorytm RAID6 jest zależny od pozycji, dzięki czemu może wykryć, który dysk zawiera błąd i naprawić uszkodzenie bitu.
źródło
Wszystkie powyższe odpowiedzi są nieprawidłowe w odniesieniu do możliwości RAID 6. Algorytmy RAID 6 działają bajt po bajcie, podobnie jak RAID 5, a jeśli pojedynczy bajt na jednym dysku jest uszkodzony, nawet bez błędu wskazanego przez dysk, może być wykrytym I POPRAWIONYM. Algorytm do tego jest całkowicie wyjaśniony w
https://mirrors.edge.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf
Aby wykonać to sprawdzenie, parzyste dyski P i Q muszą zostać odczytane wraz z dyskami danych. Jeśli obliczona parzystość P 'i Q' różni się bez błędów napędu, analiza może wskazać, który z napędów jest nieprawidłowy, i poprawić dane.
Ponadto, jeśli identyfikacja dysku dotyczy dysku, który nie jest obecny (takiego jak dysk 137, jeśli jest tylko 15 dysków), więcej niż jeden dysk dostarcza uszkodzone dane W TYM BYTE, sygnalizując błąd, którego nie można naprawić. Gdy w zestawie znajduje się znacznie mniej niż 256 dysków, jest to wykrywane z dużym prawdopodobieństwem na bajt, a ponieważ w bloku jest wiele bajtów, z bardzo wysokim prawdopodobieństwem na blok. Jeśli identyfikacja dysku nie jest spójna dla wszystkich bajtów w bloku RAID, ponownie więcej niż jeden dysk dostarcza uszkodzonych danych i ogólnie można odrzucić warunek, ale dopóki wszystkie identyfikacje dysku są prawidłowe, blok niekoniecznie zostać odrzuconym.
Wykonanie tej korekcji zajmuje więcej czasu niż zwykle, ale należy ją wykonać tylko wtedy, gdy obliczenie syndromu (P i Q) pokazuje błąd.
Biorąc to wszystko pod uwagę, nie zbadałem jednak kodu mdadm, aby ustalić, czy obsługiwane jest uszkodzenie jednobajtowe. Wiem, że mdadm zgłasza błędy syndromu RAID6 podczas comiesięcznego skanowania, ale z komunikatu o błędzie nie wiadomo, czy są one poprawiane - nie zatrzymuje macierzy dysków ani nie identyfikuje żadnego konkretnego dysku w komunikacie.
źródło