Il modo migliore per testare nuovi HDD per un server di archiviazione economico


31

Voglio costruire un server di archiviazione e acquistato 10 x 2TB WD RED's. Il HDD'sappena arrivato.

Esiste uno strumento che voi ragazzi utilizzate per verificare la presenza di unità difettose o per difendersi al meglio dalla mortalità infantile prima di copiare dati reali sui dischi?

È meglio controllare ogni singolo HDDo testare l'array ( ZFS raid-z2) copiando molti dati su di esso?


1
So che ci sono alcuni strumenti specifici del fornitore come "WD Data LifeGuard Diagnostics". Ma mi chiedo cosa facciano i ragazzi che comprano un sacco di hard disk. Dubito che controllino ogni singolo disco rigido (che richiede molto tempo ..), quindi mi chiedo se esiste uno strumento in grado di eseguire un test SMART completo su tutti i dischi rigidi contemporaneamente?
s1lv3r,

3
Quasi tutto ciò che scrive sulle unità può essere utilizzato come test; uno scorrimento completo o due dell'array dovrebbe essere sufficiente per rilevare la mortalità infantile. È davvero una buona idea acquistare unità da diversi fornitori / lotti quando ne ottieni più di una coppia - riduce significativamente le possibilità di guasto di più unità contemporaneamente (a causa di difetti di fabbricazione simili).
Chris S,

Risposte:


14

Ho avuto la stessa domanda 2 mesi fa. Dopo aver inviato un disco guasto, il disco sostitutivo non è riuscito nel mio NAS dopo 3 giorni. Quindi ho deciso di provare ora il nuovo sostituto prima di metterlo in produzione. Non collaudo tutti i nuovi dischi che compro, ma solo su dischi "ricondizionati", di cui non mi fido completamente.

Se decidi di voler testare questi dischi, ti consiglio di eseguire una scansione dei blocchi e un test SMART esteso sul nuovo disco rigido.

Su un disco da 2 TB sono necessarie fino a 48 ore. Il comando badblock scrive il disco pieno con un motivo, quindi legge nuovamente i blocchi per vedere se il motivo è effettivamente presente e lo ripeterà con 4 motivi diversi.

Questo comando probabilmente non mostrerà alcun blocco danneggiato su un nuovo disco, poiché i dischi riallocano i blocchi danneggiati in questi giorni.

Quindi, prima e dopo, ho eseguito un test intelligente e ho verificato il conteggio del settore in corso riallocato e attuale. Se uno di questi è salito, il tuo disco ha già alcuni blocchi danneggiati e quindi potrebbe rivelarsi inaffidabile.

Successivamente, eseguo nuovamente un test SMART esteso.

Potresti voler installare prima smartctl o smartmontools.

Attenzione , il flag badblocks -w sovrascriverà tutti i dati sul tuo disco, se vuoi solo fare un controllo di lettura, senza sovrascrivere il disco, usabadblocks -vs /dev/sdX

sudo smartctl -a /dev/sdX
# record these numbers
sudo badblocks -wvs /dev/sdX
# let it run for 48 hours
sudo smartctl -a /dev/sdX
# compare numbers
sudo smartctl -t long /dev/sdX
# this might take another hour or 2, check results periodically with
sudo smartctl -a /dev/sdX

Se dopo questo i tuoi valori intelligenti sembrano ok mi fiderei del disco.

Per sapere cosa significa ogni valore intelligente, puoi iniziare a cercare qui

http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology


Come hanno supposto gli altri, questo potrebbe fare molto, ma dato che ho solo 10 dischi e certamente non può fare nulla di male, sto solo controllando tutti i dischi nel modo che hai suggerito ora. Grazie per la tua risposta esaustiva.
s1lv3r,

23

Questi sono nuovi dischi. O falliranno o no. Stai già facendo un grande passo avanti utilizzando il filesystem ZFS, che ti darà una visione approfondita del tuo raid e della salute del filesystem ...

Non farei nulla oltre a costruire l'array. Questo è il punto della ridondanza. Non sarai in grado di indurre un guasto dell'unità con gli altri metodi elencati.


1
D'accordo con questo: stai costruendo un array. Se un'unità si guasta quando si avvia l'inserimento dei dati, non importa, la si sostituisce e l'array si auto-guarisce. Testare i dischi per i problemi prima di usarli non ti darà un'idea corretta se falliranno nella vita reale - la vita reale non è come i test!
Ashley,

1
Sono d'accordo "la vita reale non è come i test" ma ho anche trovato due guasti ai drive tramite i badblock. Se avessi messo entrambi nella stessa parte di un RAID 1, 5 o 10, avrei perso l'intero RAID.
rjt

1
@rjt probabilmente no. I settori danneggiati verrebbero riallocati e le unità non avrebbero probabilmente fallito allo stesso tempo. Inoltre, non tutti i guasti dell'unità sono supporti o il risultato di blocchi danneggiati. Cosa succede se il cuscinetto dell'unità si consuma o non funziona correttamente?
ewwhite

probabilmente non prendo decisioni sui dati mission-critical . Lo studio sul disco rigido di Google afferma che le unità si consumano nei primi 90 giorni o dopo 3 anni. i badblock aiutano ad eliminare i frutti bassi.
rjt

1
@rjt Ovviamente prendi decisioni sui dati mission-critical su "probabilmente" - Se non lo facessi non saresti in grado di archiviare i dati su qualsiasi unità, indipendentemente da quanti test fai.
voretaq7,

10

È possibile utilizzare Bonnie ++ per i test. Può emulare perfettamente il modello di comportamento del file server.

Per esempio:

# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300

Il test verrà eseguito come utente "nessuno" e creerà / riscriverà / eliminerà 100 * 1024 file, da 200 a 150000 byte per file, entro 100 directory create automaticamente sotto / home / tmp. E numero di test = 300. Puoi giocare conteggio / dimensione del file e numero di ripetizioni del test.


9

Di solito faccio solo un completo RAID init e dove applicabile, comincio a popolare il file system durante questo, sapendo sempre che potrebbe esserci un problema a causa di unità morte. In questo modo, non perdo tempo per alcuni tipi di test che sono abbastanza inaffidabili e catturerei immediatamente i veri dischi deboli. Dopodiché, potrebbero esserci ancora elevate possibilità di guasti alla guida dovuti alla "mortalità infantile", ma non esiste un modo pratico per eliminarlo.

In pratica, nessuna delle ultime centinaia di dischi che ho usato in un RAID ha avuto problemi durante il primo anno di funzionamento.


8

Lavoro per un'azienda che fa questo tipo di test giorno dopo giorno. E sì, testiamo ogni singolo disco rigido che acquistiamo. Il nostro processo inizia con l'esecuzione delle unità attraverso un programma gratuito basato su DOS chiamato HDAT2. È gratuito da scaricare. Può accedere a SMART e ad altre funzionalità dell'unità che sono inaccessibili da un ambiente Windows. A seconda dei risultati, li eseguiremo attraverso una delle diverse linee di hardware specializzato, ma alla base eseguono principalmente test brevi SMART, test lunghi, cancellazione sicura e lettura completa per verificare i settori. Il mio suggerimento è di eseguire una cancellazione sicura dell'intero disco, quindi eseguire una lettura completa, quindi un breve test automatico SMART. Questo ordine è importante in quanto un breve autotest potrebbe non trovare nulla se eseguito all'inizio del test, ma dopo una completa scrittura e lettura del disco potrebbe raccogliere qualcosa. Spero che sia di aiuto.


1
serverfault.com/a/501870/117546 ha più senso per me, ma non sono un esperto. Perché la tua azienda verifica i dischi rigidi. Penserei che il test più efficace sarebbe effettivamente utilizzare l'unità.
emory

4

È possibile utilizzare la suite di test del produttore o qualcosa come SpinRite per spazzare l'intero disco. Sarebbe anche una buona idea guardare ai valori SMART , cercando settori danneggiati e altri segni di vecchiaia / fallimento.


3

Se vuoi davvero testare, usa il badblockstest di scrittura. Scriverà i modelli di dati sul disco, quindi li leggerà per verificare. Durante questo stresserà un po 'il disco. Secondo me, se funziona correttamente, puoi fidarti del disco.

Ma penso che ZFS e un buon backup siano sufficienti.

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.