RAID: che cos’è, come funziona e come si usa?

Creato il 12 febbraio 2015 da D4rkid @ipertutti

Grazie all'aumento della velocità nell'accesso alle informazioni (offerto dalle unità a stato solido (cioè dagli SSD), nonché dalle evoluzioni tecnologiche introdotte nei classici hard disk), oggigiorno non c'è più il bisogno di avere molti dischi a disposizione per cercare di ottenere delle prestazioni migliori. Tuttavia, questo aspetto, non ha ancora eliminato la necessità di adottare delle particolari strategie che siano in grado di evitare la perdita di preziose informazioni (dovuta a guasti o a malfunzionamenti improvvisi dei dischi). Ecco perciò che in questo articolo cercherò di spiegarti il RAID o, meglio, che cos'è, come funziona e come si usa.

Il termine RAID deriva da Redundant Array of Independent D isks ovvero insieme ridondante di dischi indipendenti. Nella pratica, il RAID non è altro che una tecnica che permette al controller (in grado di gestire le diverse unità di archiviazione), di suddividere i dati tra i molteplici dischi presenti in maniera tale da aumentare le prestazioni, la sicurezza ed anche la tolleranza contro eventuali guasti.

Siccome la gestione delle prestazioni, della sicurezza e della tolleranza contro possibili guasti variano in base alla strategia scelta, è opportuno sapere qual è la configurazione RAID più adatta alle proprie esigenze. Nella pratica esistono infatti le tipologie RAID di base (che vanno dal livello 0 al livello 7) e quelle annidate (cioè quelle base combinate tra di loro in maniera tale da sfruttare le caratteristiche dell'una o dell'altra tipologia).
Proprio per questi motivi cercherò quindi di spiegarti come funziona il RAID cominciando prima dalle tipologie di base più sfruttate (soprattutto a casa o in ufficio) per poi passare a quelle più avanzate (ovvero alle tipologie annidate).

La tipologia RAID di livello 0, talvolta chiamata anche striping (si pronuncia stràiping), divide i dati in blocchi uguali ognuno dei quali viene successivamente scritto su un disco diverso. In questo livello sono necessari almeno due dischi mentre la capacità effettiva sarà pari alla capacità del disco di dimensioni minori moltiplicata con il numero totale dei dischi utilizzati.
Per quanto riguarda i vantaggi del RAID di livello 0 c'è da citare la facilità con la quale questo può essere implementato oltre alle prestazioni quasi proporzionali al numero di dischi impiegati. In questo caso, però, non si tratta di un vero e proprio RAID in quanto il livello 0 non offre alcuna garanzia contro eventuali guasti (infatti se si rompe un disco tutti i dati verranno persi) e, per di più, la probabilità che un disco possa guastarsi aumenta in maniera proporzionale al numero stesso dei dischi utilizzati.
Il RAID di livello 0 è quindi una tipologia di RAID indirizzata a chi deve elaborare file di diversa natura (cioè video, audio o immagini) e a chi ha la necessità di utilizzare quei particolari programmi che hanno il bisogno di trasferire grosse quantità di dati. Al contrario, il RAID di livello 0, è sconsigliato in tutti quei casi in cui la sicurezza dei dati riveste il ruolo più importante.

Nel RAID di livello 1 (che segue una logica a "specchio"), i dati vengono innanzitutto scritti sul disco primario e successivamente vengono replicati su uno o più dischi secondari. In questo livello il numero minimo di dischi è due, la capacità effettiva è pari alla capacità del disco di dimensioni minori ed, inoltre, si può tollerare il guasto di tutti i dischi tranne almeno uno.
Il RAID di livello 1 è dunque la configurazione RAID più semplice in quanto non solo garantisce la replica dei dati unita alla tolleranza contro eventuali guasti (in questo caso, se si danneggia un disco, sarà sufficiente sostituirlo, anche in modalità hot swap, per ripristinare i dati persi) ma, in alcuni casi, permette anche un aumento delle prestazioni in lettura (visto che, in teoria, il controller può fare più letture simultaneamente). Per quanto riguarda invece gli svantaggi c'è da dire che il RAID di livello 1 è quello che ha la peggior gestione dello spazio (infatti la capacità complessiva è pari solamente a quella del disco di dimensioni minori). Per di più, dato che bisogna scrivere i dati contemporaneamente su tutti i dischi, le prestazioni in scrittura sono paragonabili a quelle ottenibili da un unico disco (e, di conseguenza, non c'è alcun aumento tangibile delle prestazioni).
Il RAID di livello 1 è quindi consigliato per tutte quelle applicazioni in cui la continuità del servizio riveste un ruolo fondamentale.

Grazie all'utilizzo del bit di parità, il RAID di livello 5 può essere considerato a tutti gli effetti la configurazione RAID più indicata per qualsiasi utilizzo (in quanto offre, contemporaneamente, un aumento delle prestazioni unito alla sicurezza dei dati). In questo caso, però, il numero minimo di dischi sale a tre mentre la capacità effettiva sarà pari a quella del disco di dimensioni minori moltiplicata con il numero complessivo di dischi meno uno. Se, ad esempio, si vuole costruire un RAID di livello 5 con tre dischi da 2 Terabyte ciascuno, la capacità effettiva sarà pari a 2 TB x (3 - 1 dischi) = 2 TB x 2 dischi ovvero 4 Terabyte.
Data la possibilità di scrivere e leggere su più dischi nello stesso tempo, nel RAID di livello 5 le prestazioni che si possono ottenere aumentano in funzione del numero di dischi impiegati (proprio come avviene nel RAID di livello 0), tuttavia, nonostante l'elevata velocità nel leggere i dati unita ad una media velocità nello scriverli, se si guasta un disco nel RAID di livello 5 le prestazioni generali ne risentono in maniera più o meno grave (a seconda del controller utilizzato). Per di più, pur essendo un'operazione tutto sommato semplice, la ricostruzione dell'intero sistema RAID, in caso di guasti, può richiedere davvero parecchio tempo (esiste tuttavia una versione chiamata RAID 5 Enhanced che, grazie all'utilizzo di un ulteriore disco, permette di ricostruire più velocemente il sistema RAID non appena si danneggia uno dei dischi presenti).

Il RAID di livello 6 funziona in maniera molto simile a quello di livello 5 infatti, l'unica differenza che c'è, consiste nell'utilizzo di due dischi per la parità dei dati (in questo modo è possibile resistere al guasto contemporaneo di due dischi (al contrario del RAID di livello 5 che ne tollera al massimo uno solo)). Nel RAID di livello 6 il numero minimo di dischi sale però a quattro mentre la capacità effettiva sarà pari a quella del disco di dimensioni minori moltiplicata con il numero complessivo di dischi meno due. Se, ad esempio, si vuole costruire un RAID di livello 6 con quattro dischi da 2 Terabyte ciascuno, la capacità effettiva sarà pari a 2 TB x (4 - 2 dischi) = 2 TB x 2 dischi ovvero 4 Terabyte.
Purtroppo, proprio come avviene nel RAID di livello 5, anche nel livello 6 il danneggiamento di un disco influisce sulle prestazioni generali dell'intero sistema RAID (quindi anche in questo caso il ripristino dell'intera struttura RAID può richiedere diverso tempo ma, grazie all'utilizzo della versione RAID 6 Enhanced, è possibile ripristinare più velocemente il sistema aggiungendo un ulteriore disco che si attiva non appena viene rilevato il guasto di un disco).

Come già detto, oltre alle configurazioni base, è possibile utilizzare anche delle configurazioni annidate in cui gli elementi che si trovano alla base del sistema RAID sono a loro volta delle configurazioni RAID.
Di solito, in questi casi, la tipologia del RAID viene indicata mediante una sequenza di cifre che parte dal livello più nidificato per poi salire fino a quello più esterno (tuttavia, è possibile utilizzare anche un'altra rappresentazione nella quale le cifre impiegate vengono separate attraverso il segno "+").

Il RAID di livello 10, che può essere indicato anche come 1+0, è la tipologia RAID annidata più semplice. In questo caso, alla base del sistema RAID 0, non ci sono altro che dei dischi in configurazione RAID 1:

Grazie a questa struttura, il RAID di livello 10 consente di avere delle prestazioni molto elevate (in base al numero dei rami del RAID 0) con un altrettanto elevato livello di sicurezza (in base al numero dei rami del RAID 1). In questo caso, è quindi possibile utilizzare tutte quelle applicazioni che richiedono prestazioni elevate e, nello stesso tempo, tolleranza contro i guasti. Per quanto riguarda il numero dei dischi, nel livello 10 ne servono almeno quattro mentre, la capacità effettiva, in questo caso sarà pari a quella del disco di dimensioni minori moltiplicata con il numero totale di dischi presenti dividendo poi il tutto per due. Se ad esempio si vuole costruire un RAID di livello 10 con quattro dischi da 2 TB ciascuno la capacità effettiva sarà pari a (2 TB x 4 dischi)/2 = (8 TB)/2 = 4 TB.
Confrontando il RAID di livello 10 con il RAID 0, si può dire che quello di livello 10 ha una tolleranza contro i guasti nettamente migliore (infatti è ammesso il guasto di 2 dischi purché questi non facciano parte dello stesso ramo di livello 1) mentre, se confrontato con il RAID 5, quello di livello 10 non ha la necessità di fare dei calcoli particolari per memorizzare i dati. Inoltre, se si rompe un disco nel RAID di livello 10, le prestazioni generali non ne risentono in maniera significativa come avviene invece nel livello 5 (a conti fatti, si potrebbe quindi affermare che gli unici svantaggi del RAID di livello 10 sono rappresentati dal costo e dallo spazio di archiviazione dimezzato).

Le configurazioni annidate più complesse vengono impiegate per lo più in ambito aziendale (ovvero dove c'è la necessità di archiviare delle grosse quantità di dati). Come avviene già per il RAID di livello 10, le soluzioni RAID di livello 50 e 60 prevedono, alla base del sistema RAID 0, rispettivamente dei dischi in configurazione RAID 5 o RAID 6:

In questo caso sono richiesti un minimo di 6 dischi per il RAID 50 mentre almeno 8 per il RAID 60 (ovvero almeno due rami con il rispettivo numero minimo di dischi delle configurazioni RAID 5 e RAID 6). Per quanto riguarda invece la capacità effettiva, nel livello 50 sarà pari a:

D x (N/R-1) x R

dove D rappresenta la capacità del disco di dimensioni minori, N il numero totale dei dischi ed R il numero dei rami. Ad esempio, in un RAID di livello 50 diviso in due rami con un totale di 6 dischi da 3 TB ciascuno, la capacità effettiva sarà pari a 3 x (6/2-1) x 2 = 12 TB.
Nel livello 60 la capacità effettiva sarà invece pari a:

D x (N/R-2) x R

Ad esempio, in un RAID di livello 60 diviso in due rami con un totale di 8 dischi da 4 TB ciascuno, la capacità effettiva sarà pari a 4 x (8/2-2) x 2 = 16 TB.
Concludendo, grazie all'utilizzo dei livelli 5 e 6, oltre alla velocità offerta dal RAID di livello 0, queste configurazioni avanzate sopportano il guasto di un disco (RAID 50) o contemporaneamente anche di due (RAID 60) e solamente se si dovessero superare questi limiti, si avrà la perdita completa dei dati all'interno del singolo ramo del RAID di livello 0 (per risolvere questo problema, spesso si preferiscono infatti usare le versioni Enhanced, chiamate 50e/60e, che prevedono l'utilizzo di un disco supplementare rispetto alle configurazioni standard del RAID 50/60).

Naturalmente oltre a queste esistono anche altre configurazioni annidate che possono essere implementate seguendo la logica di quelle appena presentate. Tuttavia, bisogna precisare che le configurazioni che sopportano il guasto di uno o più dischi richiedono lo stesso una manutenzione fatta in tempo debito, proprio perché, nonostante l'utilizzo delle versioni Enhanced, il processo di ricostruzione di un disco di grandi dimensioni può richiedere davvero diverse ore (durante le quali l'intero sistema RAID è a rischio). Per ovviare a questo problema bisognerebbe quindi fare una copia di backup a intervalli di tempo ben stabiliti (possibilmente attraverso supporti esterni al sistema) e magari dotarsi almeno di un ulteriore disco, in aggiunta a quello delle versioni Enhanced, da utilizzare soltanto in caso di necessità (anche perché durante la ricostruzione del sistema RAID sarebbe opportuno limitare gli accessi per non correre il rischio di rallentare l'intero processo di ripristino).

Come già detto, il RAID è legato all'utilizzo di un controller. Quest'ultimo, si trova sempre più spesso integrato sulle schede madri (e quindi viene gestito mediante il BIOS) altrimenti può essere aggiunto attraverso l'acquisto di una scheda di espansione. Proprio per queste ragioni, e grazie alla possibilità offerta da alcuni sistemi operativi, si può implementare e gestire il RAID anche soltanto via software. Tuttavia, questa modalità, ovviamente, non ha le stesse prestazioni di quelle ottenibili via hardware, infatti il RAID fatto via software pone diverse limitazioni (come, ad esempio, la modalità con la quale può essere avviato, le configurazioni supportate e l'impossibilità di effettuare una sostituzione a caldo dei dischi) proprio perché tutte le operazioni necessarie per implementare un RAID devono essere demandate e gestite dal sistema operativo (che a sua volta utilizza già il processore e la memoria RAM per altri scopi più tradizionali).
In poche parole, il RAID offerto da questi controller (integrati o dedicati) non consente di effettuare un RAID vero e proprio, ma piuttosto una via di mezzo tra la modalità software (che è pur sempre meglio di niente) e quella hardware che, oltre ad un buon controller, avrebbe bisogno anche di un certo quantitativo di memoria RAM e di un processore che si occupi esclusivamente di fare i calcoli necessari (soprattutto se si vogliono utilizzare le configurazioni RAID più impegnative). Ecco perciò che, per implementare un RAID nel vero senso della parola, la soluzione migliore consiste nell'acquistare un .

Il RAID è quindi una tecnica che offre diversi vantaggi per migliorare la sicurezza dei sistemi di archiviazione (come, ad esempio, la gestione centralizzata dei dati unita all'affidabilità e all'indipendenza dal sistema operativo utilizzato). Tuttavia, quando si vuole costruire una configurazione RAID, bisogna anche considerare i diversi aspetti negativi quali la concorrenza da parte dei servizi cloud, il costo per implementarlo, le difficoltà che si incontrano nel configurarlo e, non di meno, anche la rumorosità che viene emessa da tutti i dischi quando sono in funzione. Inoltre, per quanto possa essere efficiente ed efficace, c'è da considerare anche il fatto che un sistema RAID non sarà mai in grado di prevenire eventuali danni causati da fattori esterni (contro i quali c'è ben poco da fare). Arrivati comunque a questo punto, spero che tu ora abbia capito che cos'è il RAID (e magari anche come funziona e come si usa).


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :