lunedì 31 dicembre 2012

Nozioni base sul Raid (parte II)


Sera gente!
Come promesso, eccoci qui con la seconda parte dell'argomento sistema RAID!



Livelli di RAID
RAID 1


Il sistema RAID 1 crea una copia esatta (o mirror) di tutti i dati su due o più dischi. È utile nei casi in cui la ridondanza è più importante che usare tutti i dischi alla loro massima capacità: infatti il sistema può avere una capacità massima pari a quella del disco
più piccolo. In un sistema ideale, formato da due dischi, l'affidabilità aumenta di un fattore due rispetto al sistema a disco singolo, ma è possibile avere più di una copia dei dischi.
Dato che ogni disco può essere gestito autonomamente nel caso l'altro si guasti, l'affidabilità aumenta linearmente al numero di
dischi presenti. RAID-1 aumenta anche le prestazioni in lettura, visto che molte implementazioni possono leggere in modo parallelo da entrambi i dischi. Attenzione ad usarlo come sistema di Backup. Non c’è storico!



RAID 2

Un sistema RAID 2 divide i dati al livello di bit (invece che di blocco) e usa un codice di Hamming per la correzione d'errore. Questi dischi sono sincronizzati dal controllore per eseguire in accordo le operazioni di lettura e scrittura. Questo è l'unico livello di RAID originario che attualmente non è più in uso.



RAID 3

Un sistema RAID 3 usa una divisione a livello di byte con un disco dedicato alla parità. Il RAID-3 è estremamente raro nella pratica.
Uno degli effetti collaterali del RAID-3 è che non può eseguire richieste multiple simultaneamente. Questo perché ogni singolo
blocco di dati ha la propria definizione diffusa tra tutti i dischi del RAID così ogni operazione di I/O richiede di usare tutti i dischi.



RAID 4

Il sistema RAID 4 usa una divisione (striping) a livello di blocchi con un disco dedicato alla parità. Il RAID-4 assomiglia molto al RAID-3 con l'eccezione che divide i dati a livello di blocchi invece che a livello di byte. Questo permette ad ogni disco appartenente al
sistema di operare in maniera indipendente quando è richiesto un singolo blocco.



RAID 5


Un sistema RAID 5 usa una divisione dei dati a livello di blocco con i dati di parità distribuiti tra tutti i dischi appartenenti al RAID. Questa è una delle implementazioni più popolari, sia in hardware che in software.

Il blocco di parità non viene letto quando si leggono i dati da disco, visto che sarebbero un sovraccarico non necessario e diminuirebbe le performance. Il blocco di parità è letto, invece, quando la lettura di un settore da un errore CRC. In questo modo l'errore di CRC viene nascosto al computer chiamante.

Nella stessa maniera, se un disco dovesse danneggiarsi all'interno del sistema, i blocchi di parità dei dischi rimanenti sono combinati
matematicamente "al volo" con i blocchi dati rimasti per ricostruire i dati del disco guasto. Quindi, cari miei, ricordate: un sistema RAID 5 con 3 dischi divide i dati in modo da assicurare la continuità operativa e la conservazione dei dati nel caso di fault di un disco.

Il numero massimo di dischi è teoricamente illimitato, ma una pratica comune è di mantenere il numero massimo di dischi a 14 o
meno per le implementazioni che hanno solo un blocco di parità per stripe. Le ragioni per questo limite sono che la probabilità che due
dischi del sistema di rompano in successione cresce con il crescere del numero di dischi.

Bisogna comunque ricordare che più dischi insieme aumentano il calore, che abbassa il vero MTBF di ogni disco. Inoltre, i dischi di uno stesso gruppo comprati nello stesso periodo potrebbero raggiungere la fine della loro vita insieme, abbassando in maniera significativa il MTBF del sistema.

Nelle implementazioni con più di 14 dischi, o in situazioni dove è necessaria grande ridondanza dei dati, viene usata spesso una
implementazione RAID 5 con doppia parità (detta anche RAID 6), che riesce a gestire il guasto contemporaneo di due dischi.



RAID 6


Un sistema RAID 6 usa una divisione a livello di blocchi con i dati di parità distribuiti due volte tra tutti i dischi. Non era presente tra gli originali livelli RAID.
Nel RAID 6, il blocco di parità viene generato e distribuito tra due stripe di parità, su due dischi separati, usando differenti stripe di
parità nelle due "direzioni".




Livelli Raid "annidati"


Molti controllori di disco possono annidare alcuni livelli di RAID.
Cioè, un sistema RAID può usarne un altro come elemento di base.



  • Livelli Raid "annidati"
RAID 0 + 1


Un sistema RAID 0+1 è un RAID che viene usato sia per replicare che per condividere dati tra diversi dischi. La differenza tra il RAID
0+1 e il RAID 10 è la diversa disposizione di ogni sistema RAID. Si consideri l'esempio sottostante del RAID 0+1: sei dischi da 120
GB sono usati per creare un sistema RAID 0+1.




RAID 1
|
/-----------------\
| |
RAID 0 RAID 0
/-----------\ /-----------\
| | | | | |
120GB 120GB 120GB 120GB 120GB 120GB



Lo spazio totale è di 360GB, divisi tra due sistemi. Il vantaggio principale è che quando un disco si rompe tra quelli del RAID-0, i dati mancanti possono essere trasferiti dall'altro RAID-0. Comunque, aggiungere un disco richiede di aggiungere due dischi per bilanciare lo spazio tra i due sistemi.

Il sistema non è così robusto come il RAID 10 e non può sopportare la rottura simultanea di due dischi, se non appartengono alla stessa
stripe. Cioè, se un disco si rompe, ogni altro disco dell'altra stripe è un elemento critico per il sistema. Inoltre, se un disco viene sostituito, per ricostruire il sistema devono partecipare tutti i dischi.



RAID 10


Un sistema RAID 10, è simile al RAID 0+1 ma i livelli RAID sono usati in senso invertito. Nell'esempio sottostante si possono vedere 3 insiemi di dischi da 120 GB in RAID 1 che sono uniti per raggiungere lo spazio complessivo di 360 GB.



RAID 0
|
/-----------------------------\
| | |
RAID 1 RAID 1 RAID 1
/------\ /------\ /------\
| | | | | |
120GB 120GB 120GB 120GB 120GB 120GB



Ogni disco di ogni sistema RAID 1 può danneggiarsi senza far perdere dati al sistema. Comunque, se il disco danneggiato non viene sostituito, il disco rimasto nel RAID 1 rimane il punto critico del sistema. Se il disco rimasto si dovesse rompere, tutte le informazioni contenute nell'intero sistema andrebbero perse.

Un disco da 120 GB potrebbe essere aggiunto in ogni momento nel sistema RAID 1 per aumentare la ridondanza. Diversamente dal
RAID 0+1, i sotto-sistemi RAID 1 non devono essere aggiornati contemporaneamente.



E con questo direi che siamo ok...Spero con tutto il cuore, che qualcuno ci abbia capito, dato anche la tipologia d'argomento non proprio digeribile a tutti. Questo è il risultato di un riassunto dei miei appunti personali quando studiavo queste cose...
Spero anche sia stato anche di interesse specie per gli smanettoni come me, e vista la tipologia si questo sito, capitemi: ogni tanto devo affrontare argomenti di questo genere.
Io vi saluto calorosamente ringraziando chi mi segue...
Colgo l'occasione di fare a tutti i più sinceri auguri di un buon fine ed inizio anno!!
Ultimo post targato 2012!
Ciao a tutti dal solito e medesimo Dani!



Nessun commento:

Posta un commento