Perché diversi produttori hanno valore diverso SMART?

Innanzitutto penso che tutti sanno che i dischi rigidi falliscono molto di più che i produttori vorrebbero ammettere . Google ha fatto uno studio che indica che alcuni attributi di dati raw che lo stato SMART dei dischi rigidi possono avere una correlazione forte con il futuro errore dell'unità.

Troviamo, ad esempio, che dopo il loro primo errore di scansione, i drive sono 39 volte più probabilità di fallire entro 60 giorni rispetto agli azionamenti senza tali errori. I primi errori nelle riallocazioni, nelle riallocazioni offline e nei conti probazionali sono fortemente correlati a maggiori probabilità di guasto. Nonostante queste forti correlazioni, troviamo che i templates di previsione di fallimento basati solo sui parametri SMART sono probabilmente gravemente limitati nella loro precisione di previsione, dato che una grande parte delle nostre unità non riuscite ha mostrato alcun segnale di errore SMART.

Seagate sembra che sta cercando di oscurare queste informazioni sulle loro unità sostenendo che solo il loro software può determinare con precisione lo stato esatto della loro unità e dal modo in cui il loro software non ti dirà i valori di dati grezzi per gli attributi SMART. Western Digital non ha fatto alcuna affermazione in merito alla mia conoscenza, ma il suo strumento di reporting di stato non sembra segnalare né i valori dei dati grezzi.

Ho utilizzato HDtune e smartctl da smartmontools per raccogliere i valori dei dati grezzi per each attributo. Ho trovato che in effetti … sto confrontando mele con le arance quando si tratta di certi attributi. Ho trovato per esempio che la maggior parte delle unità Seagate riferirà che dispongono di milioni di errori di lettura mentre il digitale occidentale 99% del tempo mostra 0 per errori di lettura. Ho anche scoperto che Seagate riferirà molti milioni di errori di ricerca mentre Western Digital sembra sempre segnalare 0.

D : Come normalizzare questi dati? Seagate produce milioni di errori mentre Western Digital produce nessuno? L'articolo di Wikipedia relativo allo stato SMART dice che i produttori hanno diversi modi di segnalare questi dati.

    Ecco la mia ipotesi:

    Penso che ho trovato un modo per normalizzare (è che il termine giusto?) I dati.

    Le unità Seagate hanno un attributo aggiuntivo che le unità Western Digital non dispongono (Hardware ECC Recovered). Quando si sottrae il count degli errori di lettura dal count ECC Recovered, probabilmente finirà con 0. Questo sembra essere equivalente a Western Digitals riportto "Read Error" count. Ciò significa che Western Digital riport solo degli errori che non riesce a correggere mentre Seagate conta tutti gli errori di lettura e ti dice quanti di essi sono stati in grado di risolvere.

    Ho avuto un'unità Seagate where il count degli errori di lettura era inferiore al count ECC Recovered e ho notato che molti dei miei file stavano diventando danneggiati. È così che ho trovato la mia ipotesi. I milioni di errori di ricerca che Seagate produce sono ancora un mistero per me.

    Confermi o corregga la mia ipotesi se hai ulteriori informazioni.

    Ecco lo stato intelligente del mio disco digitale occidentale, in modo da poter vedere cosa sto parlando:

    [email protected]:~$ 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 la corruzione dei dati. Questi dati sono 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 

    Il fatto che l'hardware ECC Recovered sia più grande della Raw Read Error Rate è contro intuitivo a mio avviso.

    Questo è ciò che ho trovato essere un'unità di "normale" seagate in cui il recupero ECC corrisponde alla risoluzione di errore di lettura raw:

     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 

    EDIT:

    Voglio chiarire che so che Google generalmente considera SMART inutile. So che tutti devono sostenere i loro dati. Sono però nel settore della riparazione di computer di altri popoli. La maggior parte delle persone non dispone di backup o di RAID. Non è conveniente per le aziende per risolvere i problemi relativi ai dischi rigidi, per cui li eseguono solo su un RAID fino a quando non muoiono. Trovo utile nella mia linea di lavoro per controllare lo stato SMART del disco rigido. Ci vogliono 30 secondi. Se sono abbastanza fortunato per un disco difettoso per mostrare un suggerimento di fallimento come errori di scansione o riassegnati settori, so di get l'azionamento duro fuori di là. Se non esiste un tale suggerimento, probabilmente passerò molte ore a risolvere la lentezza e la corruzione dei dati fino a quando non troverò finalmente che il disco rigido è difettoso.

    Sto solo cercando di ottimizzare questo process.

    Sembra che i diversi produttori utilizzino valori SMART per le cose a volte radicalmente diverse, come si può vedere qui :

    I miei dischi rigidi in ReadyNAS stanno riferendo ad alta velocità di errore SMART Raw Read, la frequenza di errore di ricerca e l'ECC hardware recuperato. Cosa dovrei fare?

    Seagate utilizza questi campi SMART per i conteggi interni, quindi questo è un problema noto con i dischi Seagate. Cercare conteggi anormali in altri campi, in particolare settore riallocato Ct e count errori ATA.

    Quindi quando si tratta della tua domanda reale …

    Se sono abbastanza fortunato per un disco difettoso per mostrare un suggerimento di fallimento come errori di scansione o riassegnati settori, so di get l'azionamento duro fuori di là. Se non esiste un tale suggerimento, probabilmente passerò molte ore a risolvere la lentezza e la corruzione dei dati fino a quando non troverò finalmente che il disco rigido è difettoso.

    Vorrei dire che una buona regola è, si può solo aspettare che le impostazioni SMART siano comparabili all'interno dello stesso produttore di unità e forse anche lo stesso model di azionamento!

    Quindi, quando stai cercando di diagnosticare quei conteggi SMART, tenga presente che … "un numero di errori di lettura errori di un produttore" può significare qualcosa di completamente diverso da quello di un altro produttore. Triste ma vero. 🙁

    Ok, prima di tutto non sono d'accordo con la tua premessa.

    Google ha fatto uno studio che indica che alcuni attributi di dati raw che lo stato SMART dei dischi rigidi possono avere una correlazione forte con il futuro errore dell'unità.

    Infatti hanno trovato il contrario:

    … scopriamo che i templates di previsione di fallimento basati solo sui parametri SMART sono probabilmente gravemente limitati nella loro precisione di previsione, dato che una gran parte delle nostre unità non riuscite ha mostrato alcun segnale di errore SMART.

    In secondo luogo, le soglie SMART non sono standardizzate. Il firmware sull'azionamento stesso segnala un attributo come "pre-failure", ma i valori raw non sono significativi per l'utente. Ad esempio, Seagate dice :

    Vari attributi vengono monitorati e misurati contro determinati limiti di soglia. Se qualsiasi attributo supera una soglia, un test di stato SMART generale cambia da Pass a Fail.

    I valori SMART che potrebbero essere letti da un software SMART di terze parti non si basano su come i valori possono essere utilizzati nei dischi rigidi Seagate. Seagate non fornisce il supporto per programmi software che pnetworkingndono di leggere singoli attributi SMART e soglie. Può essere una certa correttezza storica sugli azionamenti precedenti, ma i nuovi drive, senza dubbio, avranno incorporato soluzioni, attributi e soglie più recenti.

    tl; dr Sommario:

    I valori SMART crudi sono quasi senza significato, in quanto diversi produttori li utilizzano in modi diversi e hanno soglie diverse ecc. Il firmware del disco stesso vi dirà quando è in "pre-failure" … o forse no, SMART non è veramente molto affidabile.

    Fare backup regolari!

    Non sono esattamente sicuro di che cosa sia la domanda che stai chiedendo. Sembra che l'integer interrogativo e la risposta si siano rotolati in uno ma …

    Avete confrontato le metriche del disco rigido con quelle fornite da SeaTools

    È lo strumento standard di diagnostica hardware di Seagate e AFAIK lo strumento di diagnostica HDD più comunemente utilizzato.

    Non stupitevi se scoprinetworking che gli strumenti riportno risultati negativi sui loro concorrenti. Gli strumenti funzionano generalmente con i dischi rigidi di tutti i produttori, ma ciò non significa che abbiano fatto che i loro concorrenti guardino bene mentre fanno.

    Non hai mai sentito la barzelletta, "99,99% di tutte le statistiche sono vere tranne, naturalmente, questa statistica".

    Nella realtà fisica degli interni del disco rigido, tutte le marche di hard disk più grandi di 100 MB avranno molti errori di lettura fisica. La maggior parte di questi sono corretti in sicurezza da parte di ECC, alcuni (ben sperati di pochi) sono erroneamente corretti da ECC e il resto (poche ma più che le correzioni sbagliate) vengono riportte al computer come difetto fallito e dovrebbero anche far ripristinare automaticamente l'unità settore danneggiato.

    Oltre a correggere gli errori di lettura crudi, ECC corregge anche le letture che il pensiero hardware era OK, ma i bit restituiti erano leggermente sbagliati. Così corretto ECC potrebbe essere "la lettura raw non rioutput ma fissata da ECC + la lettura cruda è rioutput ma è stata sbagliata e viene fissata da ECC".

    Pertanto, sembrano possibili due interpretazioni dei dati:

    A. le unità non-Seagate non includono gli errori di lettura corretti ECC nel "count di errore di lettura raw", solo gli errori non configurabili.

    B. Seagate lo considera un errore di lettura se ECC trova qualcosa di sbagliato con i dati anche se il circuito a basso livello non ha notato, altri non lo fanno.

    La normalizzazione sarà molto diversa a seconda di quale teoria (A o B) ha ragione.