Cosa fanno i test SMART e come funzionano?


27

man smartctl stati (SNIPPED per brevità):

La prima categoria , chiamata test "online". La seconda categoria di test si chiama test "offline". Normalmente, il disco sospenderà i test offline mentre sono in corso gli accessi al disco, quindi riprenderà automaticamente quando il disco sarebbe altrimenti inattivo. La terza categoria di test (e l'unica categoria per cui la parola "test" è davvero una scelta appropriata) sono i test "auto".

Abilita o disabilita il test offline automatico SMART, che esegue la scansione dell'unità ogni quattro ore alla ricerca di difetti del disco. Questo comando può essere dato durante il normale funzionamento del sistema.

Chi esegue il test - guida il firmware? Che tipo di test sono questi - il firmware legge / scrive su disco - cosa succede esattamente? È sicuro invocare i test mentre si trova nel sistema operativo (linux) o è possibile pianificare un test per dopo - come avviene - quando si riavvia il sistema operativo al prompt del BIOS ("test offline")? Dove sono visualizzati i risultati - Log SMART?

Risposte:


38
  1. Il firmware dell'unità esegue i test.

  2. I dettagli dei test possono essere letti ad es. In www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf, che riassume così gli elementi dei test brevi e lunghi:

    1. un segmento elettrico in cui il convertitore verifica la propria elettronica. I test specifici in questo segmento sono specifici del fornitore, ma come esempi: questo segmento potrebbe includere test come un buffer RAM, un test dei circuiti di lettura / scrittura e / o un test degli elementi head di lettura / scrittura.

    2. un segmento di ricerca / servo in cui l'unità verifica la capacità di trovare e servo su tracce di dati. La particolare metodologia utilizzata in questo test è anche specifica del fornitore.

    3. un segmento di scansione di lettura / verifica in cui l'unità esegue la scansione di lettura di una parte della superficie del disco. La quantità e la posizione della superficie scansionata dipendono dal vincolo del tempo di completamento e sono specifici del fornitore.

    4. I criteri per l'autotest esteso sono gli stessi dell'autotest breve con due eccezioni: il segmento (3) dell'autotest esteso deve essere una scansione di lettura / verifica di tutta l'area dei dati dell'utente e non esiste limite di tempo massimo per l'azionamento per eseguire il test.

  3. È sicuro eseguire test non distruttivi mentre il sistema operativo è in esecuzione, sebbene sia probabile un impatto sulle prestazioni. Come smartctldice la pagina man per entrambi -t shorte -t long,

Questo comando può essere dato durante il normale funzionamento del sistema (a meno che non venga eseguito in modalità captive)

Se si richiama la modalità captive con -C, si smartctlpresuppone che l'unità possa essere occupata come non disponibile. Questo non dovrebbe essere fatto su un'unità utilizzata dal sistema operativo.

Come suggerisce anche la pagina man, il test offline (che significa semplicemente test periodici in background) non è affidabile e non è mai diventato ufficialmente parte delle specifiche ATA. Eseguo il mio da cron, invece; in questo modo so quando dovrebbero accadere e posso fermarlo se necessario.

  1. I risultati possono essere visualizzati smartctlnell'output. Eccone uno con un test in esecuzione:
[root @ risby images] # smartctl -a / dev / sdb
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64] (build locale)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
[...]
Numero di revisione della struttura del registro di auto-test SMART 1
Num Test_Description Status Durata rimanente (ore) LBA_of_first_error
N. 1 Esteso offline Completato senza errore 00% 20567 -
# 2 Esteso offline Completato senza errore 00% 486 -

Numero di revisione della struttura dei dati del registro di auto-test selettivo SMART 0
Nota: il numero di revisione non 1 implica che non è mai stato eseguito alcun test automatico selettivo
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
   1 0 0 Self_test_in_progress [90% rimanente] (0-65535)
   2 0 0 Not_testing
   3 0 0 Not_testing
   4 0 0 Not_testing
   5 0 0 Not_testing

Nota due precedenti test completati (rispettivamente 486 e 20567 ore all'accensione) e quello corrente in corso (10% completato).


1
Inoltre, se usi smartmontools, il demone smartd può gestire i test periodici senza la necessità di un cronjob. Gestirà inoltre la segnalazione di problemi relativi all'unità, sebbene sia preferibile un monitoraggio proattivo.
GnP,

8

Le implementazioni SMART dipendono dal produttore, a volte sono disponibili registri abbastanza estesi tramite smart -acomando. Ecco cosa ottengo su una delle mie unità con crittografia automatica di Hitachi :

SMART Error Log Version: 1
ATA Error Count: 3

Error 3 occurred at disk power-on lifetime: 2543 hours (105 days + 23 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 08 00 08 00 00  Error: IDNF at LBA = 0x00000800 = 2048

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
-- -- -- -- -- -- -- --  ----------------  --------------------
60 08 68 00 08 00 40 00      00:00:06.139  READ FPDMA QUEUED
27 00 00 00 00 00 e0 00      00:00:06.126  READ NATIVE MAX ADDRESS EXT
ec 00 00 00 00 00 a0 00      00:00:06.125  IDENTIFY DEVICE
ef 03 46 00 00 00 a0 00      00:00:06.125  SET FEATURES [Set transfer mode]
27 00 00 00 00 00 e0 00      00:00:06.125  READ NATIVE MAX ADDRESS EXT
...

Questo white paper fa luce sui codici di errore che compaiono nel registro. Le abbreviazioni di errori comuni sono:

  • AMNF: contrassegno dell'indirizzo non trovato
  • TONF - Traccia 0 non trovata
  • ABRT - Comando interrotto
  • IDNF - ID settore non trovato
  • UNC - Dati non correggibili
  • BBK - Contrassegno di blocco errato

Nel mio caso, l'errore IDNF (ID non trovato) può essere ricondotto a un incidente quando l'unità è stata collegata tramite adattatore da USB a SATA e si è verificata una mancanza di potenza, che gli ha impedito di cercare correttamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.