Formula per calcolare la probabilità di errore di lettura irrecuperabile durante la ricostruzione RAID


12

Voglio confrontare l'affidabilità dei diversi sistemi RAID con le unità consumer (URE / bit = 1e-14) o enterprise (URE / bit = 1e-15). La formula per avere la probabilità di successo di una ricostruzione (ignorando i problemi meccanici, che terrò più avanti in considerazione) è semplice:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

È importante ricordare che questa è la probabilità di ottenere ALMENO un URE, non necessariamente solo uno.

Supponiamo di volere 6 GB di spazio utilizzabile. Possiamo ottenerlo con:

  • RAID1 con 1 + 1 dischi da 6 TB ciascuno. Durante la ricostruzione rileggiamo 1 disco da 6 TB e il rischio è: 1- (1-1e-14) ^ (6e12 * 8) = 38% per i consumatori o 4,7% per le unità aziendali.

  • RAID10 con 2 + 2 dischi da 3 TB ciascuno. Durante la ricostruzione rileggiamo solo 1 disco da 3 TB (quello abbinato a quello fallito!) E il rischio è inferiore: 1- (1-1e-14) ^ (3e12 * 8) = 21% per il consumatore o 2,4% per unità aziendali.

  • RAID5 / RAID Z1 con 2 + 1 dischi da 3 TB ciascuno. Durante la ricostruzione rileggiamo 2 dischi da 3 TB ciascuno e il rischio è: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% per i consumatori o 4,7% o unità aziendali.

  • RAID5 / RAID Z1 con 3 + 1 dischi da 2 TB ciascuno (spesso utilizzati dagli utenti di prodotti SOHO come Synologys). Durante la ricostruzione rileggiamo 3 dischi da 2 TB ciascuno e il rischio è: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% per i consumatori o 4,7% o unità aziendali.

Il calcolo dell'errore per la tolleranza del singolo disco è facile, più difficile è calcolare la probabilità con i sistemi tolleranti a guasti di più dischi (RAID6 / Z2, RAIDZ3).

Se per la ricostruzione viene utilizzato solo il primo disco e il secondo viene letto di nuovo dall'inizio nel caso in cui o un URE, la probabilità di errore è quella calcolata sopra la radice quadrata (14,5% per RAID5 2 + 1 consumer, 4,5% per consumatore RAID1 1 + 2). Tuttavia, suppongo (almeno in ZFS che abbia checksum completi!) Che il secondo disco di parità / disponibile sia letto solo dove necessario, il che significa che sono necessari solo pochi settori: quanti URE possono eventualmente accadere nel primo disco? non molti, altrimenti la probabilità di errore per i sistemi di tolleranza a disco singolo salirebbe alle stelle anche più di quanto calcolato.

Se avessi ragione, un secondo disco di parità avrebbe praticamente ridotto il rischio a valori estremamente bassi.

Domanda a parte, è importante tenere presente che i produttori aumentano la probabilità di URE per le unità di classe consumer per motivi di marketing (vendono più unità di classe enterprise), quindi anche gli HDD di classe consumer dovrebbero raggiungere 1E-15 URE / bit di lettura .

Alcuni dati: http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

I valori che ho fornito tra parentesi (unità aziendali) si applicano quindi realisticamente anche alle unità consumer. E le unità aziendali reali hanno un'affidabilità ancora maggiore (URE / bit = 1e-16).

Per quanto riguarda la probabilità di guasti meccanici, sono proporzionali al numero di dischi e proporzionali al tempo necessario per la ricostruzione.


1
Ciao Olaf! Per quanto mi riguarda, questa domanda sembra un po 'troppo specifica per l'hardware del computer per adattarsi alla matematica , ma potresti chiedere sul loro meta sito se vorrebbero avere la tua domanda. In tal caso, contrassegna di nuovo e saremo felici di migrarlo per te!
slhck,

2
Come si arriva esattamente al 38% di probabilità URE per RAID5 con 3 unità? Usando URE = 10 ^ 14, HDD = 3.5 * 1024 ^ 4 byte ottengo URE del 3,8% per unità e 11,1% per URE durante la ricostruzione. Cioè: 100 * (1- (1- (hdd / ure)) ^ 3). Penso che i tuoi numeri siano un po 'spenti (anche se il tasso di fallimento pratico è superiore a quanto dichiarato dai produttori). Poiché i tassi di errore sono indicati per bit letti per unità e non per bit letti, penso che la parte in cui usi ^ bit_read sia errata. Forse dai maggiori dettagli su come hai calcolato quelle probabilità? +1 per una domanda interessante. cs.cmu.edu/~bianca/fast07.pdf
Ярослав Рахматуллин

Aggiunte informazioni e calcoli controllati.
FarO,

Risposte:



2

Esistono numerosi siti e articoli che tentano di rispondere a questa domanda.

Questo sito ha calcolatori per livelli RAID 0, 5, 10/50/60.

L'articolo di Wikipedia sui livelli RAID contiene sezioni sui tassi di errore RAID 0 e RAID 1.

RAID 0 :

L'affidabilità di un determinato set RAID 0 è uguale all'affidabilità media di ciascun disco divisa per il numero di dischi nel set:

Cioè, l'affidabilità (misurata dal tempo medio al fallimento (MTTF) o dal tempo medio tra guasti (MTBF)) è approssimativamente inversamente proporzionale al numero di membri - quindi un set di due dischi è circa la metà affidabile di un singolo disco. Se ci fosse una probabilità del 5% che il disco si guastasse entro tre anni, in un array a due dischi, tale probabilità sarebbe aumentata a {P} (almeno uno fallisce) = 1 - {P} (nessuno dei due fallisce) = 1 - (1 - 0,05) ^ 2 = 0,0975 = 9,75%.

RAID 1 :

Come esempio semplificato, prendere in considerazione un RAID 1 con due modelli identici di un'unità disco, ciascuno con una probabilità del 5% che il disco si danneggi entro tre anni. A condizione che i guasti siano statisticamente indipendenti, la probabilità di guasto di entrambi i dischi durante la durata di tre anni è dello 0,25%. Pertanto, la probabilità di perdere tutti i dati è dello 0,25% su un periodo di tre anni se non viene fatto nulla sull'array.



Inoltre ho trovato diversi articoli di blog su questo argomento tra cui questo che ci ricorda che le unità indipendenti in un sistema (l'I in RAID) potrebbero non essere così indipendenti dopo tutto:

La teoria ingenua è che se il disco rigido 1 ha probabilità di guasto 1/1000 e così anche il disco 2, allora la probabilità che entrambi si guastino è 1 / 1.000.000. Ciò presuppone che i fallimenti siano statisticamente indipendenti, ma non lo sono. Non puoi semplicemente moltiplicare probabilità del genere a meno che i fallimenti non siano correlati. Assumere erroneamente l'indipendenza è un errore comune nell'applicare la probabilità, forse l'errore più comune.

Joel Spolsky ha commentato questo problema nell'ultimo podcast StackOverflow. Quando un'azienda crea un RAID, può prendere quattro o cinque dischi che sono usciti dalla catena di montaggio insieme. Se uno di questi dischi presenta un leggero difetto che ne causa il fallimento dopo circa 10.000 ore di utilizzo, è probabile che lo facciano tutti. Questa non è solo una possibilità teorica. Le aziende hanno osservato che gruppi di dischi si sono guastati nello stesso momento.

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.