La scelta del raid corretto

Raid: cos’è e come funziona?

Permette di migliorare le prestazioni del sistema e incrementare il livello di sicurezza dello storage dei dati, si tratta del RAID, non il celebre spray anti-insetti, ma l’acronimo di Redundant Array of Inexpensive Disk (insieme ridondante di dischi indipendenti), un metodo per gestire i dati in maniera sicura grazie all’utilizzo di due o più hard disk in parallelo. Salvando gli stessi dati su più dischi, le operazioni di I/O (Input/Output) possono sovrapporsi, garantendo quindi un miglioramento nelle prestazioni generali del sistema.

Venne descritto per la prima volta da David Patterson, Garth Gibson e Randy Katz nell’articolo “A Case for Redundant Arrays of Inexpensive Disks” pubblicato nel 1988. L’intenzione dei tre informatici era quella di dimostrare che utilizzare due o più hard disk datati ed economici era più conveniente, performante e sicuro dell’utilizzo di un solo disco rigido. A quanto pare, Patterson, Gibson e Katz avevano perfettamente ragione.

Come funziona il RAID?

La gestione delle prestazioni, della sicurezza e della tolleranza contro possibili guasti varia in base alla strategia scelta, pertanto per capire quale sia la configurazione RAID più adatta alle proprie esigenze, sarebbe opportuno prima comprendere quante e quali sono le tipologie di RAID esistenti

Esistono 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 che sfruttano dunque le caratteristiche dell’una o dell’altra tipologia.

Di seguito il funzionamento dei RAID più usati in ambito sia home che aziendale: RAID 0, RAID 1, RAID 5, RAID 6 e RAID 10.

RAID 0 

La tipologia RAID di livello 0, talvolta chiamata anche striping, corrisponde al primo e più elementare livello di RAID, detto appunto livello 0. I dati da salvare sono suddivisi in stringhe di ugual grandezza (unità di striping) e allocati in maniera sequenziale nei vari dischi che compongono il sistema RAID.

In questo caso non viene assicurata la ridondanza dei dati ma solamente un miglioramento delle prestazioni del sistema, dato che è possibile leggere e scrivere contemporaneamente su più dischi. Il RAID 0 viene utilizzato quando si deve creare un piccolo numero di dischi virtuali partendo da un grande numero di dischi rigidi fisici. È utile, quindi, quando si devono creare server NFS in una sola posizione e quando la ridondanza dei dati è irrilevante.

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

Il RAID 1, o array di dati con mirroring, crea una copia esatta (mirror) di tutti i dati presenti su di un disco su un altro di “appoggio”. In questo caso alle prestazioni viene preferita la ridondanza: gli stessi dati vengono scritti su due diversi dischi nello stesso momento, incrementando l’affidabilità del sistema. I dati vengono indirizzati e scritti in maniera speculare su entrambi i dischi per ottenere ridondanza, non necessariamente in tempo reale, il che non intacca sulle prestazioni in fase di lettura e può rallentare in maniera poco significativa quelle in fase di scrittura. Se uno dei dischi dell’array si rompe l’array è perso, tuttavia è possibile accedere comunque al disco fisico “sano” e recuperare da esso tutti i dati memorizzati (proprio perché subentra la ridondanza grazie al mirroring).

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, 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, 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

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 x (3 – 1 dischi) = 2 TB x 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.

RAID 6

Il RAID di livello 6 funziona in maniera molto simile a quello di livello 5, l’unica differenza rispetto a quest’ultimo consiste solo nell’utilizzo di due dischi per la parità dei dati anziché di uno solo. In questo modo è possibile resistere al guasto contemporaneo di due dischi, al contrario del RAID di livello 5 che ne tollera al massimo soltanto uno. 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 x (4 – 2 dischi) = 2 TB x 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. 

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 x 4 dischi) /2 = (8 TB) /2 = 4 TB.

Il livello RAID 10 è la scelta ideale per soluzioni di gestione di database che devono leggere e scrivere un elevato numero di file di piccole dimensioni nei dischi di un volume. Gli eccezionali livelli di IOPS e protezione dei dati offerti dal livello RAID 10 garantiscono un’eccellente affidabilità delle soluzioni di gestione di database in termini sia di protezione dei file che di velocità di accesso.