Newsgroup: it.comp.os.linux.sys
Titolo: RAID5 + HS o Raid6

Dunque, mi deve arrivare un serverino con 5 dischi da 146GB.
Meglio fare Raid 5 + 1 hotspare o fare un raid 6?
Sia come performance, sia come sicurezza.
Se non erro, il raid 5 salva la parità sia su ogni disco, sia su un
disco dedicato.
Per cui perdita dei dati si avrebbe solo nel caso si rompesse il disco
di parita contestualmente ad un altro disco della catena. In tal caso
non sarebbe più possibile ricostruire i dati.
Se si rompe solo la parità, dovrei essere protetto. Se si rompe un
disco, dovrei essere protetto ugualmente: i dati sarebbero ricostruiti
dal disco di parità.
Aggiungendo un HS dovrei avere ridondanza maggiore.
Un raid6, con doppia parità, è più sicuro? Dovrebbe però essere meno
performante dato che la parità va scritta su due dischi anzichè 1.
Un vantaggio però potrebbe essere quello di avere il disco di
emergenza subito attivo, nel caso di hotspare invece, esso entrerebbe
in funzione solo con il guasto di uno dei dischi della catena ed in
tal caso bisogna ricostruire tutti i dati sopra di esso e nulla
impedisce che si possa rompere un secondo disco prima che la
ricostruzione del disco hotspare abbia avuto termine.
Che consigliate?

 Che consigliate?
Per dischi da 146GB non è un grosso problema, e le due soluzioni sono 
sostanzialmente coincidenti. Al limite c'è la considerazione che il 
disco HS potrebbe rivelarsi non funzionante giusto quando serve, dato 
che sta fermo per parecchio tempo, mentre in RAID6 lo stai usando e se 
si deve scassare si scassa. Ma statisticamente penso che siamo sullo 
stesso piano, perlopiù.
Per dischi di capacità maggiore (750GB, 1TB ecc) particolarmente se SATA 
(e quindi più lenti) molto più consigliabile il RAID6: un disco da 1TB 
per esser riallineato può impiegare anche una giornata, e se l'array è 
in RAID5, sei per tutto quel tempo con il culo alla finestra...
-- 
http://bofhskull.wordpress.com/

 Che consigliate?
Personalmente preferisco RAID-6, anche se con 6
dischi ha un overhead "visibile".
Infatti avrai la capacita` di 4 dischi.
D'altro canto un RAID-5 con HS in 6 dischi ha lo
stesso overhead, con meno sicurezza.
bye,
-- 
piergiorgio

 in RAID5, sei per tutto quel tempo con il culo alla finestra...
Pronto ad essere spinto di sotto, o a prendere freddo?!?

 Meglio fare Raid 5 + 1 hotspare o fare un raid 6?
Con soli 5 dischi spezzerei una lancia a favore di RAID 10. La
perdita di spazio e' contenuta, affidabilita' e disponibilita'
sono quasi come il 6 (anche meglio, se puoi usare il quinto hd
come hot-spare) e le prestazioni sono nettamente migliori. Non
hai detto la destinazione d'uso, quindi vedi tu (ovviamente).
Fabio

 prestazioni sono nettamente migliori.
Anche io concordo sul 10...con un solo disco in piu' guadagni in tutto 
(prestazioni ed affidabilita').
Pier

 hai detto la destinazione d'uso, quindi vedi tu (ovviamente).
purtroppo ho solo 5 dischi da 146 e con un raid10 otterrei solo 350
giga di spazio.
non che mi serva tutto ma con 10 o 15 macchine virtuali ad uso interno
lo spazio potrebbe scarseggiare.
non so, potrei fare raid 10 con hotspare ed eventualmente convertire
in raid5 se finisco lo spazio. devo valutare.
rimarrebbe però il fattore sfiga con l'hotspare se muore sul più
bello.
piuttosto, meglio raid10 o raid1 con lvm? presumo raid, così facendo
la controller raid si occupa di fare tutto ed il kernel fa altro senza
pensare ad lvm.
l'uso, come detto, è un nodo xen per visualizzare circa 15 server ad
uso nostro, non di clienti.
in futuro finirà in un pool xen con san esterna.

 come hot-spare)
Affidabilità e disponibilità non sono mai pari o migliori del raid 6, per 
nessun livello di raid. Il raid 10 protegge (deterministicamente) sempre e 
comunque solo dal fail di un disco.
-- 
Flavio Visentin
Scientists have finally discovered what's wrong with the female brain:
On the left side, there is nothing right, and on the right side, there
is nothing left.

 comunque solo dal fail di un disco.
Già, bisogna però valutare quanto tempo impiega lo spare ad
entrare in funzione, perchè in quel lasso di tempo, si potrebbe
rompere
un secondo disco.
Comunque, il raid 10 protegge dalla rottura di 2 dischi, uno per ogni
raid1...
L'importante è che i dischi si spacchino alternati, ovvero 1 disco nel
primo raid1 ed
1 disco nel secondo raid1. Che dici, se metto una etichetta sopra il
disco con scritto:
"non ti rompere" lui mi ascolta?
Le differenze prestazionali sono così visibili tra raid 10 e raid 6?

 raid1...
Occhio, però: AFAIK il raid10 è cosa diversa dal raid1+0 e dal raid0+1...
http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10
-- 
Bye, Lem
Ceterum censeo ISLAM esse delendum
____________________________________________________________________________
Non sprecare i cicli idle della tua CPU: 
http://boinc.berkeley.edu/index.php

 sempre e comunque solo dal fail di un disco.
Il raid 10 protegge dal fail di un disco di ogni mirror.
Un raid 10 di 8 dischi, se tutto va bene, protegge fino a 4 dischi andati.
Col raid 1 volendo si possono fare n-level raid 1 (comune e' il triple 
mirror). 
Il raid 5 era nato per dare una soluzione meno costosa ma quasi simile al 
raid 1 ai tempi in cui i dischi costavano parecchio...il raid 6 per 
aggiungere un po' piu' di affidabilita' al raid5.
Pier

 aggiungere un po' piu' di affidabilita' al raid5.
Beh, mica solo un po'. Raid 5 andati a puttane per la rottura di due dischi 
ne ho visti diversi (la maggior parte delle volte per incuria, ma anche 
quello fa parte del gioco).
Un raid6 invece è molto più resistente, perché le probabilità che si rompano 
3 dischi nel tempo che ci impieghi a sostituire e ricostruire uno dei dischi 
guasti sono veramente bassissime. È più probabile che ti si sputtani lo 
storage per qualche altro motivo (a me è si è corrotto tutto per un banale 
Gbic andato a donne di facili costumi, ma non abbastanza :-) )
Le performance dei due oggigiorno sono praticamente identiche, almeno su 
storage.


 storage.
A be, allora vado con un raid6....
Ci devono girare 10-15-20 VM, preferisco avere affidabilità...

 Le differenze prestazionali sono così visibili tra raid 10 e raid 6?
Non credo, ma c'e` da dire anche che aggiungere un
disco ad un RAID-6, per aumentarne la capacita`, e`
possibile, ma per un RAID-10 potrebbe essere piu`
difficile, se non impossibile.
bye,
-- 
piergiorgio

 identiche, almeno su storage.
Da mie prove veloci, su una stessa macchina con dischi sas da 10k, la 
differenza fra il raid 5 e il 10 era di circa 10mbyte/s in scrittura 
sequenziale e un migliaio di IOPS in random (entrambi a favore del 10).
Dipende sempre di cosa uno ha bisogno.
Pier

 differenza fra il raid 5 e il 10 era di circa 10mbyte/s in scrittura 
La differenza era tra raid 5 e raid 6. Ovvio che un raid 10 sia più veloce 
di entrambi. C'è anche da dire che su storage decente le differenze sono 
pressoché nulle data la presenza di abbondante cache.


 raid 1 (magari multi level).
Nemmeno quello. Anche in quel caso possono esserci le stesse corruzioni di 
cui sopra.


 uso continua a funzionare senza problemi.
Io parlavo di raid10 con spare.
Non di raid6, che, ovviamente, non ha spare.

 pressoché nulle data la presenza di abbondante cache.
(esco un po dal topic, ma su un cluster drbd, l'equivalente della
cache dei controller degli storage, è la RAM?
Non si può usare la ram come cache? Magari con qualche modulo del
kernel o qualche applicativo da installare...
E' una cosa che non ho mai provato a fare ma sarei curioso di sapere
se fosse possibile)

 raid 1 (magari multi level).
Di che corruzione parli?
Se il controller corrompe i dati, raid1,5 o 6 non servono a niente, i
dati vengono scritti corrotti e basta.
Il raid ti protegge da guasti ai dischi, non da eventuali corruzioni
di dati.....

 Non di raid6, che, ovviamente, non ha spare.
Sai, c'e` gente che confonde RAID-6 con RAID-5 + HS,
oppure con RAID-5E/EE...
bye,
-- 
piergiorgio

 oppure con RAID-5E/EE...
E che diavolo è?
Mai sentito.

 Mai sentito.
Su wikipedia è spiegato. E' un raid di IBM che è un raid 5 con "hot spare 
distribuito".


 Mai sentito.
RAID-5E e` un RAID-5 in cui alla fine di
ogni HD c'e` abbastanza libero totale da
poter essere usato come "spare" in caso
che un disco si rompa.
RAID-5EE e` un RAID-5 in cui lo spazio
libero, sempre sufficiente per rimpiazzare
un disco, e` distribuito fra i vari HD,
come la parita`.
Quindi un RAID-5E/EE ha la capacita` di n-2
HD, come per un RAID-6.
La differenza con un RAID-5 + HS e` che i
dischi sono sempre tutti in uso, quindi si
e` sicuri (?) che in caso di rottura di uno
lo spazio sostitutivo sia gia` in funzione.
http://www.snia.org/tech_activities/standards/curr_standards/ddf/SNIA-DDFv1.2.pdf
bye,
-- 
piergiorgio

  Non si può usare la ram come cache?
Viene *sempre* usata come cache. Se il sistema è usato come storage però mi 
pare si possa fare un po' di tuning sull'uso della cache e della RAM da 
parte del kernel.


 ogni HD c'e` abbastanza libero totale da
eh? "...abbastanza *spazio* libero..."
bye,
-- 
piergiorgio



A volte prima che i dischi si rompano del tutto, questi potrebbero 
ritornare dei dati non corretti (se mi ricordo bene si chiama partial 
media failure o qualcosa del genere), facendo scrivere magari una parita' 
sbagliata, propagando l'errore.
E' per quello che solaris per esempio sui raid5 software fa il checksum 
di ogni blocco scritto e letto sul disco...anche emc mi sembra aggiunge 
un checksum su ogni blocco.
Vorrei chiarire che non dico che il raid 5-6 non vada bene, ma se la 
sicurezza dei dati e' tutto io preferisco altri raid. Tutto qua.
Pier

 sicurezza dei dati e' tutto io preferisco altri raid. Tutto qua.
In questo specifico contesto, meglio RAID-6 rispetto
RAID-1 con 3 dischi.
Infatti se hai un soft error come fai a sapere su
quale disco e` capitato?
Con RAID-1 a 3 dischi, l'unica e` selezionare i 2
uguali come non rovitano, il che potrebbe non essere
corretto, anche se lo e` probabilmente.
Con un RAID-6, invece, e` possibile determinare il
disco rovinato, oppure l'incertezza (2 o piu`).
Vi e` sempre una possibilita` di risolvere in maniera
errata la cosa, ma e` molto meno probabile.
bye,
-- 
piergiorgio

 uguali come non rovitano, il che potrebbe non essere
miiii! "...non rovinati..."
bye,
-- 
piergiorgio

 rompevano almeno 3/4 al giorno?
Non pensavo che si arrivasse a mettere assieme un numero così elevato di
dischi in un unico storage, ma che i dati venissero suddivisi su più storage
separati (sono abituato ad avere come clienti ditte medio-piccole, per cui
certe esigenze non si sono mai poste). Hai qualche link di questi mega
storage giusto per curiosità?
Mi sono sempre chiesto come gestiscano ad esempio banche o simili le grosse
quantità di dati e soprattutto garantire che neanche una transazione venga
persa.

 persa.
Oggigiorno le banche in genere hanno sistemi i/zSeries IBM o Sun con comuni 
storage di classe enterprise, come l'IBM DS8100. Raramente oggi da noi si 
vedono più di 3/4 armadi per lo storage dato che i dischi sono da 300/450GB 
e di spazio ce n'è in abbondanza. L'integrità dei dati è garantita dal DB e 
a livello applicativo come in tutti gli altri casi; un DB ben ingegnerizzato 
può scalare senza molti problemi fino a diversi TB, e comunque i dati "vivi" 
non sono in genere tantissimi rispetto al totale.


 cache dei controller degli storage, è la RAM?
Si, essendo visto come disco locale anche in modalità diskless.
-- 
ValeRyo
CBR600F "Cerbero" - 
http://www.slimmit.com/go.asp?6YT
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png
 

 di un disco.
"Deterministicamente" e' una parola priva di senso in un ambito 
totalmente
dominato dalla statistica e calcolo delle probabilita' :-) Le 
probabilita'
che un secondo (o terzo, o...) guasto in un raid 10 degradato si 
verifichi
in uno dei set ancora integri, senza pregiudizio per la funzionalita' 
[2],
e' statisticamente rilevante.
Fabio
[1] e sono anche un po' arruginito, se vogliamo dirla tutta
[2] ne per le prestazioni

 dominato dalla statistica e calcolo delle probabilita' :-) Le probabilita'
Nessun calcolo delle probabilita`.
Per esempio, un RAID-5 protegge *deterministicamente*
contro la rottura di un solo disco.
Un RAID-10 protegge *deterministicamente* contro la
rottura di un disco e *statisticamente* contro la
rottura di ... due, per esempio.
Un RAID-6 protegge *deterministicamente* contro la
rottura di 2 dischi.
In altre parole, la probabilita` di rottura di uno
o piu` dischi e` cosa diversa dalla certezza o meno
di sopravvivere all'evento.
Cioe` *apriori* hai probabilita`, ma *aposteriori*
hai sopravvivenza (o meno) deterministica.
bye,
-- 
piergiorgio

 rottura di 2 dischi.
Certo, ma continua a sfuggirmi come questo approccio posa essere
utile per misurare e confrontare l'affidabilita'. Non vorrei che
si stesse parlando di cose diverse.
Fabio

 si stesse parlando di cose diverse.
Direi che, nello specifico RAID-6 vs. RAID-10, hai
con il primo la resistenza contro la rottura di due
dischi, indipendentemente da quali due. Mentre con
il secondo, in configurazione "classica", hai la
certezza di resistere contro la rottura di *un*
disco, ed un certa probabilita` di resistere alla
rottura di due.
Detto statisticamente, P(n), dove P e` la probabilita`
di sopravvivere ed "n" numero di dischi rotti, sara`,
per RAID-6 P(2) = 1, per RAID-10 P(2) < 1.
Cioe` la probabilita`, per RAID-6, di resistere
alla rottura di due dischi e` "1", cioe` e` certo,
mentre per un RAID-10 e` < 1, cioe` hai dei casi
in cui l'array muore per la perdita di due dischi.
Quindi RAID-6 e` piu` affidabile di RAID-10.
Nota che questo e` assolutamente indipendente dalla
probabilita` di rottura di un disco (o piu`), in
quanto stiamo considerando la situazione in cui,
*aposteriori*, abbiamo due dischi rotti.
Se ogni array e` fatto da "n" dischi, bisogna prendere
tutte le combinazioni possibili di due dischi rotti,
e, per il RAID-10, verificare quali consentono al
tutto di funzionare e quali no.
Dal rapporto fra casi "OK" e tutti i casi possibili si
ricava P(2).
In particolare, con 4 dischi, ci sono 6 combinazioni
di 2 dischi rotti (0 rotto, 1 funzionante).
00 11
01 01
01 10
10 01
10 10
11 00
Se hai un mirror di stripe, 01 01, 10 10, 01 10 e 10 01
sono fatali, quindi P(2) = (6-4)/6 = 2/6 = 1/3
Se hai uno stripe di mirror, 11 00 e 00 11 sono fatali,
quindi P(2) = (6-2)/6 = 4/6 = 2/3
Ammesso che abbia fatto i conti giusti... :-)
Con un RAID-6 nessuna combinazione e` fatale, quindi P(2) = 1
Ovviamente, si potrebbe fare un RAID-10, con mirror a 3
dischi, per esempio, per cui P(2) = 1 e magari 0 < P(3) < 1,
mentre, per RAID-6, P(3) = 0 sempre.
In questa situazione, pero`, l'efficienza di storage diminuisce,
quindi bisogna valutare il tutto considerando cosa interessa e
la probabilita` di rottura di "n" dischi.
bye,
-- 
piergiorgio

 la probabilita` di rottura di "n" dischi.
Ma sarebbe comunque un raid6 vs raid10, no? Stai confrontando casi
particolari e non generali. E se lo facessi a parita' di capacita'
dovremmo tenere in conto che con raid10, per esempio, avremmo piu'
dischi, e quindi una maggiore probabilita' di una seconda rottura,
e la stessa cosa accadrebbe con il mirror a tre dischi.
Ti ringrazio dello scambio di idee, penso che sia la risposta piu'
lunga e articolata che abbia mai avuto su usenet :-) ma, comunque,
la vediamo diversamente su come valutare l'affidabilita'. Se vuoi,
e se non lo conosci gia', prova a leggere "RAID: High-Performance,
Reliable Secondary Storage" di Chen, Lee, Gibson, katz, Patterson.
Non ho un link ma lo dovresti trovare facilmente. [Patterson88] e'
un riferimento in bibliografia che potrebbe essere propedeutico.
Ciao
Fabio
PS: e' meglio fare uno stripe di mirror :-)

 PS: e' meglio fare uno stripe di mirror :-)
Infatti, anche i conti lo hanno confermato!
bye,
-- 
piergiorgio