Passa al contenuto principale
hard-driveINFO

smartctl e i settori danneggiati: cosa ti dice davvero, e il 23 % che gli sfugge

smartctl segnala i settori danneggiati, non li ripara mai. Quali attributi SMART predicono realmente il guasto, come leggerli, e perché Backblaze ha rilevato che il 23,3 % dei dischi guasti non aveva dato alcun avvertimento.

Di Eric Gerard · Editore · Save My Disk6 min di letturaFoto via Pexels

Cerca questo argomento e Google ti suggerirà « smartctl fix bad sectors ». Quel suggerimento descrive qualcosa che lo strumento non fa, ed è nello scarto tra ciò che le persone si aspettano e ciò che SMART fornisce realmente che i dati vanno persi.

smartctl riporta, non ripara

La documentazione non lascia spazio a interpretazioni: smartctl "non calcola nessuno dei valori degli attributi, delle soglie o dei tipi, si limita a riportarli dai dati SMART presenti sul dispositivo."

È un'utilità di monitoraggio e di reportistica. Non esiste alcuna opzione che ripari un settore, perché riparare non è qualcosa che fa uno strumento diagnostico. Quando un disco rialloca un settore danneggiato, è il firmware a farlo, silenziosamente, usando una riserva presa dal proprio pool di scorta.

Questo ha conseguenze pratiche. Qualsiasi utilità che pubblicizzi di "riparare" i settori danneggiati sta facendo una di due cose: riscriverli, il che distrugge in modo permanente qualunque cosa vi si trovasse, oppure forzare la mano al firmware verso la riallocazione. Nessuna delle due recupera il tuo file. Se i dati contano ancora, scrivere sul disco è l'ultima cosa che vuoi fare.

I cinque attributi che vale la pena leggere

Backblaze gestisce uno dei più ampi set di dati pubblicati sui guasti dei dischi, e monitora cinque attributi SMART per la previsione:

IDAttributo
5Reallocated Sectors Count
187Reported Uncorrectable Errors
188Command Timeout
197Current Pending Sector Count
198Uncorrectable Sector Count

Il loro confronto pubblicato: il 76,7 % dei dischi guasti aveva almeno uno di questi attributi sopra lo zero, contro il 4,2 % dei dischi in servizio. È questa separazione che li rende degni di essere controllati.

I due più comunemente fraintesi sono il 197 e il 5, e vale la pena capire la differenza tra loro.

197, Current Pending Sector Count, è l'elenco provvisorio. Si tratta di settori che il disco ha faticato a leggere e che ha messo in prova. Non sono ancora condannati. Se una lettura successiva riesce, il conteggio può tornare a scendere.

5, Reallocated Sectors Count, è il registro permanente. Si tratta di settori su cui il disco ha rinunciato e che ha scambiato con quelli di riserva. Questo numero può solo salire.

Quindi un 197 diverso da zero è l'avvertimento più precoce, e quello su cui vale la pena agire, perché dice che il disco sta attualmente faticando a leggere qualcosa. E quel qualcosa potrebbe benissimo essere il tuo file.

Una vista macro all'interno di un disco rigido aperto che mostra il piatto a specchio e il braccio dell'attuatore con le sue testine di lettura e scrittura.
Una vista macro all'interno di un disco rigido aperto che mostra il piatto a specchio e il braccio dell'attuatore con le sue testine di lettura e scrittura.

Come leggere l'output senza fraintenderlo

Tre comandi coprono il terreno pratico:

smartctl -H /dev/sda      # overall health status
smartctl -A /dev/sda      # the attribute table
smartctl -l selftest /dev/sda   # results of past self-tests

Su -H, il significato documentato di un errore è specifico e urgente: "o che il dispositivo è già guasto, oppure che sta prevedendo il proprio guasto entro le 24 ore successive." Ventiquattro ore non sono una finestra di manutenzione. Significano copiare adesso ciò che conta.

Su -A, ogni attributo porta con sé un valore Raw, un valore Normalized e una Threshold (soglia). La regola documentata è che se il valore normalizzato è minore o uguale alla soglia, l'attributo è in errore. Le persone leggono abitualmente la colonna raw e si spaventano, oppure la leggono e si tranquillizzano, senza confrontarla con la soglia. Il valore raw da solo non ti dice se un attributo è in errore.

Per eseguire i test veri e propri:

smartctl -t short /dev/sda    # usually under ten minutes
smartctl -t long /dev/sda     # tens of minutes, more thorough

Il test breve verifica le prestazioni elettriche e meccaniche insieme a quelle in lettura. Il test esteso ne è la versione più lunga e più approfondita. In entrambi i casi il comando lancia il test e restituisce il controllo; l'esito lo leggi dopo con -l selftest, che mostra il tipo e lo stato finale di ciascuno degli autotest più recenti.

Il numero che nessuno cita: 23,3 %

Ecco la parte che dovrebbe cambiare il modo in cui reagisci a un rapporto pulito.

Secondo le cifre stesse di Backblaze, se il 76,7 % dei dischi guasti mostrava un avvertimento, allora il 23,3 % dei dischi guasti non ne mostrava proprio nessuno. Quasi un guasto su quattro arriva con SMART che non segnala nulla di anomalo.

SMART è un avvertimento precoce utile che resta però in silenzio circa un quarto delle volte. È la prova di un problema quando parla, e non è la prova di buona salute quando tace. Un controllo superato significa che non è ancora stato rilevato nulla di male. Non significa che il disco stia bene, e non sostituisce l'avere una seconda copia.

Cosa fare quando i numeri sono cattivi

L'ordine conta, e il primo passo è quello che le persone saltano.

Smetti di scrivere sul disco. Ogni scrittura è un'occasione per sovrascrivere qualcosa di recuperabile e altro lavoro per un meccanismo che è già in difficoltà.

Crea l'immagine prima di indagare. Lavora da una copia a livello di settore, non dal disco difettoso. Tentativi di lettura ripetuti su un disco con settori pending mettono sotto sforzo esattamente il punto già debole, e ogni nuovo tentativo è un'occasione perché un settore marginale diventi illeggibile. Trattiamo il procedimento in clonare un disco difettoso con ddrescue.

Poi recupera dall'immagine. Una volta che hai una copia, puoi riprovare quante volte vuoi senza mettere a rischio l'originale.

Scelta editoriale
4.5 / 5

Recuperare da un'immagine o da un disco ancora leggibile

Si applica una volta che il disco è abbastanza stabile da essere letto o che ne hai fatto una copia. Non ripara i settori danneggiati e nessun software può farlo, perché la riallocazione è gestita dal firmware del disco.

Fondata nel 2004Garanzia di 30 giorniVersione gratuita da 2 GB
Vedi l'offerta

La versione breve

smartctl ti dice ciò che il disco riporta su sé stesso. Non ripara mai nulla, quindi tratta "fix bad sectors" come la descrizione di qualcos'altro. Leggi l'attributo 197 come l'avvertimento precoce e il 5 come il registro permanente, e confronta i valori normalizzati con le soglie invece di leggere i numeri raw da soli. Un -H in errore ti dà un orizzonte documentato di 24 ore. E un rapporto pulito non è un certificato di buona salute, perché all'incirca un guasto su quattro non è mai comparso in queste statistiche.

Il comportamento dei comandi e la semantica degli attributi sono tratti dalla documentazione di smartctl; le cifre di correlazione con i guasti (76,7 %, 4,2 %, 23,3 %) sono le statistiche pubblicate da Backblaze sulla propria flotta. Le cifre descrivono la loro popolazione di dischi e non sono una previsione per un singolo disco. I link commerciali portano l'attributo rel="sponsored nofollow"; può applicarsi una commissione di affiliazione senza alcun costo aggiuntivo per te.

Scelta editoriale
4.5 / 5

Recupera i dati del tuo disco fisso → EaseUS

Scansione gratuita · file cancellati, formattati, persi · Windows & Mac

Fondata nel 2004Garanzia di 30 giorniVersione gratuita da 2 GB
Vedi l'offerta

Domande frequenti

smartctl può riparare i settori danneggiati?

No. La documentazione di smartctl è esplicita: lo strumento non calcola nessuno dei valori degli attributi né alcuna soglia, si limita a riportarli dai dati SMART presenti sul dispositivo. È un'utilità di monitoraggio e di reportistica. Nulla al suo interno scrive sui tuoi dati né ripara un settore. La riallocazione viene eseguita dal firmware del disco da solo, non da smartctl, e uno strumento che sostiene di riparare i settori danneggiati o li sta riscrivendo, il che distrugge quello che c'era, oppure sta descrivendo male ciò che fa.

Quali attributi SMART contano davvero?

Backblaze ne monitora cinque per la previsione dei guasti: SMART 5 Reallocated Sectors Count, 187 Reported Uncorrectable Errors, 188 Command Timeout, 197 Current Pending Sector Count e 198 Uncorrectable Sector Count. Le loro cifre pubblicate mostrano che il 76,7 % dei dischi guasti aveva almeno uno di questi attributi sopra lo zero, contro il 4,2 % dei dischi in servizio.

Che cosa significa uno stato di salute in errore con smartctl -H?

La documentazione indica che se il dispositivo riporta uno stato di salute in errore, questo significa o che il dispositivo è già guasto, oppure che sta prevedendo il proprio guasto entro le 24 ore successive. È una finestra stretta. È un motivo per smettere immediatamente di usare il disco e copiarne ciò che conta, non un motivo per programmare una manutenzione per il fine settimana.

Il mio disco supera il test SMART. I miei dati sono al sicuro?

Non necessariamente, ed è questa la cifra che conta di più. Backblaze ha riportato che il 23,3 % dei dischi guasti non mostrava alcun avvertimento su queste cinque statistiche SMART. Quasi un guasto su quattro arriva con un rapporto pulito. Un controllo SMART superato ti dice che non è ancora stato rilevato nulla di male, il che non è la stessa cosa di un disco in buona salute.

Qual è la differenza tra smartctl -t short e -t long?

L'autotest breve dura di solito meno di dieci minuti e verifica le prestazioni elettriche e meccaniche oltre alle prestazioni in lettura del disco. Il test esteso richiede decine di minuti ed è una versione più lunga e più approfondita della stessa cosa. Leggi poi i risultati tramite il registro degli autotest, invece di supporre che il comando che ha lanciato il test ne abbia riportato l'esito.