La tecnologia RAID (acronimo di Redundant Array of Inexpensive Disks, talvolta Redundant Array of Independent Disks, tradotto Insieme rindondante di dischi indipendenti) permette di costituire un' unità di stoccaggio partendo da più dischi rigidi. L'unità così creata (detta cluster) ha dunque un'elevata tolleranza ai guasti (elevata disponibilità), oppure una più elevata capacità/velocità di scrittura. La ripartizione dei dati su più dischi rigidi permette quindi di aumentarne la sicurezza e di rendere più affidabili i servizi associati.
Questa tecnologia è stata messa a punto nel 1987 da tre ricercatori (Patterson, Gibson e Katz) dell'Università delle California (Berkeley). Dal 1992 è il RAID Advisory Board che gestisce queste specifiche. Essa consiste nel costituire un disco di grandi capacità (quindi costoso) mediante dischi più piccoli relativamente economici (cioè con l' MTBF, Mean Time Between Failure, ossia il tempo medio fra due guasti, è ridotto).
I dischi assemblati con la tecnologia RAID possono essere utilizzati in modi diversi, detti Livelli RAID. L'Università della California ne ha definiti 5, ai quali sono stati aggiunti i livelli 0 e 6. Ciascuno descrive il modo in cui i dati sono ripartiti sui dischi :
Ognuno di questi livelli costituisce un modo d'uso del cluster, in funzione :
Il livello RAID-0, detto striping (tradotto intreccio o aggregato per striscia+D108, talvolta detto sbagliando stri pp ing) consiste nello stoccare i dati ripartendoli sull'insieme dei dischi del cluster. In questo modo, non vi sono ripetizioni, e non si può quindi parlare di tolleranza ai guasti. In effetti in caso di problema su uno dei dischi, l'integralità dei dati ripartiti sui dischi sarà persa.
Tuttavia, dato che ogni disco del cluster ha il proprio controllore, questo costituisce una sostituzione con un'elevata velocità di trasferimento.
Il RAID 0 consiste quindi nella giustapposizione logica (aggregazione) di più dischi rigidi hardware. In modalità RAID-0 i dati sono scritti per "strisce" (in inglese stripes) :
|
|
|
Si parla di fattore di intreccio per caratterizzare la dimensione relativa dei frammenti (strisce) stoccati su ogni unità hardware. La capacità di trasferimento media dipende da questo fattore (più piccola è ogni striscia, migliore sarà la capacità).
Se uno degli elementi del cluster è più grande degli altri, il sistema di riempimento per striscia si bloccherà quando il più piccolo dei dischi sarà pieno. La dimensione finale è quindi uguale o doppia rispetto alla capacità del più piccolo dei due dischi :
![]() |
Si raccomanda di utilizzare dei dischi della stessa dimensione per il RAID-0 dato che, in caso contrario, il disco di capacità maggiore non sarà pienamente sfruttato. |
Il livello 1 ha lo scopo di duplicare su più dischi l'informazione da stoccare; si parla allora di mirroring, o shadowing per designare questa procedura.
|
|
|
Del resto la teconologia RAID1 è molto costosa dato che solo la metà della capacità di stoccaggio è effettivamente utilizzata.
Il livello RAID-2 è ormai obsoleto, dato che propone un controllo degli errori mediante il codice di Hamming (codici ECC - Error Correction Code), ormai direttamente integrato nei controllori dei dischi rigidi.
Questa tecnologia consiste nello stoccare i dati secondo lo stesso principio del RAID-0 ma scrivendo su un'unità distinta i bit di contollo ECC (generalmente sono usati 3 dischi ECC per 4 dischi di dati).
La tecnologia RAID 2 offre delle performance mediocri ma un altro livello di sicurezza.
Il livello 3 propone di stoccare i dati sotto forma di byte su ogni disco e di dedicare uno dei dischi allo stoccaggio di un bit di parità.
|
|
|
|
Il livello 4 è molto simile al 3. La differenza sta a livello della parità, che è fatta su un settore (detto blocco) e non a livello del bit, e che è stoccata su un disco dedicato. Più precisamente, il valore del fattore di intreccio e differente rispetto al RAID 3.
|
|
|
|
Quindi, per leggere un numero di blocchi limitati, il sistema non deve accedere a più lettori hardware, ma unicamente a quelli su cui i dati sono effettivamente stoccati. Del resto il disco che ospita i dati di controllo deve avere un tempo di accesso uguale alla somma dei tempi di accesso degli altri dischi per non limitare le performance d'insieme.
Il livello 5 è simile al 4, cioè la parità è calcolata a livello di un settore, ma ripartita sull'insieme dei dischi del cluster.
|
|
|
|
In questo modo, RAID 5 migliora decisamente l'accesso ai dati (tanto in lettura quanto in scrittura) dato che l'accesso ai bits di parità è ripartito sui differenti dischi del cluster.
La modalità RAID-5 permette di ottenere delle performance molto simili a quelle ottenute con RAID-0, il tutto assicurando un'elevata tolleranza ai guasti, ragione per cui è una delle modalità più interessanti in termini di performance e affidabilità.
![]() |
Essendo lo spazio del disco utile su un cluster di n dischi uguale a n-1 dischi, è interessante avere un gran numero di dischi per "rentabilizzare" il RAID-5. |
Il livello 6 è stato aggiunto ai livelli definiti da Berkeley. Esso definisce l'utilizzo di 2 funzioni di parità, e quindi il loro stoccaggio su due dischi dedicati. Questo livello permette così di assicurare la rindondanza in caso di avaria simultanea di due dischi. Questo significa si devono avere almeno 4 dischi per realizzare un sistema RAID-6.
Le soluzioni RAID scelte più di frequente sono la RAID di livello 1 e la RAID di livello 5.
La scelta di una soluzione RAID è legata a tre criteri :
Esistono vari modi per realizzare una soluzione RAID su un server :