RAID

RAID 0 (Striping)
Il sistema RAID 0 divide i dati equamente tra due o più dischi con nessuna informazione di parità o ridondanza (operazione detta di striping).
Vantaggi: costo economico di implementazione basso, alte prestazioni in scrittura e lettura (grazie al parallelismo delle operazioni I/O dei dischi concatenati).
Svantaggi: Impossibile montare dischi hot-spare, affidabilità minore di un disco singolo (perché il suo MTTF è dato dal MTTF dei singoli dischi impiegati per la sua implementazione), non è fault tolerant.
RAID 1 (Mirroring)
Il sistema RAID 1 crea una copia esatta (mirror) di tutti i dati su due o più dischi.
Vantaggi: affidabilità che aumenta linearmente con i mirror implementati, fault tolerance, lettura legata al disco più veloce della struttura RAID.
Svantaggi: overhead legato al mirror, bassa scalabilità, alto costo (vengono utilizzati più dischi ma se ne sfrutta esclusivamente uno), scrittura legata al disco più lento della struttura RAID.
RAID 2 (Bit Level Striping)
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 che permette di correggere errori su singoli bit e di rilevare errori doppi. Il RAID 2 è sostanzialmente un RAID 1 maggiormente affidabile.
RAID 3 (Byte Level Striping with Dedicated Parity Disk)
Un sistema RAID 3 usa una divisione al 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.
RAID 4 (Block Level Striping with Dedicated Parity Disk)
Il sistema RAID 4 usa una divisione 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 al livello di blocchi invece che al livello di byte. Questo permette ad ogni disco appartenente al sistema di operare in maniera indipendente quando è richiesto un singolo blocco.
RAID 5 (Distributed Parity)
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.
Ogni volta che un blocco di dati (chiamato delle volte chunk) deve essere scritto nel sistema di dischi, un blocco di parità viene generato all'interno della stripe.
Bisogna notare che il blocco di parità non viene letto quando si leggono i dati da disco, visto che sarebbero un sovraccarico non necessario e diminuirebbe le prestazioni. Il blocco di parità è letto, invece, quando la lettura di un settore dà un errore CRC. In questo caso, il settore nella stessa posizione relativa nei blocchi di dati rimanenti della stripe, insieme al blocco di parità, vengono usati per ricostruire il blocco mancante. 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.
In un sistema RAID 5 che ha un solo blocco di parità per stripe, la rottura di un secondo disco comporta la perdita di tutti i dati presenti nel sistema.
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.
Vantaggi: la parità è distribuita e quindi non esiste il problema del disco collo di bottiglia come nel RAID4, scritture più veloci del RAID4 perché il disco che nel RAID4 funzionava esclusivamente per la parità ora può essere utilizzato per le letture parallele.
Svantaggi: write lente a causa della modifica e del calcolo della parità (4 accessi a disco per ogni operazione I/O).
RAID 6 (Distributed Double Parity)
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.
Il RAID-6 è più ridondante del RAID-5, ma è molto inefficiente quando viene usato in un numero limitato di dischi.
Vantaggi: Altissima fault tolerance grazie alla doppia ridondanza.
Svantaggi: Write molto lente a causa della modifica e del calcolo della parità (6 accessi a disco per ogni operazione I/O), necessari N+2 dischi, molto costoso economicamente a causa della ridondanza e della complessità del controller della struttura.
Fonte e per approfondimenti: http://it.wikipedia.org/wiki/RAID