PDA

View Full Version : Fattori rottura Hard Disk sotto stress


vankar
23-09-2011, 18:03
Buongiorno a tutti, e grazie per aver clickato su questo thread.

Sto svolgendo un progetto per l'università, e avremo la necessità di scrivere dati su dischi in continuità per una durata di circa 4/5 mesi. A tale proposito, essendo i dischi messi sotto stress, mi sto documentando sui fattori di rottura, così da agire via software per prevenirli.
Per ora mi sono imbattuto solo in

http://www.hwupgrade.it/forum/showthread.php?t=2249284&highlight=stress+hard+disk+rottura

e

http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/it//papers/disk_failures.pdf

Tuttavia credo facciano riferimento ad un uso prolungato e con un fattore di carico che non penso sia simile a quello che il mio progetto richiederebbe.

Per ora abbiamo cercato di agire creando software che bufferizzi i dati e li scriva un po' alla volta, oltre a dei messaggi di alert in caso si superino determinate soglie di temperature. Ma leggendo il paper pare non siano queste le cause, piuttosto il controllo di errori e altre...

Voi sapreste consigliarmi qualche altro link dove trattino una questione simile alla mia, o potreste dirmi le possibili cause di rottura in tali condizioni di utilizzo?

Grazie a chiunque anche solo mi leggerà...

alecomputer
23-09-2011, 21:27
Da quello che so la causa maggiore di guasti e proprio la temperatura eccessiva del disco . Sopratutto sui dischi di tipo meccanico .
La temperatura di solito crea problemi alla parte meccanica , ma anche il circuito elettronico e il motore ne risente . Anche possibili errori di lettura possono essere causati dalla temperatura eccessiva del disco . In pratica la temperatura stressa un po tutti i componenti del disco aumentando cosi la possibilita che il disco fisso si guasti .
Poi devi considerare che non tutti i modelli di disco sono uguali , quindi un particolare modello di disco fisso puo avere piu guasti al motore , piuttosto che alle testine o alla scheda elettronica ecc... .
Di solito e la parte piu debole del disco che si rompe se ad esempio un modello di disco e stato progettato male con un motore non adeguato , ci saranno molti dischi di questo particolare modello con il motore bruciato .

vankar
24-09-2011, 11:36
Da quello che so la causa maggiore di guasti e proprio la temperatura eccessiva del disco . Sopratutto sui dischi di tipo meccanico .
La temperatura di solito crea problemi alla parte meccanica , ma anche il circuito elettronico e il motore ne risente . Anche possibili errori di lettura possono essere causati dalla temperatura eccessiva del disco . In pratica la temperatura stressa un po tutti i componenti del disco aumentando cosi la possibilita che il disco fisso si guasti .
Poi devi considerare che non tutti i modelli di disco sono uguali , quindi un particolare modello di disco fisso puo avere piu guasti al motore , piuttosto che alle testine o alla scheda elettronica ecc... .
Di solito e la parte piu debole del disco che si rompe se ad esempio un modello di disco e stato progettato male con un motore non adeguato , ci saranno molti dischi di questo particolare modello con il motore bruciato .

Grazie per l'esauriente chiarimento. Tuttavia, il paper da me linkato, nel paragrafo 3.4 (dove parla della temperatura) cita:

The distributions are in sync with Figure
4 showing a mostly flat failure rate at mid-range temperatures and a modest increase at the low end of the temperature distribution. What stands out are the 3 and 4-
year old drives, where the trend for higher failures with
higher temperature is much more constant and also more
pronounced.
Overall our experiments can confirm previously reported temperature effects only for the high end of our
temperature range and especially for older drives. In the
lower and middle temperature ranges, higher temperatures are not associated with higher failure rates. This is
a fairly surprising result, which could indicate that datacenter or server designers have more freedom than previously thought when setting operating temperatures for
equipment that contains disk drives. We can conclude
that at moderate temperature ranges it is likely that there
are other effects which affect failure rates much more
strongly than temperatures do.
Le figure cui fa riferimento sono illustrate a pagina 6.

Nel seguito della trattazione, invece, indica che le cause di rottura sono correlate a ricerca di errori e riallocazione. Il paper addirittura afferma

We find that the group
of drives with scan errors are ten times more likely to fail
than the group with no errors.

Tuttavia questi fattori sono difficilmente controllabili via software...

Secondo voi si potrebbe agire indirettamente su questi fattori?

ad esempio, bufferizzando la scrittura, e scrivendo quindi ad un rating minore, si minimizza la probabilità di errore in scrittura..?
altri suggests?

MM
24-09-2011, 12:42
Infatti quell'articolo di Google, a suo tempo quando fu pubblicato, spiazzò un po' tutti, indicando la temperatura come un "guaio minore" rispetto ad altre problematiche
A dire il vero stiamo parlando di server che generalmente lavorano in ambienti controllati ed in situazioni stabili; se parliamo di dischi casalinghi che magari superano i 50 gradi costantemente, sono convinto che è comunque un fattore di aumento di rischio non indifferente
Personalmente ho sempre pensato che, più che la temperatura alta (entro certi limiti) siano un fattore di rischio aumenti e diminuzioni di temperatura repentini ed incontrollati, proprio a causa dei problemi di dilatazione termica delle componenti meccaniche.

Un fattore di rischio è sicuramente l'alimentazione non costante, vale a dire con tensioni "ballerine", a causa di alimentatori non adeguati o magari vecchi ed esausti. Questo ha un impatto maggiore sulla parte elettronica ovviamente, ma gran parte dei guasti dei dischi riguardano proprio l'elettronica

In termini di meccanica lo stress maggiore è quello derivato da continui spostamenti della testina ed è opinione comune che i momenti più a rischi per un disco sono l'accensione e lo spegnimento.
In questi termini, per esempio, un defrag è stressante (ma fatto ogni tanto non è un veleno ;) ), è stressante il P2P che impone al disco letture e scritture continue in svariate parti del disco, con spostamenti repentini della testina di lettura/scrittura

Bufferizzare potrebbe essere, in teoria, un modo per diminuire le operazioni di scrittura, ma a regime le cose non cambiano molto, anche perché immaginando di bufferizzare grossi volumi di dati, niente dice che poi, al momento della scrittura, i dati da scrivere siano sequenziali e quindi la testina farà gli stessi spostamenti che avrebbe fatto se i dati fossero stati scritti al momento
Inoltre, in caso di server con molto traffico e molte richieste, il buffer si riempirebbe e da quel momento in poi non cambierebbe niente
Se poi si aggiunge che, in caso di improvvisa mancanza di tensione, i dati bufferizzati si perdono, non mi pare una soluzione

vankar
24-09-2011, 13:01
Infatti quell'articolo di Google, a suo tempo quando fu pubblicato, spiazzò un po' tutti, indicando la temperatura come un "guaio minore" rispetto ad altre problematiche
A dire il vero stiamo parlando di server che generalmente lavorano in ambienti controllati ed in situazioni stabili; se parliamo di dischi casalinghi che magari superano i 50 gradi costantemente, sono convinto che è comunque un fattore di aumento di rischio non indifferente
Personalmente ho sempre pensato che, più che la temperatura alta (entro certi limiti) siano un fattore di rischio aumenti e diminuzioni di temperatura repentini ed incontrollati, proprio a causa dei problemi di dilatazione termica delle componenti meccaniche.

Un fattore di rischio è sicuramente l'alimentazione non costante, vale a dire con tensioni "ballerine", a causa di alimentatori non adeguati o magari vecchi ed esausti. Questo ha un impatto maggiore sulla parte elettronica ovviamente, ma gran parte dei guasti dei dischi riguardano proprio l'elettronica

In termini di meccanica lo stress maggiore è quello derivato da continui spostamenti della testina ed è opinione comune che i momenti più a rischi per un disco sono l'accensione e lo spegnimento.
In questi termini, per esempio, un defrag è stressante (ma fatto ogni tanto non è un veleno ;) ), è stressante il P2P che impone al disco letture e scritture continue in svariate parti del disco, con spostamenti repentini della testina di lettura/scrittura

Bufferizzare potrebbe essere, in teoria, un modo per diminuire le operazioni di scrittura, ma a regime le cose non cambiano molto, anche perché immaginando di bufferizzare grossi volumi di dati, niente dice che poi, al momento della scrittura, i dati da scrivere siano sequenziali e quindi la testina farà gli stessi spostamenti che avrebbe fatto se i dati fossero stati scritti al momento
Inoltre, in caso di server con molto traffico e molte richieste, il buffer si riempirebbe e da quel momento in poi non cambierebbe niente
Se poi si aggiunge che, in caso di improvvisa mancanza di tensione, i dati bufferizzati si perdono, non mi pare una soluzione

Fantastica ed esauriente risposta. Valutando il fatto che i dischi resterebbero in sola scrittura durante quel periodo di tempo, senza accensioni/spegnimenti della macchina, credo che variazioni repentine della temperature non si avranno (stimo che la temperatura continuerà ad aumentare, senza calare mai, a meno di volute interruzioni una volta raggiunto uno stato di alert di temperatura).

Temo che il problema maggiore sarà quindi lo stress meccanico, dovuto al movimento rapido e continuo delle testine. Credete che sospendendo la scrittura a intervalli regolari, potrebbe rallentare il deterioramento del disco?

Per il buffer, dimensionandolo adeguatamente, non dovremmo avere problemi. Per lo spegnimento della macchina, se dovesse accadere la ricerca (e quindi la scrittura) potrà essere ripresa dall'ultimo elemento scritto su disco (quindi i dati nel buffer verrebbero recuperati). Ad ogni modo tale eventualità è poco probabile (se dovesse succedere, stimo sarebbe per la rottura dei dischi).

MM
24-09-2011, 13:36
Come dicevo prima, ma non ho spiegato completamente il mio pensiero, bufferizzando non diminuisco le operazioni di scrittura, faccio solo in modo di concentrarle in determinati momenti
Non ho supporto scientifico per questo, ma "a sensazione" credo che sia pure peggio ;)
Il motivo: ammettiamo di avere da scrivere "10 blocchi di dati" e le richieste, che arrivano da più parti, mi arrivino a distanza di 1 secondo l'una dall'altra (tanto per dare dei tempi)
Nel caso di una scrittura immediata la testina si sposterà 10 volte a distanza di un secondo, nel caso di bufferizzazione, la testina scriverà uno dietro l'altro i 10 blocchi in un tempo complessivo di... non saprei... ipotizziamo 2 secondi
Nel secondo caso lo stress, secondo me, è maggiore in quanto i movimenti saranni più repentini e ravvicinati nel tempo

Per contro, dimenticavo, con la feature NCQ, le richieste vengono filtrate ed ordinate, per minimizzare i tempi e gli spostamenti della testina
Vedi http://www.hardwaresecrets.com/article/315
Questo magari potrebbe deporre a favore della bufferizzazione, ma riuscire a prevedere cosa avverrà di fatto in casi di server utilizzati da più client è più difficile che prevedere che tempo farà tra un mese ;)
E' comunque tenere conto che, per quanto ne so, in caso di dischi in RAID la funzione NCQ non viene utilizzata

La questione della durata dei dischi è problematica: il guaio è che il comportamento dei dischi nel tempo non è prevedibile, anzi, i maggiori rischi vengono dai dischi nuovi, rispetto a dischi che hanno lavorato per magari 6/8 mesi (mi pare che ci sia un diagramma, in quell'articolo, che evidenzia questo fatto)
In pratica un disco nuovo è meno affidabile di un disco che ha 6 mesi di vita, questo perché se ci sono difetti congeniti (elettronici o meccanici) verranno a galla nei primi tempi di utilizzo (certe volte nei primi giorni)

Conclusioni? Forse nessuna visto che i parametri sono molteplici e quasi tutti con indici di prevedibilità che rasentano lo zero
So soltanto che sui server grandi ed importanti i dischi vengono cambiati sistematicamente nel giro di un anno o due, per limitare al massimo le "sorprese"

vankar
24-09-2011, 14:37
Come dicevo prima, ma non ho spiegato completamente il mio pensiero, bufferizzando non diminuisco le operazioni di scrittura, faccio solo in modo di concentrarle in determinati momenti
Non ho supporto scientifico per questo, ma "a sensazione" credo che sia pure peggio ;)
Il motivo: ammettiamo di avere da scrivere "10 blocchi di dati" e le richieste, che arrivano da più parti, mi arrivino a distanza di 1 secondo l'una dall'altra (tanto per dare dei tempi)
Nel caso di una scrittura immediata la testina si sposterà 10 volte a distanza di un secondo, nel caso di bufferizzazione, la testina scriverà uno dietro l'altro i 10 blocchi in un tempo complessivo di... non saprei... ipotizziamo 2 secondi
Nel secondo caso lo stress, secondo me, è maggiore in quanto i movimenti saranni più repentini e ravvicinati nel tempo

Per contro, dimenticavo, con la feature NCQ, le richieste vengono filtrate ed ordinate, per minimizzare i tempi e gli spostamenti della testina
Vedi http://www.hardwaresecrets.com/article/315
Questo magari potrebbe deporre a favore della bufferizzazione, ma riuscire a prevedere cosa avverrà di fatto in casi di server utilizzati da più client è più difficile che prevedere che tempo farà tra un mese ;)
E' comunque tenere conto che, per quanto ne so, in caso di dischi in RAID la funzione NCQ non viene utilizzata

Mi sembra di aver capito che useremo raid, in teoria raid5, onde evitare la perdita dei dati.

Per il buffer, credo di aver capito ciò che intendi. Proveremo a pensarci e a farci dei calcoli. La mia idea è che comunque, al fine di tenere controllate le temperature, una bufferizzazione ci debba pur essere. Credo che giocando sulle dimensioni del buffer si riesca ad ottenere un buon compromesso tra temperature e sforzo meccanico (il tutto partendo dal presupposto che senza buffer, la temperatura aumenta più rapidamente).

Inoltre la dimensione del buffer potrà essere modificata a runtime (eventualmente si potrebbe pensare di diminuirne la dimensione nel tempo, così da limitare gli stress meccanici proseguendo nel tempo e aumentare gli incrementi di temperatura concentrandoli verso la fine della memorizzazione).


utilizzando una distribuzione linux, e quindi una formattazione di tipo ext4, in teoria, si andrebbero a scrivere dati in blocco in celle adiacenti, minimizzando, sempre in linea teorica, i movimenti delle testine in scrittura