RAID riferimenti teorici

In ambito server l'utilizzo dei RAID (Rendundant Array of Inexpensive Disk) è tipicamente utilizzato per avere una certa rindondanza dati e per migliorare le prestazioni di lettura e scrittura dati.
Il RAID può essere gestito tramite software oppure tramite hardware (tipicamente controller RAID SCSI), naturalmente la seconda soluzione risulta essere la migliore in termini di performance ma onerosa in termini economici.
Di seguito verranno presentati i livelli RAID più utilizzati con i relativi vantaggi e svantaggi:

RAID 0
Il disco simulato dal RAID viene suddiviso in fette (strip), sulle quali verranno scritte i dati in modo consecutivo  e in modalità round-robin.
Nel caso di più hard-disk, il metodo con cui vengono distribuiti i dati viene chiamata striping.
Il Raid a livello zero è migliore (in termini di performance) nel caso in cui il passaggio dati in I/0 è elevato, poichè il controller RAID dividerà la richiesta di lettura o scrittura per tutti gli hard-disk e in seguito riassemblerà tutte le informazioni ricevute.
Le note negative si hanno quando si utilizza questo tipo di RAID con i OS che normalmente richiedono la lettura o scrittura di un settore alla volta, perdendo così il vantaggio della parallelizzazione, inoltre l'affidabilità di tale livello risulta essere molto bassa poichè basta la rottura di un solo disco per perdere tutti i dati.
Questo modello di Raid viene anche chiamato "striping without parity".

RAID 1
Raid 1 viene utilizzato proprio per la sua funzionalità di duplicazione, ovvero esso duplica tutti i dati (in caso di due hard-disk, ne avremo uno master e il secondo utilizzato per il backup).
In fase di scrittura, ogni dato (o meglio fetta) viene scritto due volte: una volta sull'hard-disk master e la seconda sull'hard-disk di backup, mentre in fase di lettura il dato può essere letto da entrambi, distribuendo anche il carico. In termini di performance si hanno vantaggi solo in lettura, mentre le operazione di scrittura, dovendo avvenire in duplice copia, sono più lente.
Questa configurazione garantisce la ridonzanda dei dati: se si rompe un hard disk, tutti i dati saranno comunque disponibili sull'altro. Viene anche definita "disk mirroring".

RAID 3
A differenza dei livelli precedenti, la suddivisione dei dati non avviene più per settore ma per byte, ovvero ogni byte viene suddiviso in bit ai quali ne viene aggiunto uno, come bit di parità, per ogni "parola" dati scritta. Poichè il byte dovrà essere scritto per i vari dischi disponibili viene richiesta la sincronizzazione del movimento fra i vari hard-disk.
Un solo bit di parità non permette la correzzione di errori nei dati ma può solo rilevarlo mentre in caso di crash di un hard-disk completo la correzzione dell'errore è completa poichè il bit di parità permette di svelare la posizione del bit corrotto.
Il numero di richieste che si possono gestire al secondo sono identiche a quelle di un singolo hard-disk.

RAID 4
Richiede tre o più dischi, come con il RAID 0, le operazioni in lettura e scrittura sono eseguite in parallelo, ma in questo caso un disco, che può diventare un collo di bottiglia, mantiene le informazioni di parità per ricostruire i dati in caso di guasto sugli altri dischi. RAID 4 viene considerato un "disk striping with parity".

RAID 5
Il vantaggio di questo livello di RAID sta nel fatto che la sincronizzazione dei vari componenti del RAID non è richiesta e la suddivisione dati fra questi componenti non avviene più per bit ma per fette (strip) come nel caso del RAID 1 con in aggiunta i bit di parità che vengono distribuiti su tutti gli hard-disk in modalità round-robin.
Questo garantisce ridondanza in caso di guasto di uno qualsiasi dei dischi, anche se la ricostruzione dei dati risulta essere un'operazione piuttosto complessa.
E' una delle varianti più utilizzate, insieme a RAID 1, perchè garantisce buone prestazione (parallelismo in lettura e scrittura), integrità dei dati (i parity check vengono distribuiti su tutti i dischi) e "spreco" relativamente limitato di spazio su disco per la ridondanza. Anche questo tipo è un "disk striping with parity".

Privacy Policy