Prima di tutto, penso che tutti sappiano che i dischi rigidi si guastano molto più di quanto i produttori vorrebbero ammettere . Google ha condotto uno studio che indica che alcuni dati grezzi attribuiscono che lo stato SMART dei rapporti sui dischi rigidi può avere una forte correlazione con il futuro guasto dell'unità.
Troviamo, ad esempio, che dopo il loro primo errore di scansione, le unità hanno una probabilità 39 volte maggiore di guastarsi entro 60 giorni rispetto alle unità senza tali errori. Anche i primi errori nelle riallocazioni, riallocazioni offline e conteggi probazionali sono fortemente correlati alle maggiori probabilità di fallimento. Nonostante queste forti correlazioni, scopriamo che i modelli di previsione dei guasti basati esclusivamente sui parametri SMART possono essere severamente limitati nella loro precisione di previsione, dato che una grande parte delle nostre unità guaste non ha mostrato alcun segnale di errore SMART.
Seagate sembra stia cercando di oscurare queste informazioni sulle proprie unità sostenendo che solo il loro software può determinare con precisione lo stato accurato della propria unità e dal modo in cui il loro software non ti dirà i valori dei dati grezzi per gli attributi SMART. Western Digital non ha fatto affermazioni del genere per quanto ne so, ma il loro strumento di segnalazione dello stato non sembra riportare valori di dati grezzi.
Ho usato HDtune e smartctl da smartmontools al fine di raccogliere i valori dei dati grezzi per ogni attributo. Ho scoperto che in effetti ... sto confrontando le mele con le arance quando si tratta di determinati attributi. Ho scoperto, ad esempio, che la maggior parte delle unità Seagate segnalerà che hanno molti milioni di errori di lettura, mentre il 99% del digitale occidentale mostra 0 per errori di lettura. Ho anche scoperto che Seagate segnalerà molti milioni di errori di ricerca mentre Western Digital sembra sempre segnalare 0.
D : Come posso normalizzare questi dati? Seagate sta producendo milioni di errori mentre il digitale occidentale non ne produce nessuno? L'articolo di Wikipedia sullo stato SMART afferma che i produttori hanno modi diversi di comunicare questi dati.
Ecco la mia ipotesi:
Penso di aver trovato un modo per normalizzare (è il termine giusto?) I dati.
Le unità Seagate hanno un attributo aggiuntivo che le unità Western Digital non hanno (Hardware ECC ripristinato). Quando si sottrae il conteggio degli errori di lettura dal conteggio recuperato ECC, si finirà probabilmente con 0. Questo sembra essere equivalente al conteggio "Errore di lettura" riportato da Digitali occidentali. Ciò significa che Western Digital segnala solo errori di lettura che non può correggere mentre Seagate conta tutti gli errori di lettura e indica quanti di questi è stato in grado di correggere.
Avevo un'unità Seagate in cui il conteggio degli errori di lettura era inferiore al conteggio ECC recuperato e ho notato che molti dei miei file stavano diventando corrotti. È così che mi è venuta in mente la mia ipotesi. I milioni di errori di ricerca che Seagate produce sono ancora un mistero per me.
Conferma o correggi la mia ipotesi se hai ulteriori informazioni.
Ecco lo stato intelligente della mia unità digitale occidentale solo per poter vedere di cosa sto parlando:
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
Modifica: ecco l'unità Seagate di cui stavo parlando che stava causando il danneggiamento dei dati. Questi dati provengono da 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
A mio avviso, il fatto che l'ECC hardware recuperato sia maggiore del tasso di errore di lettura non elaborato è controintuitivo.
Questo è ciò che ho scoperto essere un'unità "normale" Seagate in cui ECC Recovered corrisponde al tasso di errore di lettura non elaborato:
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
MODIFICARE:
Voglio chiarire che so che Google generalmente considera inutile SMART. So che tutti dovrebbero eseguire il backup dei propri dati. Mi occupo comunque di riparare i computer degli altri. Molte persone non hanno backup o RAID. Non è conveniente per le aziende risolvere i problemi relativi ai dischi rigidi, quindi li eseguono solo su un RAID fino alla morte. Trovo utile nella mia linea di lavoro controllare lo stato SMART del disco rigido. Ci vogliono circa 30 secondi. Se ho la fortuna che un'unità guasta mostri un suggerimento di errore, come errori di scansione o settori riallocati, so di togliermi di mezzo il disco. Se questo suggerimento non esiste, probabilmente passerò molte ore a risolvere la lentezza e la corruzione dei dati fino a quando finalmente scoprirò che il disco rigido è difettoso.
Sto solo cercando di mettere a punto questo processo.