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.