Cosa si intende per RAID?
RAID significa Redundant Array of Independent (o Inexpensive) Disks. E’ un termine che indica sia i dispositivi, sia l’attività stessa di utilizzare più hard disk in maniera coordinata, secondo standard definiti, per aumentare le prestazioni e/o la tolleranza ai guasti (continuità operativa e recupero dati in gaso di guasto) del sistema, o l’integrità dei dati.
Le modalità con cui ciò avviene sono molteplici, vengono chiamate livelli di RAID e sono indicate da uno o più numeri.
Il RAID può essere gestito direttamente dal sistema operativo installato nel computer, utilizzando l’hardware presente nel computer stesso (CPU, memoria, drive controller). Ciò può comportare una riduzione delle prestazioni generali del sistema. Tale soluzione è chiamata RAID software.
Il RAID hardware viene invece gestito da dispositivi specificatamente dedicati, come controller montati su schede PCI (la soluzione originaria, che giustificava la I di Inexpensive dell’acronimo) o installati in appositi case, atti anche ad accogliere i dischi. I livelli di RAID più diffusi sono i seguenti:
Tipologie di RAID
RAID 0, o striping: i dati vengono ripartiti sui diversi dischi; la lettura e la scrittura avvengono parallelamente sui diversi dischi, aumentando le prestazioni del sistema. Non offre protezione dai guasti, ma è molto diffuso nei casi in cui si richiedano elevate prestazioni. E’ infatti una soluzione ideale nel settore dell’editing multimediale e della prestampa. Sono sufficienti due hard disk.
RAID 1, o mirroring: ogni dato viene scritto in duplice copia; in caso di guasto di uno dei dischi, è possibile recuperare la copia dei dati. Le prestazioni del sistema aumentano solo in fase di lettura: essa può essere infatti effettuata in parallelo da entrambe le copie di dati. E’ un raid piuttosto semplice e diffuso, con un buon rapporto fra costi e vantaggi. E’ adatto a sistemi semplici dove sia però necessaria un’elevata affidabilità. Anche in questo caso sono sufficienti due hard disk. · RAID 0+1: i dati vengono sia suddivisi fra più dischi, ognuno dei quali viene anche replicato. Si ottengono vantaggi sia in termini di prestazioni, sia in termini di sicurezza. I benefici del RAID 0 vengono sommati a quelli del RAID 1.
RAID 2: i dati vengono suddivisi in byte, e la loro integrità viene controllata tramite un codice di ricerca e correzione degli errori. E’ un tipo di RAID non utilizzato.
RAID 3: i dati non vengono suddivisi in blocchi, come nei casi dei RAID 0 ed 1, ma in byte, per essere così ripartiti su più dischi (byte-level striping). Viene inoltre aggiunto un bit di parità per ogni “parola”. I bit di parità vengono tutti archiviati su un unico drive. La suddivisione di ogni blocco di dati in byte implica il coinvolgimento dell’intero sistema per ogni operazione di lettura e scrittura, con la conseguente impossibilità di rispondere contemporaneamente a richieste multiple. Questo comporta effetti negativi sulle prestazioni del sistema. Richiede almeno tre hard disk. Nel caso in cui uno dei dischi si guasti, i dati presenti sui drive rimanenti consentono, combinati coi dati di parità, di ricostruire le informazioni perdute.
RAID 4: è simile al RAID 3, ma i dati vengono suddivisi in blocchi (block-level striping), non in byte, e distribuiti sui vari dischi del sistema. Uno dei dischi è dedicato all’archiviazione delle informazioni di parità. A differenza di quanto avviene nel RAID 3, se al sistema vengono richieste contemporaneamente informazioni contenute in un unico blocco, la risposta viene fornita solo dal disco in cui il blocco è archiviato. Il sistema puo’ quindi rispondere contemporaneamente a richieste di dati allocati in un altro blocco ed in un altro disco. I colli di bottiglia possono comunque crearsi, poiché tutti i dati di parità vengono letti e scritti sullo stesso hard disk. Sono necessari almeno tre hard disk.
RAID 5: come nel RAID 3 i dati sono distribuiti in blocchi fra i vari dischi, aggiungendo le informazioni di parità. Ma queste non vengono salvate in un disco specifico. Vengono invece distribuite su tutti i dischi del sistema (block-level striping con parità distribuita). Si evita solo di inserire ogni dato di parità sul medesimo disco che ospita il blocco di dati a cui esso si riferisce. All’aumentare del numero dei dischi, si riduce il rallentamento, poiché i dati di parità vengono ripartiti fra più dischi, riducendo il rischio di “colli di bottiglia”. E’ un sistema molto diffuso, che offre buone prestazioni e buona tolleranza ai guasti. Anche questa configurazione richiede almeno tre hard disk .
RAID 6: simile al RAID 5, ma con le informazioni di parità scritte due volte (block-level striping con doppi blocchi di parità distribuiti). Questo influenza negativamente le prestazioni nel caso dei sistemi composti da un numero limitato di dischi. La ricostruzione dei dati è possibile anche nel caso in cui due dischi si guastino contemporaneamente, o qualora se ne guasti uno mentre è in corso una precedente operazione di ricostruzione. La protezione dal “doppio rischio” diventa tanto più importante quanto più numeroso è il numero di dischi che compongono il sistema, con una probabilità di guasto conseguentemente maggiore. Sono necessari almeno quattro hard disk.
JBOD (Just a Bunch Of Disks): questo non è formalmente un livello di RAID, ma è una modalità di gestione dei dati su più dischi, che i controller RAID sono solitamente in grado di svolgere. Impostando questa modalità di funzionamento, più hard disk verranno visualizzati dal sistema operativo come un volume unico. In un sistema di hard disk gestiti parzialmente in RAID, talvolta si definisce con JBOD tutto lo spazio (su uno o più dischi) non organizzato in RAID.
