Esiste un buon strumento per test di tortura?


17

Ultimamente ho avuto una strana e rara corruzione del filesystem che sospetto sia colpa del mio SSD. Sto cercando un buon strumento per test di tortura. Qualcosa che può scrivere su tutto il disco, quindi tornare indietro e leggerlo alla ricerca di scritture volanti, blocchi danneggiati, blocchi ripristinati a revisioni precedenti e altri errori. Questo sarebbe molto più di quello che badblocksfa. Esiste un tale strumento?

Nota Sto non alla ricerca di un benchmark delle prestazioni e già controllato lo stato SMART; dice che sono stati segnalati blocchi sani e non danneggiati.


1
Hai provato? iozone.org
positron

1
A proposito, non hai indicato quale sistema operativo / hardware di sistema stai usando. È stato segnalato che gli SSD subiscono il danneggiamento di cui stai parlando su alcune scatole di Mac OS X quando configurato per spegnere spesso il disco rigido per risparmiare energia. Ciò causerà la corruzione. Immagino che lo stesso sia probabile in altre combo OS / Hardware, se l'unità è costretta a dormire tramite uno spegnimento del disco rigido emesso su un SSD. Verificherei la configurazione del tuo sistema prima di accendere il tuo SSD con test drive.
Wing Tang Wong,

1
@WingTangWong, wow. Sono pronto che molti SSD si rovinano quando perdono energia, ma quando viene chiesto di andare a dormire? È un disco difettoso. Terrò d'occhio questo. Sto usando Linux e non lo
dormo

Risposte:


10

Potrebbe essere eccessivo ma c'è Phoronix Test Suite . C'è anche bonnie++, oltre che hdparm.

Di solito uso hdparm, ad esempio:

% hdparm -Tt /dev/hdb
/dev/hdb:
 Timing buffer-cache reads:   128 MB in  1.25 seconds =102.40 MB/sec
 Timing buffered disk reads:  64 MB in 16.70 seconds =  3.83 MB/sec

Non definirei hdparmun test di tortura, ma ti dà un'idea approssimativa delle prestazioni complessive di un'unità.

Determinazione dell'integrità delle unità

Dopo aver torturato l'unità è possibile utilizzare questo comando per verificare lo stato generale dell'unità:

% sudo udisks --dump | grep -A 24 Updates
 Attribute       Current|Worst|Threshold  Status   Value       Type     Updates
===============================================================================
 raw-read-error-rate         103| 99| 34   good    5854752     Pre-fail Online 
 spin-up-time                100| 99|  0    n/a    0           Pre-fail Online 
 start-stop-count             98| 98| 20   good    2785        Old-age  Online 
 reallocated-sector-count    100|100| 36   good    0 sectors   Pre-fail Online 
 seek-error-rate              72| 60| 30   good    25872884688 Pre-fail Online 
 power-on-hours               89| 89|  0    n/a    424.4 days  Old-age  Online 
 spin-retry-count            100|100| 97   good    0           Pre-fail Online 
 power-cycle-count            98| 98| 20   good    2753        Old-age  Online 
 attribute-184               100|100| 99   good    0           Old-age  Online 
 reported-uncorrect          100|100|  0    n/a    0 sectors   Old-age  Online 
 attribute-188               100| 96|  0    n/a    0           Old-age  Online 
 high-fly-writes             100|100|  0    n/a    0           Old-age  Online 
 airflow-temperature-celsius  58| 42| 45 FAIL_PAST 42C / 108F  Old-age  Online 
 g-sense-error-rate          100|100|  0    n/a    124         Old-age  Online 
 power-off-retract-count     100|100|  0    n/a    15          Old-age  Online 
 load-cycle-count              1|  1|  0    n/a    248327      Old-age  Online 
 temperature-celsius-2        42| 58|  0    n/a    42C / 108F  Old-age  Online 
 hardware-ecc-recovered       45| 38|  0    n/a    5854752     Old-age  Online 
 reallocated-event-count      89| 89| 30   good    14877766723263 Pre-fail Online 
 current-pending-sector      100|100|  0    n/a    0 sectors   Old-age  Online 
 offline-uncorrectable       100|100|  0    n/a    0 sectors   Old-age  Offline
 udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online 
 attribute-254               100|100|  0    n/a    0           Old-age  Online 

Strumenti per la salute / manutenzione del disco

Abbiamo avuto un buon successo utilizzando i seguenti 2 strumenti in cui lavoro. HDAT2 e Spinrite . Quest'ultimo è uno strumento commerciale ma il primo, HDAT2, è un progetto open source.

Ecco un paio di schermate di HDAT2:

ss # 1 HDAT2

ss # 2 HDAT2

È necessario riavviare il sistema in entrambi, quindi è offline mentre si stanno eseguendo queste operazioni, ma entrambi hanno ripristinato unità guaste o che stavano iniziando a presentare errori. L'interfaccia utente in HDAT2 è un po 'difficile da navigare, generalmente abbiamo usato le opzioni predefinite per la maggior parte e abbiamo cercato di non vagare troppo lontano da lì.


I primi tre citati sono parametri di riferimento delle prestazioni. Ho già verificato lo stato SMART ed è buono senza settori danneggiati, quindi HDAT2 non è quello che sto cercando.
psusi,

Non avrei rifiutato HDAT2, stavamo eseguendo chkdsk e anche loro erano puliti, ma il disco non era ancora avviabile, l'esecuzione di HDAT2 era in grado di trovare problemi di superficie con il disco che era in grado di riparare abbastanza da rendere avviabile l'unità.
slm

Un commento in ritardo, ma sto cercando di trovare il codice sorgente su HDAT2, senza successo. C'è stato un recente cambio di licenza?
i336_

4

bonnie ++ mi viene in mente:

Quindi, a seconda della configurazione hardware della tua scatola:

bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB

Esempio:

# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000

Dovrebbe fornire al tuo dispositivo un buon stress test. Puoi anche personalizzarlo.

Nota, con un SSD, quando si verifica un blocco errato, potrebbe essere rimappato automaticamente dall'hardware dell'unità, a seconda dell'unità con cui stai lavorando. Inoltre, un test di tortura interrompe la durata della scrittura del tuo SSD. Quindi, usa a tua discrezione.

MODIFICARE:

Aggiunta di una nota sugli errori SSD, poiché è stato sottolineato che gli stress test Bonnie ++, ma non tracciano gli errori. Il modo in cui gli SSD "rimappano i blocchi danneggiati" è diverso dal modo in cui i dischi rigidi eseguono la rimappatura. Come funziona dipende interamente da quale marca / marca / modello di SSD hai:

  • Gli SSD economici non riescono, perché non hanno capacità di riserva per rimappare o perché non hanno mezzi per separare i blocchi flash falliti. Si bloccheranno o rimarranno offline e non torneranno online.
  • Gli SSD di fascia media senza capacità di riserva possono generare avvisi Smartd o persino generare errori del dispositivo di blocco a livello di sistema operativo quando viene rilevato un blocco non riuscito. Tuttavia, quando si verifica un errore, le dimensioni registrate dell'SSD cambieranno. Ciò può comportare un errore e portare il dispositivo offline dal sistema operativo o può comportare il blocco del dispositivo stesso e la necessità di essere estratto e reinserito per poterlo riconoscere nuovamente. Al momento della nuova registrazione, la dimensione del blocco disponibile del dispositivo verrà ridotta.
  • Gli SSD di fascia alta con capacità di riserva rimapperanno i blocchi danneggiati dietro le quinte e potrebbero generare avvisi / avvisi a livello di sistema operativo. Quando la capacità di riserva si esaurisce, il dispositivo probabilmente si guasterà lungo le linee degli SSD di fascia media.

Quando l'SSD si ridimensiona a causa dell'isolamento di blocchi danneggiati, potrebbe essere necessario eseguire le seguenti operazioni per ripristinare l'unità, se il firmware dell'unità non esegue automaticamente gli aggiornamenti corretti automaticamente:

http://communities.intel.com/message/145676

A meno che lo stress test e lo strumento di registrazione degli errori non siano progettati specificamente con SSD (s), stai solo utilizzando la durata del dispositivo.

MODIFICARE:

Sulla base delle informazioni fornite nelle risposte precedenti, suggerisci di sostituire il cavo con uno migliore o di sostituire l'unità (sostituzione RMA / Garanzia), poiché questo tipo di errore a livello di filesystem del sistema operativo non è normale.

Inoltre, se l'unità lo supporta, è possibile aumentare la quantità di spazio riservato per la gestione degli errori:

http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm


Questo è un benchmark delle prestazioni. Potrebbe dare all'unità un allenamento, ma non credo che rilevi errori.
psusi,

Il modo in cui funzionano gli SSD, il rilevamento degli errori si presenta in una delle diverse forme, a seconda della marca / modello dell'SSD: errore Smartd se un blocco viene rimappato e viene utilizzata la capacità di riserva (nessun errore), la capacità del dispositivo è ridotta poiché una sezione della memoria flash è guasta (può causare errori di smartd, può causare errori del file system, può causare il blocco del bus del dispositivo in modalità offline. Al pull / reinserimento, l'unità è di nuovo disponibile, ma potrebbe essere necessario riformattarla ) e l'SSD può semplicemente apparire bloccato senza rimappatura (il dispositivo non risponde anche dopo il reinserimento). Il percorso del fallimento non è equivalente a HD
Wing Tang Wong

1
gli errori non vengono rilevati dall'unità, quindi la necessità di uno strumento di test. Si manifesta con il filesystem che viene rimontato ro, e e2fsck trova e corregge molti errori nei metadati. Inoltre ho danneggiato alcuni file del mio pacchetto di repository git. È una corruzione silenziosa che si verifica forse una volta ogni mese o due. All'inizio ho pensato che potesse trattarsi di un bug che coinvolge TRIM poiché non ricordo che questo accadesse prima di averlo abilitato, quindi l'ho spento di nuovo e sta ancora accadendo.
psusi

Un paio di potenziali problemi: cavo o disco rigido difettoso. È possibile testare il cavo dell'unità danneggiato sostituendo il cavo con un altro. Ho avuto questo in passato e sostituito con un cavo meglio specificato funzionava. In caso di disco danneggiato, inviare RMA o inviare per la riparazione in garanzia.
Wing Tang Wong

1
il problema sta dimostrando che si tratta di un disco difettoso (o davvero, un bug nel firmware) e non dire, un bug nel kernel. Se fosse un cavo difettoso, si manifesterebbe come errori sata ecc piuttosto che corruzione silenziosa casuale.
psusi

3

Capisco che questo abbia più di un anno, ma a beneficio di chiunque legga il thread in futuro, mi aspetto che il software richiesto (d) non esista ancora al di fuori di HP Labs:

"Comprensione della robustezza degli SSD in caso di interruzione dell'alimentazione" https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf

Sostituendo l'iniezione di interruzione di corrente con un evento di scelta (o niente, nel caso di rilevamento di bug del firmware intermittenti), e sembra che questo software lo rileverebbe. Sfortunatamente, non penso che ci sia un'alternativa, altrimenti presumibilmente HP non avrebbe scritto qualcosa in casa.

È un peccato, dato che ho anche avuto bisogno di qualcosa del genere per provare problemi nell'ambiente virtuale; dove ho il sospetto che le scritture impegnate non siano effettivamente arrivate sul disco fisico. Sarebbe bello poter stressare lo stack di archiviazione in questo modo, non solo SSD. Devo ancora trovare qualcosa di adatto.


2
(da un commento anonimo) Mentre il lato hardware delle cose dovrebbe essere replicato, non vedo alcun motivo per cui la parte di verifica del software di quel documento non possa essere riprodotta usando fio in modalità client / server con trigger. Vedi github.com/axboe/fio/blob/master/HOWTO (10.0 Verifica e trigger) per i dettagli. fio può essere fatto per usare I / O senza buffer o periodicamente sincronizzare una serie di schemi utili che possono essere successivamente verificati (è anche possibile salvare un file di stato in modo che la verifica possa aver luogo dopo diverse invocazioni fio).
Archemar,

1

Utilizza lo strumento di test del produttore, è il modo migliore per testare un HD, in quanto può accedere ai test di basso livello, rimappare i settori danneggiati, testare tutto lo stato di salute intelligente (specialmente per un SSD, ci sono molti registri sconosciuti per la maggior parte di noi ma può aiutare il produttore a vedere lo stato del disco rigido)

hirensCD ha molti strumenti di test, ma penso che non sia stato aggiornato a quelli abilitati per SSD, quindi controlla direttamente il sito web del produttore. Alcuni supportano Linux, altri potrebbero richiedere un Windows LiveCD (controllare di nuovo il hirenCd) o l'avvio da un pendrive (freedos, SO speciale, ecc.)

La maggior parte degli strumenti HD più vecchi non sono adatti per testare SSD, poiché un settore non è mai negli stessi posti, è mappato dinamicamente dal firmware per diffondere le scritture su tutto il disco. Quindi, se fanno test di scrittura, stai solo bruciando cicli di scrittura invece di testare veramente il disco.

I test di lettura non bruciano l'SSD ma potrebbero non testare realmente tutti i settori dell'SSD, a causa del firmware che nasconde il layout reale.

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.