Dlaczego różni producenci mają różną wartość SMART?

23

Po pierwsze, myślę, że wszyscy wiedzą, że dyski twarde zawodzą znacznie bardziej, niż producenci chcieliby przyznać . Google przeprowadziło badanie, które wykazało, że niektóre atrybuty surowych danych, że status SMART raportów dysków twardych może mieć silną korelację z przyszłym awarią dysku.

Okazuje się na przykład, że po pierwszym błędzie skanowania dyski są 39 razy bardziej podatne na awarię w ciągu 60 dni niż dyski bez takich błędów. Pierwsze błędy w realokacji, realokacji offline i liczeniu probacyjnym są również silnie skorelowane z wyższymi prawdopodobieństwami awarii. Pomimo tych silnych korelacji stwierdzamy, że modele przewidywania awarii oparte na samych parametrach SMART mogą być poważnie ograniczone pod względem dokładności prognoz, biorąc pod uwagę, że znaczna część naszych uszkodzonych napędów nie wykazała żadnych sygnałów błędów SMART.

Wydaje się, że Seagate próbuje ukryć te informacje o swoich dyskach, twierdząc, że tylko ich oprogramowanie może dokładnie określić dokładny stan dysku, a przy okazji ich oprogramowanie nie powie ci wartości surowych danych dla atrybutów SMART. Firma Western Digital nie zgłosiła takiego roszczenia do mojej wiedzy, ale wydaje się, że ich narzędzie do raportowania statusu również nie zgłasza wartości surowych danych.

Używam HDtune i smartctl z smartmontools w celu zebrania surowych danych dla każdego atrybutu. Przekonałem się, że rzeczywiście ... Porównuję jabłka do pomarańczy, jeśli chodzi o pewne atrybuty. Odkryłem na przykład, że większość dysków Seagate zgłasza, że ​​ma wiele milionów błędów odczytu, podczas gdy 99% czasu w western digital pokazuje 0 dla błędów odczytu. Odkryłem również, że Seagate zgłosi wiele milionów błędów wyszukiwania, podczas gdy Western Digital zawsze wydaje 0.

P : Jak znormalizować te dane? Czy Seagate produkuje miliony błędów, podczas gdy Western Digital nie produkuje żadnych? Artykuł Wikipedii na temat statusu SMART mówi, że producenci mają różne sposoby zgłaszania tych danych.

Oto moja hipoteza:

Myślę, że znalazłem sposób na znormalizowanie (czy to właściwy termin?) Danych.

Dyski Seagate mają dodatkowy atrybut, którego nie mają dyski Western Digital (odzyskano sprzęt ECC). Po odjęciu licznika błędów odczytu od liczby odzyskanych ECC prawdopodobnie skończysz na 0. To wydaje się być równoważne z liczbą odczytaną przez Western Digitals. Oznacza to, że Western Digital zgłasza tylko błędy odczytu, których nie może naprawić, podczas gdy Seagate zlicza wszystkie błędy odczytu i informuje, ile z nich udało się naprawić.

Miałem dysk Seagate, w którym liczba błędów odczytu była mniejsza niż liczba odzyskanych ECC i zauważyłam, że wiele moich plików ulega uszkodzeniu. W ten sposób wpadłem na moją hipotezę. Miliony błędów wyszukiwania Seagate wciąż są dla mnie tajemnicą.

Potwierdź lub popraw moją hipotezę, jeśli masz dodatkowe informacje.

Oto inteligentny status mojego zachodniego dysku cyfrowego, abyś mógł zobaczyć, o czym mówię:

james@ubuntu:~$ sudo smartctl -a /dev/sda
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD1001FALS-00E3A0
Serial Number:    WD-WCATR0258512
Firmware Version: 05.01D05
User Capacity:    1,000,204,886,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Jun 10 19:52:28 2010 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   179   175   021    Pre-fail  Always       -       4033
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       270
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       1468
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       262
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       46
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       223
194 Temperature_Celsius     0x0022   105   102   000    Old_age   Always       -       42
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

Edycja: Oto dysk Seagate, o którym mówiłem, który powoduje uszkodzenie danych. Te dane pochodzą z HDTune.

HD Tune: ST3250623A Health

ID                               Current  Worst    ThresholdData       Status   
(01) Raw Read Error Rate         45       38       6        77882492   Ok       
(03) Spin Up Time                99       98       0        0          Ok       
(04) Start/Stop Count            100      100      20       640        Ok       
(05) Reallocated Sector Count    100      100      36       0          Ok       
(07) Seek Error Rate             85       60       30       359872048  Ok       
(09) Power On Hours Count        94       94       0        6028       Ok       
(0A) Spin Retry Count            100      100      97       0          Ok       
(0C) Power Cycle Count           100      100      20       689        Ok       
(C2) Temperature                 25       55       0        25         Ok       
(C3) Hardware ECC Recovered      50       47       0        201555081  Ok       
(C5) Current Pending Sector      100      100      0        0          Ok       
(C6) Offline Uncorrectable       100      100      0        0          Ok       
(C7) Ultra DMA CRC Error Count   200      199      0        1          Ok       
(C8) Write Error Rate            100      253      0        0          Ok       
(CA) TA Counter Increased        100      253      0        0          Ok       

Power On Time         : 6028
Health Status         : Ok

Fakt, że odzyskany sprzęt ECC jest większy niż współczynnik błędu odczytu surowego, jest moim zdaniem sprzeczny z intuicją.

Oto, co uważam za „normalny” dysk Seagate, w którym Odzyskane ECC odpowiada poziomowi błędu odczytu surowego:

HD Tune: ST380011A Health

ID                               Current  Worst    ThresholdData       Status   
(01) Raw Read Error Rate         62       46       6        79986164   Ok       
(03) Spin Up Time                98       98       0        0          Ok       
(04) Start/Stop Count            100      100      20       6          Ok       
(05) Reallocated Sector Count    100      100      36       0          Ok       
(07) Seek Error Rate             83       60       30       210309663  Ok       
(09) Power On Hours Count        93       93       0        6516       Ok       
(0A) Spin Retry Count            100      100      97       0          Ok       
(0C) Power Cycle Count           99       99       20       1325       Ok       
(C2) Temperature                 25       52       0        25         Ok       
(C3) Hardware ECC Recovered      62       46       0        79986164   Ok       
(C5) Current Pending Sector      100      100      0        0          Ok       
(C6) Offline Uncorrectable       100      100      0        0          Ok       
(C7) Ultra DMA CRC Error Count   200      188      0        18         Ok       
(C8) Write Error Rate            100      253      0        0          Ok       
(CA) TA Counter Increased        100      253      0        0          Ok       

Power On Time         : 6516
Health Status         : Ok

EDYTOWAĆ:

Chcę wyjaśnić, że wiem, że Google ogólnie uważa SMART za bezużyteczny. Wiem, że każdy powinien wykonać kopię zapasową swoich danych. Zajmuję się jednak naprawą komputerów innych ludzi. Większość osób nie ma kopii zapasowych ani macierzy RAID. Rozwiązywanie problemów z dyskami twardymi nie jest opłacalne dla korporacji, więc po prostu uruchamiają je na macierzy RAID, dopóki nie umrą. Uważam, że przydatne w mojej pracy jest sprawdzenie stanu SMART dysku twardego. Zajmuje to około 30 sekund. Jeśli mam szczęście, że zły dysk pokazuje ślad awarii, takich jak błędy skanowania lub przeniesione sektory, wiem, że udało mi się go stamtąd wydostać. Jeśli nie ma takiej wskazówki, prawdopodobnie spędzę wiele godzin na rozwiązywaniu problemów związanych ze spowolnieniem i uszkodzeniem danych, aż w końcu stwierdzę, że dysk twardy jest uszkodzony.

Próbuję tylko dostroić ten proces.

James T.
źródło
Są inteligentne informacje w menu administracyjnym w (wierzę) zarządzaniu dyskami. Może mieć dodatkowe zdolności w porównaniu do smartctl, ale nie używałem go od dłuższego czasu i nie mam go przede mną.
Jarvin
@ Dan Cześć Dan, nie jestem pewien, o jakim narzędziu systemu Windows mówisz. Możesz wyjaśnić?
James T
Problem ze SMART polega na tym, że jest to trochę mylące; nie ma w tym żadnej rzeczywistej inteligencji, tylko kilka równań (prawdopodobnie nawet heurystyki). Wszystko, co może zrobić, to monitorować się i zgłaszać liczby, to wszystko. Na przykład mam napęd, który miał źle podłączony przewód zasilający, co spowodowało, że kilkakrotnie bardzo szybko się włączał i wyłączał (wydając dźwięk „kliknięcia śmierci”). Po ponownym ustawieniu złącza, więc działa teraz płynnie, ale z powodu tymczasowej (naprawialnej) awarii, która kiedyś, teraz na stałe zarejestrowała zdarzenie RRER w SMART, sprawiając wrażenie, że zawiedzie.
Synetech

Odpowiedzi:

14

Wygląda na to, że różni producenci używają wartości SMART do czasami radykalnie różnych rzeczy, jak widać tutaj :

Moje dyski twarde w ReadyNAS zgłaszają wysoki współczynnik błędów odczytu SMART Raw, wskaźnik błędu wyszukiwania i odzyskany sprzęt ECC. Co powinienem zrobić?

Seagate używa tych pól SMART do zliczania wewnętrznego, więc jest to znany problem z dyskami Seagate. Poszukaj nieprawidłowych zliczeń w innych polach, zwłaszcza w realokacji Ct sektora i liczby błędów ATA.

Więc jeśli chodzi o twoje aktualne pytanie ...

Jeśli mam szczęście, że zły dysk pokazuje ślad awarii, takich jak błędy skanowania lub przeniesione sektory, wiem, że udało mi się go stamtąd wydostać. Jeśli nie ma takiej wskazówki, prawdopodobnie spędzę wiele godzin na rozwiązywaniu problemów związanych ze spowolnieniem i uszkodzeniem danych, aż w końcu stwierdzę, że dysk twardy jest uszkodzony.

Powiedziałbym, że dobrą zasadą jest to, że można oczekiwać, że ustawienia SMART będą porównywalne tylko w obrębie tego samego producenta napędu, a może nawet tego samego modelu napędu!

Więc kiedy patrzysz na diagnozowanie tych SMART, pamiętaj o tym ... „liczba ponownych błędów odczytu jednego producenta” może oznaczać coś zupełnie innego niż wartość innego producenta. Smutne ale prawdziwe. :(

Jeff Atwood
źródło
14

Dobra, przede wszystkim nie zgadzam się z twoją przesłanką.

Google przeprowadziło badanie, które wykazało, że niektóre atrybuty surowych danych, że status SMART raportów dysków twardych może mieć silną korelację z przyszłym awarią dysku.

W rzeczywistości znaleźli coś przeciwnego:

... widzimy, że modele przewidywania awarii oparte na samych parametrach SMART mogą być poważnie ograniczone pod względem dokładności prognoz, biorąc pod uwagę, że duża część naszych uszkodzonych napędów nie wykazała żadnych sygnałów błędów SMART.

Po drugie, progi SMART nie są znormalizowane. Oprogramowanie układowe na samym napędzie będzie oznaczać atrybut jako „przed awarią”, ale surowe wartości nie mają znaczenia dla użytkownika. Na przykład Seagate mówi :

Różne atrybuty są monitorowane i mierzone w stosunku do określonych wartości progowych. Jeśli jakikolwiek atrybut przekroczy próg, ogólny test SMART Status zmieni się z Pass na Fail.

Wartości SMART, które mogą być odczytane przez oprogramowanie SMART innych firm, nie są oparte na tym, jak wartości mogą być używane na dyskach twardych Seagate. Seagate nie zapewnia wsparcia dla programów, które twierdzą, że czytają poszczególne atrybuty i progi SMART. Może być pewna historyczna poprawność na starszych dyskach, ale nowe dyski bez wątpienia będą zawierały nowsze rozwiązania, atrybuty i progi.

tl; dr Podsumowanie:

Surowe wartości SMART są prawie bez znaczenia, ponieważ różni producenci używają ich na różne sposoby i mają różne progi itp. Samo oprogramowanie układowe dysku powie ci, kiedy jest w stanie „przed awarią” ... a może nie, SMART naprawdę nie jest bardzo rzetelny.

Rób regularne kopie zapasowe!

sml
źródło
Na podstawie twoich komentarzy nie wydaje się, że przeczytałeś cały mój post. Dlatego podaję wszystkie informacje i cytaty w tle. Zacytowałeś Google, ale tylko bardzo jego część. Jeśli przeczytasz tę część tuż przed cytatem ... to znaczy, że niektóre atrybuty mają silną korelację błędów ... takich jak realokacja sektorów. Producenci nie zgłaszają, że ich dyski znajdują się w stanie sprzed awarii po jednym przeniesionym sektorze. To wyraźnie wskazuje, że można uzyskać lepsze wskazanie stanu dysku, patrząc na surowe dane.
James T
Chciałbym również dodać, że mój dysk Seagate uszkadzał moje dane, a wartości surowych danych wyraźnie różniły się od tego, co nauczyłem się, że są zdrowe. Najwyraźniej coś jest nie tak z tym, gdzie producent ustala próg.
James T
Myślę, że musisz ponownie przeczytać mój post i link. Surowe wartości SMART nie są wiarygodnymi wskaźnikami czegokolwiek . Raport Google nie mówi, że „niektóre atrybuty mają silną korelację awarii”. Co robi powiedzieć, że pomimo faktu, że „po ich fi rst błąd podczas skanowania, dyski są 39 razy bardziej narażone na nie w ciągu 60 dni od dysków bez takich błędów”, mniej niż 15% z nieudanego populacji napędowy miał żadnych błędów skanowania. Czy jest to wiarygodny wskaźnik, jeśli ma rację 15% czasu?
sml
1
@ scottl Nie jestem pewien, skąd masz 15%. Nie widziałem tego w artykule. Nawet jeśli tylko 15% ich dysków miało błędy skanowania ... odkryli, że dysk z błędami skanowania jest 39 razy bardziej podatny na awarię w ciągu 60 dni. Nie oznacza to, że dysk nie ulegnie awarii, chyba że wystąpią błędy skanowania. Oznacza to po prostu, że jeśli wystąpi błąd skanowania ... żywotność dysków twardych jest prawdopodobnie krótka. Czy kiedykolwiek brałeś statystyki? Uważam to za bardzo przydatne.
James T
1
smartmontools FAQ mówi: Surowe atrybuty SMART (temperatura, czas życia po włączeniu itd.) są przechowywane w strukturach specyficznych dla dostawcy. Czasami są dziwne. Dyski Hitachi (przynajmniej niektóre z nich) przechowują żywotność po włączeniu zasilania w minutach, a nie godzinach (patrz następne pytanie poniżej). Dyski IBM (przynajmniej niektóre z nich) mają trzy temperatury przechowywane w surowej strukturze, a nie tylko jedną. I tak dalej.
sml
4

Nie jestem do końca pewien, jakie pytanie zadajesz. Wygląda na to, że całe pytanie i odpowiedź zostały zebrane w jedno, ale ...

Czy porównałeś dane dysku twardego z danymi z SeaTools

Jest to standardowe narzędzie do diagnostyki sprzętowej firmy Seagate i AFAIK, najczęściej używane narzędzie do diagnostyki dysków twardych.

Nie zdziw się, jeśli okaże się, że narzędzia zgłaszają niekorzystne wyniki dotyczące swoich konkurentów. Narzędzia na ogół działają z dyskami twardymi wszystkich producentów, ale to nie znaczy, że sprawili, że ich konkurenci wyglądali dobrze podczas pracy.

Czy nigdy nie słyszałeś dowcipu: „99,99% wszystkich statystyk jest prawdziwe, z wyjątkiem, oczywiście, tych statystyk”.

Evan Plaice
źródło
1
Tak ... to trochę mylące. Zasadniczo umieszczam wszystkie podstawowe informacje, które znam przed pytaniem oraz wszystkie moje testy i przypuszczenia po pytaniu. Oto moje pytanie „Jak znormalizować te dane?”. Zasadniczo ... jak sprawić, aby wszystkie atrybuty danych od jednego producenta oznaczały to samo, co atrybuty danych od innego producenta, aby móc je dokładnie porównać.
James T
@James Możesz próbować zbierać dane z jak największej różnicy i dowiedzieć się, jak je interpretować, jeśli interpretujesz dane inaczej. Wszyscy mogą zgłaszać prawidłowe dane, mogą po prostu interpretować je w inny sposób, jak wskazałeś. Dlatego dodałem cytat statystyczny ... Tylko dlatego, że dane są dobre, nie znaczy, że interpretacje są.
Evan Plaice,
2
Tak, właśnie to zrobiłem. Sprawdziłem ponad 70 różnych dysków twardych, a duża różnica w błędach wyszukiwania i błędach odczytu to atrybuty, które mi pozostały. Zgaduję, że w przypadku dysków Seagate błędy odczytu mają jakiś związek z odzyskanym sprzętowym ecc. Nie jestem do końca pewien, co to za związek. Miałem nadzieję, że ktoś tu mi powie. Miałem również nadzieję, że ktoś może mi powiedzieć, dlaczego dyski Seagate mają tak dużą liczbę błędów wyszukiwania, podczas gdy western digital zawsze wydaje się mieć zero.
James T
@James Może ktoś przyjdzie z lepszą odpowiedzią ... Szczerze zgaduję, że Western Digital prawdopodobnie nie przestrzega dokładnej specyfikacji SMART. Taki jest problem ze standardami sprzętowymi, są to świetne punkty sprzedaży, ale zawsze jest kilku producentów, którzy będą sprzedawać wszystkie korzyści bez przestrzegania pełnej specyfikacji.
Evan Plaice,
Tak, odchylenie od standardu jest tym, co wymyśliłem i co sugeruje artykuł w Wikipedii. Chciałbym wiedzieć, czym się różnią, aby móc odpowiednio porównać dwóch producentów (i ewentualnie innych). Dzięki za komentarze Evan. Mam nadzieję, że to wyjaśnia pytanie również innym.
James T
2

W fizycznej rzeczywistości wewnętrznych dysków twardych wszystkie marki dysków twardych większych niż 100 MB będą miały wiele fizycznych błędów odczytu. Większość z nich jest bezpiecznie skorygowana przez ECC, niektóre (mam nadzieję, że bardzo niewiele) są nieprawidłowo skorygowane przez ECC, a reszta (kilka, ale więcej niż niewłaściwe poprawki) są zgłaszane z powrotem do komputera jako nieudany odczyt i powinno również spowodować automatyczne przeniesienie napędu zły sektor.

Oprócz korekcji błędów odczytu surowego, ECC koryguje również odczyty, które zdaniem sprzętu były prawidłowe, ale zwrócone bity były nieco błędne. W związku z tym poprawione ECC może być „niepowodzeniem odczytu surowego, ale naprawione przez ECC + odczyt surowego powiodło się, ale było błędne i naprawione przez ECC”.

Dlatego możliwe są dwie interpretacje danych:

A. Dyski inne niż Seagate nie uwzględniają błędów odczytu skorygowanych przez ECC w „nieprzetworzonej liczbie błędów odczytu”, tylko błędy niemożliwe do naprawienia.

B. Seagate uważa, że ​​to błąd odczytu, jeśli ECC znajdzie coś złego w danych, nawet jeśli obwód niskiego poziomu nie zauważył, inni tego nie zauważą.

Normalizacja będzie się bardzo różnić w zależności od tego, która teoria (A lub B) jest poprawna.

Jakob Bohm
źródło
> powinien również spowodować automatyczne przeniesienie dysku do uszkodzonego sektora. Jaka jest zatem zależność między polami liczby nierejestrowalnych liczby przeniesionych zdarzeń i bieżącej liczby oczekujących sektorów ? Czy nie zwiększyłoby to prądu , czy też byłoby relokowane lub niemożliwe do naprawienia ? Dlaczego byłoby to niemożliwe do naprawienia? Jeśli spróbował zmienić mapowanie złego sektora i nie powiódł się (tzn. Sektor zapasowy jest zły), to czy nie powinien spróbować zmienić mapowania na inny sektor zapasowy? to nie jest opona, która ma tylko jedną zapasową.
Synetech
100 MB? Masz na myśli 100 GB?
Peter Mortensen,