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

Grazie all’aumento della velocità nell’accesso alle informazioni offerto dalle unità a stato solido – conosciute meglio come SSD – nonché dalle continue evoluzioni tecnologiche introdotte nei classici hard disk, oggigiorno per cercare di ottenere delle prestazioni ancora migliori col proprio computer non c’è più la necessità di utilizzare contemporaneamente molti dischi. Nonostante questi importanti miglioramenti, l’esigenza 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 non è stata tuttavia ancora eliminata del tutto. Ecco perciò che in questo apposito articolo andrò a spiegarti il RAID, o meglio che cos’è il RAIDcome funziona il RAID, nonché come si usa il RAID.

Indice

Che cos’è il RAID?

Il termine RAID deriva dall’acronimo inglese di redundant array of independent disks (si pronuncia redàndant arrèi of indipèndent discs, in italiano insieme ridondante di dischi indipendenti). Nella pratica il RAID non indica 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 poter aumentare le prestazioni, la sicurezza ed anche la tolleranza contro eventuali guasti.

Come funziona il RAID

Siccome la gestione delle prestazioni, della sicurezza e della tolleranza contro possibili guasti variano in base alla strategia scelta, per capire qual è la configurazione RAID più adatta alle proprie esigenze sarebbe opportuno prima capire quante e quali sono le tipologie di RAID esistenti. Nella pratica esistono infatti le tipologie RAID di base, che vanno dal livello 0 al livello 7, e le tipologie RAID annidate, che non sono altro che le tipologie RAID di 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 RAID di base più sfruttate, soprattutto a casa o in ufficio, per poi passare alle tipologie RAID più avanzate, sfruttate soprattutto in ambito aziendale.

Configurazioni RAID di base

RAID 0

RAID 0

La tipologia RAID di livello 0, talvolta chiamata anche striping (si pronuncia stràiping), divide i dati in blocchi uguali ognuno dei quali viene poi scritto su un disco diverso. In questo caso, per la realizzazione di un RAID di livello 0 è necessario utilizzare almeno due dischi mentre, per quanto riguarda la capacità effettiva, questa è pari invece alla capacità del disco di dimensioni minori moltiplicata per il numero totale di 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 subito persi. In questo caso, inoltre, la probabilità che un disco possa guastarsi aumenta in maniera proporzionale al numero stesso di dischi utilizzati.

Il RAID di livello 0 risulta quindi una tipologia di RAID indirizzata a chi deve elaborare file di diversa natura – cioè video, audio o immagini – e a chi ha l’esigenza di utilizzare tutti quei particolari programmi che necessitano 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.

RAID 1

RAID 1

Nel RAID di livello 1, che segue una logica, per così dire, a “specchio” – infatti talvolta viene anche chiamato mirroring (si pronuncia mirrorìng) che in italiano significa appunto rispecchiare – i dati vengono anzitutto scritti sul disco primario per poi essere successivamente replicati su uno o più dischi secondari. In questo caso, per la realizzazione di un RAID di livello 1 è necessario utilizzare almeno due dischi mentre la capacità effettiva è pari invece solamente alla capacità del disco che ha le dimensioni minori. Al contrario di quanto avviene con il livello 0, nel RAID di livello 1 viene però anche ammesso il guasto di tutti i dischi presenti tranne, tuttavia, di almeno un disco.

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 livello, infatti, se si danneggia un disco sarà sufficiente sostituirlo – anche in modalità hot swap, pronunciato ot svuàp – per ripristinare i dati persi), ma in alcuni casi questo livello permette anche un lieve aumento delle prestazioni in lettura, visto che almeno in teoria il controller può fare simultaneamente più letture.

Per quanto riguarda invece gli svantaggi c’è da dire che il RAID di livello 1 è quello che ha la peggior gestione dello spazio disponibile, infatti la capacità complessiva sarà pari solamente a quella del disco dotato di dimensioni minori. Per di più, visto che bisogna scrivere i dati contemporaneamente su tutti i dischi presenti, le prestazioni in scrittura ottenibili con un RAID di livello 1 saranno paragonabili a quelle ottenibili da un unico disco. Di conseguenza, in questo caso non ci sarà 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.

RAID 5

RAID 5

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 quest’ultimo offre sia un aumento delle prestazioni, sia una maggior sicurezza dei dati. In questo caso, però, il numero minimo di dischi sale a tre mentre la capacità effettiva è pari invece a quella del disco di dimensioni minori moltiplicata per 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 in questo caso la capacità effettiva sarà pari a 2 TB × (3 – 1 dischi) = 2 TB × 2 dischi, ovvero a 4 terabyte.

Data la possibilità di scrivere e leggere su più dischi allo 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 risentiranno in maniera più o meno grave a seconda del controller utilizzato.

Per di più, pur essendo un’operazione tutto sommato abbastanza semplice, la ricostruzione dell’intero sistema RAID 5 in caso di guasti può richiedere davvero parecchio tempo. Esiste comunque una versione chiamata RAID 5 Enhanced che, grazie all’utilizzo di un ulteriore disco, permette di ricostruire più velocemente il sistema RAID non appena viene rilevato il danneggiamento di uno dei dischi presenti.

RAID 6

RAID 6

Il RAID di livello 6 funziona in maniera molto simile a quello di livello 5, infatti l’unica differenza che c’è rispetto a quest’ultimo consiste nell’utilizzo di due dischi per la parità dei dati anziché di un solo disco. In questo modo è possibile resistere al guasto contemporaneo di due dischi, al contrario del RAID di livello 5 che tollera il guasto di al massimo soltanto un disco.

Nel RAID di livello 6 il numero minimo di dischi sale però a quattro mentre la capacità effettiva è pari invece a quella del disco di dimensioni minori moltiplicata per 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 in questo caso la capacità effettiva sarà pari a 2 TB × (4 – 2 dischi) = 2 TB × 2 dischi, ovvero a 4 terabyte.

Purtroppo, però, proprio come avviene nel RAID di livello 5, anche nel RAID di livello 6 il danneggiamento di un solo disco influisce sulle prestazioni generali dell’intero sistema RAID. Pertanto, anche in questo caso il ripristino dell’intera struttura RAID può richiedere davvero parecchio tempo. Tuttavia, grazie all’utilizzo della versione RAID 6 Enhanced sarà possibile ripristinare più velocemente il sistema RAID aggiungendo un ulteriore disco che si attiverà non appena verrà rilevato il guasto di uno dei dischi presenti.

Configurazioni RAID annidate

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

RAID 10 (1+0)

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.

RAID 10

Grazie all’utilizzo di questa particolare struttura, il RAID di livello 10 consente di avere delle prestazioni decisamente molto elevate (in base al numero di rami presenti nel RAID di livello 0) con un altrettanto elevato livello di sicurezza (in base al numero di rami presenti nel RAID di livello 1). In questo caso è dunque possibile utilizzare tutte quelle applicazioni che richiedono prestazioni elevate e, allo stesso tempo, tolleranza contro i guasti.

Per quanto riguarda il numero di dischi, nel RAID di livello 10 sono necessari almeno quattro dischi mentre, per quanto riguarda la capacità effettiva, in questo caso è pari a quella del disco di dimensioni minori moltiplicata per 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 in questo caso la capacità effettiva sarà pari a (2 TB × 4 dischi)/2 = (8 TB)/2 = 4 TB.

Confrontando il RAID di livello 10 con il RAID di livello 0 si può quindi dire che quello di livello 10 ha una tolleranza contro i guasti nettamente migliore (infatti nel livello 10 è ammesso il guasto di due dischi, purché questi non facciano parte dello stesso ramo di livello 1), mentre, se confrontato con il RAID di livello 5, il RAID di livello 10 non ha la necessità di fare dei calcoli particolari per poter memorizzare i dati.

Inoltre in questo caso se si rompe un disco nel RAID di livello 10 le prestazioni generali non ne risentiranno in maniera significativa, al contrario di quanto avviene invece per il RAID di livello 5. A conti fatti, si potrebbe quindi affermare che gli unici svantaggi del RAID di livello 10 sono rappresentati unicamente dal costo e dallo spazio di archiviazione che risulta dimezzato.

RAID 50 (5+0) e RAID 60 (6+0)

Le configurazioni annidate più complesse del RAID 10 vengono impiegate per lo più in ambito aziendale, ossia 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 (indicato anche come 5+0) e di livello 60 (indicato anche come 6+0) prevedono rispettivamente dei dischi in configurazione RAID 5 o RAID 6 alla base del sistema RAID 0.

RAID 50

In questo caso sono richiesti un minimo di sei dischi per il RAID 50 mentre almeno otto dischi 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 questa sarà pari a:

D × (N/R-1) × R

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

D × (N/R-2) × R

In questa formula, proprio come in quella precedente, D rappresenta la capacità del disco di dimensioni minori, N il numero totale di dischi, ed R, invece, il numero di rami. Ad esempio, in un RAID di livello 60 diviso in due rami con un totale di otto dischi da 4 TB ciascuno la capacità effettiva sarà pari a 4 × (8/2-2) × 2 = 16 TB. Concludendo, grazie alle caratteristiche offerte dai livelli RAID 5 e RAID 6, oltre che alle prestazioni offerte dal RAID di livello 0, queste configurazioni RAID avanzate sono in grado di sopportare anche il guasto di un unico disco, nel caso del RAID 50, o contemporaneamente anche di due, nel caso del RAID 60.

Pertanto, solamente se si dovessero superare questi limiti si avrà la perdita completa dei dati all’interno del singolo ramo di livello 0. Per risolvere questo inconveniente, al posto delle configurazioni RAID 50 e RAID 60 spesso si preferiscono comunque usare le versioni Enhanced, chiamate rispettivamente 50e e 60e, che prevedono l’utilizzo di un ulteriore disco rispetto alla configurazione standard del RAID 50 e del RAID 60.

Naturalmente oltre a queste esistono anche altre configurazioni RAID 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 molte ore durante le quali l’intero sistema RAID sarà inevitabilmente a rischio.

Per ovviare a questo problema bisognerebbe quindi fare una copia di backup ad intervalli di tempo ben stabiliti – possibilmente attraverso supporti esterni al sistema – e magari dotarsi almeno di un ulteriore disco – in aggiunta già a quello delle versioni Enhanced – da utilizzare soltanto in caso di necessità. Questo poiché durante la ricostruzione del sistema RAID sarebbe opportuno limitare gli accessi per non correre il rischio di rallentare l’intero processo di ripristino.

Come si usa il RAID

Come già detto il RAID è legato all’utilizzo di un apposito controller. Quest’ultimo si trova sempre più spesso integrato nelle schede madri e quindi viene gestito mediante il BIOS, altrimenti può anche essere aggiunto attraverso l’acquisto di una appropriata scheda di espansione. Proprio per queste ragioni, e grazie alla possibilità offerta da alcuni sistemi operativi, è possibile implementare e gestire il RAID anche soltanto via software.

Tuttavia questa modalità, ovviamente, non offre le stesse prestazioni che si possono ottenere dalla modalità fatta via hardware, infatti il RAID implementato via software pone diverse limitazioni – come ad esempio la modalità con la quale può essere avviato il sistema RAID stesso, le configurazioni RAID supportate, e l’impossibilità di effettuare una sostituzione a caldo dei dischi – proprio perché tutte le operazioni necessarie per implementare un sistema RAID devono essere demandate e gestite dal sistema operativo del momento, che a sua volta utilizza già il processore e la memoria RAM per altri scopi ben più tradizionali.

In poche parole, il RAID offerto da questi controller, integrati o dedicati, non consente di effettuare un vero e proprio sistema RAID 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, quasi sempre, nell’acquistare un prodotto ad hoc: il NAS.

Conclusioni

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 tener conto anche di 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 questi 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 ci sarà sempre ben poco da fare. Arrivati comunque a questo punto spero che tu ora abbia finalmente capito che cos’è il RAIDcome funziona il RAID, nonché come si usa il RAID.