Newsgroup: it.comp.os.linux.sys
Titolo: Re: [IL] Raid10 vs. Raid5


Effettivamente è interessante e concordo, anche se dipende veramente 
molto dai dischi che si intende usare, o meglio, dal costo che hanno
Molto illuminante anche il discorso su 10 e 01 che non avevo mai 
considerato da quel punto di vista
A lettura fatta effettivamente RAID 10 tutta la vita ...
thx per il link
Marco

 A lettura fatta effettivamente RAID 10 tutta la vita ...
Se hai da poter buttare via il 50% dei dischi.
Con 6 dischi da 1TB in Raid10 fai 3TB usabili, in
raid5 ne fai 5 di tera.
Secondo me, non ha senso come raffronto, imho le
due versioni di raid si usano in ambiti differenti.
Avrebbe più senso un raffronto tra RAID-10, RAID-01 e
RAID1+LVM
-- 
Non tocca a noi dominare tutte le maree del mondo,
il nostro compito è di fare il possibile per la
salvezza degli anni nei quali viviamo,
sradicando il male dai campi che conosciamo.

 usano in ambiti differenti.
Secondo me non hai letto l'articolo fino in fondo. :)
Un disco da 1 TB costa tra i 40 e i 300 euro (dipende dalla tecnologia). 
Facciamo 250 come media per un disco da server.
Se vuoi avere 5 TB prendi 10 dischi e li metti in RAID10 (tot 2500 euro) 
o 6 dischi e li metti in RAID5 (tot 1500 euro).
Se, come e` successo all'autore, causa partita difettosa ti parte un 
secondo disco mentre stai ricostruendo il RAID5 (che, sempre secondo lui, 
e` molto piu` lento e "intensivo" per i dischi, e quindi e` piu` alta la 
probabilita` che succeda), quei 1000 euro di differenza li spendi 
moltiplicati per 10 o per 100 in:
- tempo perso per i sysadmin per la reinstallazione e il recupero dai 
backup
- tempo di fermo macchina in cui i client non possono lavorare
In pratica, anche economicamente, e` molto rischioso.
Bye.
P.S.: OK, c'e` da contare anche il consumo maggiore di 10 dischi rispetto 
a 6, e i problemi di "spazio" nel server o nella SAN/NAS... :)

Facciamo 250 come media per un disco da server.
Io per i dischi da server vedo prezzi molto più alti.
-- 
Ci sono 10 tipi di persone al mondo: quelle che capiscono il sistema binario
e quelle che non lo capiscono.

 Secondo me non hai letto l'articolo fino in fondo. :)
Non ho aperto nemmeno il link, stavo rispondendo alla
massima "RAID 10 tutta la vita"
Non sarei così estremista, tutto qui.


> In pratica, anche economicamente, e` molto rischioso.
Però non ci dimentichiamo anche l'alternativa del RAID6 con due parità, 
a mio avviso estremamente sicuro ed al tempo stesso economico (consumi 2 
dischi su tutto l'array).
Ovvio che diventa inutile con 4 dischi (fai un 1+0 in quel caso), 
abbastanza utile con 6 dischi (ne perdi "solo" un terzo) ed estremamente 
utile con una decina di dischi. Poi, se sale il numero di dischi puoi 
aggiungere sempre hotspare, però francamente TRE dischi che si guastano 
insieme sono abbastanza rari.
Magari potremmo fare un altro discorso: "storage accesi da >10 anni". 
Allora lì uno spegnimento danni ne può fare.
Cmq anche nei consigli di IBM per gli storage c'è la voce "acquistare i 
dischi preferibilmente da partite diverse", e molti fornitori sono 
attrezzati per rispondere a questa richiesta che di primo acchito sembra 
bizzarra, ma non lo è affatto.

 dischi su tutto l'array).
Io su catene a 6 dischi uso sempre un RAID-6
Non ho mai avuto problemi, sinceramente.


 In pratica, anche economicamente, e` molto rischioso.
Se non puoi permetterti questo rischio la soluzione c'ï¿œ e non ï¿œ il
raid10 ma ï¿œ il raid6.
Sullo storage ci sono molte teorie, ma c'ï¿œ un abisso tra la teoria e la
pratica.
Se parli con un esperto EMC ti dirï¿œ che il raid5 va fatto sempre a
gruppi di 5 dischi sparpagliati sui vari cassetti e va creato un HS ogni
3 raid5. Poi ti dirï¿œ che in base all'uso creerai dei volumi raid5 e
altri raid10, ma dei dischi in raid10 non li usi tutti ma usi solo i
primi tre quarti di spazio e lasci il quarto rimanente inutilizzato
(questo per abbassare i tempi di latenza). Inoltre se hai un DB crei un
raid10 aggiuntivo su SSD dedicato agli indici ed ai log in modo da
accelerare le ricerche. E ovviamente crei uno zoning che bilanci
correttamente i percorsi dalle varie macchine.
Dopo aver fatto questa bella discussione, assolutamente corretta da un
punto di vista accademico, gli chiedi quanto costano 10TB di spazio cosï¿œ
strutturati per un'infrastruttura vSphere per 50 VM e quando ti spara
500Kï¿œ di listino svieni.
Poi scopri che nel 99% dei casi acquistando un normalissimo IBM DS3500
opportunamente dimensionato e creandoti diversi comunissimi raid5 per i
vari vmfs spendi 50Kï¿œ ed hai una penalizzazione rispetto al sistema EMC
di prima inferiore al 10% che compensi acquistando piï¿œ ram sulle macchine.
Ad ogni uso il suo raid e il raid10 ï¿œ inutile in un buon 90% dei casi
comuni.
-- 
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.

 presumo siano dovute alla vetustità
<temperacazzi>
vetustà
</temperacazzi>
:o)

 raid10 ma è il raid6.
Non dico certo che RAID5 o RAID6 non abbiano senso, anzi. E non sono uno 
"zelota" del RAID10 (che finora non ho mai avuto occasione di usare, tra 
l'altro, preferendo fare RAID1 per poi montarli su mountpoint diversi)
Pero` personalmente mi sento piu` sicuro con un mirror piuttosto che con 
un sistema basato su checksum.
 
Bye.

raid10 ma è il raid6.
Nel caso del RAID6 (4+2), effettivamente non ho nessun disco critico -
la prima volta. Facendo un conto sbagliato, ma veloce, la probabilita'
di un crash su un RAID6 guasto e' P^2 (una su un milione con dischi di
qualita' pessima, p=0.001), mentre e' P*30% per il RAID10: probabilità
P che si guasti un secondo disco, e poi 30% di beccare uno dei due fra
sei superstiti dove il danno e' letale.
Azzarderei RAID6 per la sicurezza, e RAID10 per le performance.
Leonardo
-- 
Enough, enough!  But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!

 Azzarderei RAID6 per la sicurezza, e RAID10 per le performance.
Decisamente. Ogni raid ha un suo ambito d'utilizzo ideale. Raid0 per le
performance senza sicurezza, Raid5 per l'economicità, Raid6 per la
sicurezza, Raid10 per le performance.


THe_ZiPMaN wrote:


Raid 5 + spare no?
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
www.robyt.eu

 Raid 5 + spare no?
Dovendo "sprecare 2 dischi" sempre meglio il raid6 imho, almeno non sei 
con le chiappe all'aria durante il rebuild.

 Raid 5 + spare no?
   Solo se il controller non supporta il Raid6[1] (IMHO): usi lo stesso 
numero di dischi ma non ne hai nessuno spento. Con un disco spento hai 
due rischi, secondo me:
1) Che il disco si sia *gia* rotto pur rimanendo spento (poco probabile 
ma non impossibile)...
2) C'e' comunque un tempo non coperto tra la rottura del primo disco e la 
ricostruzione di tutto l'array: in questo tempo potrebbe rompersi un 
secondo disco. Col raid6 non hai questo tempo morto...
Vh...
[1] - I controller dei vecchi Proliant DL380 (p400 mi pare, a memoria), 
ad esempio, supportano il 5+1 ma non il 6...
-- 
                          |
\|/ ____ \|/   \ ||_|     | If you can walk and chew gum 
"@'/ ,. \`@"    \|| |     | at the same time, 
/_| \__/ |_\ Vax Headroom | you can run Linux
   \__U_/                 |

 secondo disco. Col raid6 non hai questo tempo morto...
E soprattutto per array di dischi SATA (ovvero lenti) di grosse
dimensioni, è un tempo tutt'altro che irrilevante.
-- 
Paranoia is a disease unto itself. And may I add: the person standing
next to you may not be who they appear to be, so take precaution.
-----------------------------------------------------------------------------
http://bofhskull.wordpress.com/

 dimensioni, è un tempo tutt'altro che irrilevante.
   In effetti ho un NAS da 12 dischi SATA in Raid6 che sta ravanando da 
ieri pomeriggio e sta appena all'84%...
Vh
-- 
                          |
\|/ ____ \|/   \ ||_|     |   Ogni viaggio, anche il piu` lungo
"@'/ ,. \`@"    \|| |     |   inizia con il primo passo...
/_| \__/ |_\ Vax Headroom |
   \__U_/                 |

 Ricomincero' a farlo...
Ci son vantaggi e svantaggi.
Gli eventi più traumatici per i dischi sono proprio i passaggi da
attività ad inattività (e viceversa). Quindi tra un disco che rimane in
funzione 24h/24 per 365 giorni/anno e uno che ogni 11 mesi viene fermato
per 1 mese, il secondo ha più probabilità di lasciarti a piedi.
Il vantaggio, ovviamente, è che perlomeno te ne accorgi per tempo...


 rispetto a 6, e i problemi di "spazio" nel server o nella SAN/NAS...
Anche :-)
E come al solito dipende dall'applicazione: un buon raid6 potrebbe
essere la soluzione.
-- 
ValeRyo
XT600 "Katoki Pajama" - 
http://www.slimmit.com/go.asp?7Y9
GamerTag: 
http://card.mygamercard.net/IT/nxe/ValeRyo76.png
 

Cristian "sengo" Mammoli wrote:

Ma leggevo che le prestazioni sono abbastanza più basse del 6 rispetto al 5


 /me maledisce ${DIVINITA}
LOL


 Ma leggevo che le prestazioni sono abbastanza piï¿œ basse del 6 rispetto al 5
Non ho mai fatto benchmark, ma con un controller decente non ho notato 
decadimento di prestazioni apprezzabile rispetto al raid5

 'nzomma... dove lo trovi un SAS 15k 1Tb a 250 euro?
Nelle patatine ne ho trovati due!!! :)
Ieri ho comprato 4 SAS da 15k e 300Gb su esprinet, per circa 340€ (cad.).

Ma leggevo che le prestazioni sono abbastanza più basse del 6 rispetto al 5
Via software, senz'altro.
Ma via hardware (o con una macchina che non ha altro da fare [1])...
Leonardo
[1] e ha un controller serio, no "tutto sullo stesso canale e ìsati"


 
e' che devo configurare la san e non so se mettere 6 dischi in raid 5 + 2 
spare o 7 in raid 6 + 1 spare


 rispetto al 5
La mia esperienza con nas Qnap (quindi raid software) sono raid 6 lento
quasi inutilizzabile, raid 5 ok.
-- 
Vincenzo

 Be', non proprio: e' (1-(1-P)^4)/P. Per P=0.001, e' 3.994 a 1.
Come hai calcolato questa formula?

 + 2 spare o 7 in raid 6 + 1 spare
Se il processore lo consente, n6+s1.


Come hai calcolato questa formula?
Voglio sapere la probabilita' A che UN disco si guasti. Questa e'
l'inverso della probabilita' B che NESSUN disco si guasti:
	A = 1-B
E la probabilita' che nessun disco si guasti e' data dal prodotto
della probabilita' che il primo disco "non" si guasti, per quella
del secondo, del terzo, ecc. Le probabilita' sono uguali e quindi
e' la probabilita' che un disco "non" si guasti elevata al numero
di dischi:
	B = C^N
La probabilita' C che un disco "non" si guasti e' l'inverso della
probabilita' che si guasti,
	C = 1-P
Da cui
	B = (1-P)^N
e la probabilità cercata
	A = 1-(1-P)^N
(La probabilità che mi ricordi correttamente le formule di Bayes,
però, è... be', diciamo inferiore all'unità :-D )


 Se il processore lo consente, n6+s1.
Intendo come potenza computazionale del processore della scheda
raid, perch� con il raid software pure il raid5 � (IMHO) mortalmente
lento...


 
č un fujitsu eternus (speriamo!!) dx80 in fibra, dovrebbe macinare dati senza 
grossi problemi


 dati senza grossi problemi
Direi che il raid6 � una buona scelta, vista la macchina :-)


 Ma leggevo che le prestazioni sono abbastanza più basse del 6 rispetto al 5
volendo c'è  anche il raid-dp (raid 5 con due dischi di parità identici)

 però, è... be', diciamo inferiore all'unità :-D )
Io ragionerei così sperando di non prendere cantonate :)
calcoliamo il tempo medio necessario affinché si abbia perdita di dati
(TDL) considerando dischi non provenienti dalla stessa partita.
Per un raid 5 detto N il numero dei dischi utili il tempo medio di
rottura del primo disco (TF1) sarà ovviamente:
TF1 = MTBF/(N+1) dove MTBF rappresenta il tempo medio alla rottura del
singolo disco
mentre la rottura dell'intero array avverrà se, durante il tempo
necessario alla riparazione della prima rottura (TR), si verificherà la
rottura di un secondo disco fra gli N rimasti:
P2 = N*TR/MTBF
Il TDL dell'array quindi è:
TDL = TF1/P2 = MTBF^2/(N+1)*N*TR
Per il raid 10 il tempo di rottura del primo disco è:
TF1 = MTBF/2N
mentre, trascurando la possibilità che nel tempo TR si rompano due
dischi dello stesso mirror, la probabilità P2 è:
P2 = TR/MTBF
da cui il TDL dell'array:
TDL = MTBF^2/2N*TR
Ora supponendo che TR sia uguale in entrambi i casi (cosa non del tutto
vera) possiamo scrivere che il rapporto fra i tempi medi di perdita dati è:
R = TDL(raid10)/TDL(raid5) = 2N/N(N+1) e dipende solo dal numero di dischi.
Per N = 2 (il minimo per fare un raid 5) R = 1,5 ma il raid 1 costa solo
1,3 volte più del raid5
mentre per N = 4  R = 2,5 ed il raid 10 a 8 dischi costa 1,6 volte di
più del raid 5.
Il vantaggio del raid 10 è evidente in termini di sicurezza oltre alle
altre questioni già spiegate nell'articolo linkato da Davide Bianchi.

 secondo disco mentre stai ricostruendo il RAID5
Si, la probabilità è più alta, cmq a me si è rotto il secondo del raid 1
durante la ricostruzione, sfiga lo so. Il backup lo devi avere sempre e
non è su questo che valuterei l'usare uno o l'altro.
Sul NAS ho un raid 5 semplicemente xché serve per storare grosse
quantità di dati, non per le performance...
...e pensandoci bene, piuttosto che mettere 10 dischi in RAID10 prendo 2
NAS da 5 baie: perdo un po' di spazio ma sono insensibile al guasto
completo di un NAS.
Sono ovviamente considerazioni personali... tutto dipende dall'uso che
ne devi fare.
-- 
Ciao,
Mirco.

singolo disco
No: la probabilita' che UN disco si rompa nell'unita' di tempo e' T/MTBF,
assumendo distribuzione dei guasti piatta (che non e' neanche vero, visto
che e' una curva a vasca, ma supponiamo di essere nella zona mediana).
Ma la probabilita' che "un disco su N" si rompa nell'unita' di tempo, non
e' semplicemente N volte la probabilita' per un disco.
(Altrimenti, diciamo che la probabilita' in un certo periodo (di un anno)
sia del 10%. Se avessi un array con undici dischi, dovrei dire che ho una
probabilita' di rottura superiore al 100%, che e' assurdo).
Volendo, si potrebbe scrivere un programmino che simuli la rottura (con p
costante, sempre per semplicita').
#include <stdio.h>
int main()
{
        int     i, j;
        int     disks   = 5;
        int     wia     = 0;
        int     kia     = 0;
        int     round   = 0;
        for (i = 0; i < 100000000; i++)
        {
                /* Test all disks. Only one combination in 4096 crashes
the disk. */
                for (round = 0, j = 0; j < disks; j++)
                {
                        if ((rand() & 0xfff0) != 0xC000)
                                continue;
                        round++;
                }
                if (round)
                {
                        wia += round;
                        if (round > 1) /* RAID6: 2 */
                                kia++;
                }
        }
        printf("After %d attempts, %d disk failures, %d array losses\n",
i, wia, kia);
        return 0;
}
#include <stdio.h>
int main()
{
        int     i, j;
        int     disks   = 4;
        int     wia     = 0;
        int     kia     = 0;
        int     round   = 0;
        int     fatal   = 0;
        for (i = 0; i < 100000000; i++)
        {
                /* Test all disks. Only one combination in 4096 crashes
the disk. */
                for (fatal = 0, j = 0; j < disks; j++)
                {
                        round   = 0;
                        if ((rand() & 0xfff0) == 0xC000)
                                round++;
                        /* Test the other disk with same formula. */
                        if ((rand() & 0xfff0) == 0xC000)
                                round++;
                        wia     += round;
                        if (2 == round)
                                fatal = 1;
                }
                kia     += fatal;
        }
        printf("After %d attempts, %d disk failures, %d array losses\n",
i, wia, kia);
        return 0;
}
RAID5 (4+1): 121780 disk failures, 52 array losses
RAID10(4+4): 195392 disk failures, 21 array losses
RAID6 (4+2): 146564 disk failures,  0 array losses
E per divertimento, gli stessi 8 dischi in RAID6, con il 50% di storage in
piu':
RAID6 (6+2): 195392(*) disk failures,  0 array losses
Aumentando il campione:
RAID6 : 2342582 disk failures,   124 array losses
RAID10: 3123814 disk failures,  6213 array losses
RAID5 : 1951547 disk failures, 15052 array losses
Apparentemente e con una certa approssimazione, possiamo dire che RAID*10*
sia il doppio piu' sicuro di RAID*5* :-)
RAID6 e' circa 50 volte piu' sicuro di RAID10, a pari storage usabile.
Sempre ammesso che non abbia clamorosamente cannato il codice... io, verso
quest'ora, farei meglio ad andare a dormire :-D
Leonardo
(*) essendo un PRNG, si guastano ogni volta gli stessi dischi



Sopra gli 8 dischi Raid6 tutta la vita.
-- Yena --

 A lettura fatta effettivamente RAID 10 tutta la vita ...
... e buttiamo via il 50% dello spazio ? Sempre e comunque ? Non pensi
che *dipenda* dall' *USO* ? Che te ne fai delle performance - ad esempio
- in un archivio storico ?
DIPENDE.
ciao, f.

 quest'ora, farei meglio ad andare a dormire :-D
Mi sembra che ci sia un buon accordo fra il calcolo teorico (sia pur
approssimato) ed i risultati della tua simulazione.

 
In realtà il "RAID-5 write penalty" è stato superato con RAID-Z, che di
fatto è un RAID-5 senza "write penalty" (o "write hole").
C'è da aspettarsi (o da sperare) che pure btrfs usi un metodo simile
per aggirare il problema.
-- 
Wikipedia Admin: "wikipedia non è un blog"
Iosif Stalin: "i compagni hanno scambiato il partito per un circolo di
discussione"

 secondo disco mentre stai ricostruendo il RAID5 
e se in RADI-10 ti partono i due dischi di uno stesso mirror? Certo, la
probabilità che ti partano due dischi, per di più nello stesso mirror è
un po' più elevata, ma non mi pare che sia questa grande
argomentazione....
