Mostra tutti

Analisi della RAID technology – Trent’anni e non sentirli

Analisi della RAID technology – Trent’anni e non sentirli

Il termine RAID è stato introdotto nel 1988 da David A. Patterson, Garth A. Gibson e Randy H. Katz nell’articolo A Case for Redundant Arrays of Inexpensive Disks (RAID) pubblicato negli atti della SIGMOD Conference (pagg. 109–116). Gli autori presentano in maniera sistematica alcune delle tecnologie introdotte nel decennio precedente, aggregandole sotto l’acronimo di Redundant Array of Inexpensive Disks, in italiano insieme ridondante di dischi economici, e identificandole con i numeri da 1 a 5 che oggi sono noti come “livelli” RAID. Il primo brevetto fu depositato nel 1977 da Norman Ken Ouchi di IBM presentando quello che ora è noto come livello 4. Il significato della lettera “I” nel titolo è dovuto al fatto che negli anni ’80, a differenza di oggi, il fattore chiave di tale tecnologia era l’abilità di combinare parecchi dischi a basso costo ed obsoleti per rendere il sistema complessivamente migliore di un disco di ultima generazione per capacità, affidabilità e velocità.

RAID 1988 – 2018

Non accade spesso nel settore IT che una tecnologia che è stata sviluppata molti decenni fa sia ancora ampiamente utilizzata e considerata importante per gli amministratori e altri utenti. Anche i server e i dispositivi di archiviazione moderni sono dotati di tecnologia RAID, principalmente in aziende, ma sempre di più anche nei sistemi NAS consumer. In particolare nel campo dell’information technology, tre decadi rappresentano un periodo davvero lungo. Chi ricorda soluzioni e prodotti che sono stati sviluppati e immessi sul mercato e non sono durati tanto a lungo?

Happy birthday RAID

La tecnologia RAID invece è ancora in uso, celebra il suo 30° compleanno quest’anno e ha ancora un ruolo importante nel settore. Come mai? E quali sono i vantaggi e gli svantaggi di questa soluzione? Quando David Patterson, Garth A. Gibson e Randy Katz dell’Università della California a Berkeley inventarono il termine RAID nel 1987 e pubblicarono il proprio articolo “Case for Redundant Arrays of inexpensive Disks”, presentandolo alla conferenza SIGMOD nel giugno del 1988, gli hard disk erano ancora un prodotto abbastanza costoso e cercare di mantenere i dati su dispositivi di storage “snelli” era più che altro una necessità. Era, inoltre, il periodo in cui nelle aziende venivano usati enormi computer mainframe, mentre i computer desktop non erano ampiamente diffusi nei luoghi di lavoro. Tuttavia, questa tendenza iniziò a cambiare e le vendite e l’utilizzo dei personal computer cominciarono a crescere. Di conseguenza, gli hard disk per questi primi computer non-mainframe erano già molto più convenienti rispetto a quelli dei computer mainframe molto più grandi quando i tre scienziati hanno elaborato la propria teoria.

Questo è il motivo per cui i tre hanno sviluppato la loro soluzione. Secondo loro diversi hard disk collegati tra loro e più convenienti (per PC) avrebbero battuto un singolo hard disk mainframe in termini di prestazioni. I tre sostenevano che anche se con l’utilizzo di molti hard disk sarebbe aumentato il tasso di errore, sarebbe stato possibile configurarli per la ridondanza in modo che l’affidabilità di un tale array potesse ampiamente superare quella di qualsiasi singola unità mainframe di grandi dimensioni.  Il RAID è pertanto l’esatto contrario dell’allora comune SLED (Single Large Expensive Disk) in un computer mainframe.

Scopriamo il RAID

Per dirla con semplicità: il RAID si basa sul concetto che i dati sono distribuiti o replicati su più unità indipendenti. Le unità all’interno del sistema sono configurate in modo tale che i dati possono essere divisi o replicati su due o più dischi, per la distribuzione del carico o per contribuire al recupero dei dati in caso di guasto del disco.

Esistono due diverse modalità tecniche per ottenere questo risultato: con una soluzione hardware, un controller RAID dedicato, oppure con una soluzione software, che è per lo più già inclusa nei sistemi operativi moderni. I sistemi basati su hardware gestiscono la tecnologia RAID in maniera indipendente dal computer host utilizzando un controller RAID, così il sistema operativo è inconsapevole delle attività tecniche del RAID e vede l’intero sistema di storage come se fosse un singolo volume collegato al computer host.

Oltre a queste implementazioni tecniche, il concetto di RAID si basa su questi tre principi fondamentali

  1. Parità: è un modo di distribuire le informazioni attraverso un sistema RAID che consente ai dati di essere ripristinati in caso di guasto al disco.
  2. Ridondanza: è la duplicazione dei componenti critici nell’architettura del sistema per aumentare l’affidabilità e agire come uno strumento a prova di errore. In sostanza, permette che si verifichino errori ai diversi componenti prima che l’intero sistema si guasti completamente e nel caso dei sistemi RAID, i componenti sono i dischi.
  3. Mirroring: gli stessi dati vengono duplicati da un disco all’altro. Lo striping è un altro metodo per cui i dati sono scritti su più dischi. Le diverse configurazioni RAID usano una o più di queste tecniche, a seconda dei requisiti di sistema.

Sulla base di questi principi sono stati sviluppati questi livelli RAID standard:

  • RAID 0 utilizza lo ‘striping’ ed è il livello RAID più semplice. Non offre ridondanza, ma aumenta le performance. I dati sono distribuiti su almeno due dischi e per ogni disco aggiunto le performance di lettura/scrittura e la capacità storage aumentano per ogni singola unità. In caso di errore di un disco, il controller RAID non può ricostruirlo.
  • RAID 1 utilizza il ‘mirroring’, che come suggerisce il nome stesso, duplica gli stessi dati su due dischi, offrendo il livello più basso di ridondanza RAID. RAID 1 può duplicare le performance di lettura su un singolo disco, ma non modifica la velocità di scrittura. Questo livello permette il guasto di un disco.
  • RAID 5 è una configurazione comune e rappresenta un discreto compromesso tra affidabilità e performance. Offre un guadagno in termini di velocità di lettura, ma non aumenta le performance in scrittura. Il RAID 5 introduce la ‘parità’, che occupa, in tutto, lo spazio di un disco. Questo livello può gestire il guasto di un disco. Se si dispone di un disco hot spare configurato come un 5° disco, questo potrebbe rimanere inattivo nel sistema senza che su di esso sia stato salvato alcun dato. In caso di guasto a un disco, i dati possono essere ricostruiti sul disco hot spare utilizzando i dati di parità degli altri dischi. Una volta terminata la ricostruzione dei dati, è possibile rimuovere il disco guasto e sostituirlo con uno nuovo, che diventa il nuovo hot spare.
  • RAID 6 si basa sul concetto del RAID 5 e aggiunge ulteriore ridondanza con doppia parità. Ciò consente di ricreare i dati anche in caso di guasto di due dischi all’interno dell’array. La doppia parità è distribuita su tutti i dischi e occupa lo spazio di due dischi.

Negli ultimi 30 anni, i produttori di sistemi RAID hanno sviluppato ulteriori livelli RAID. Oggi abbiamo livelli RAID che vanno dal RAID 0 fino al RAID 61 e oltre, con le società più grandi che creano livelli RAID su misura per supportare requisiti applicativi e di infrastruttura differenti.

Tabella riassuntiva dei più comuni livelli RAID

Livello Numero minimo
di dischi
Capacità Max numero consentito
di dischi difettosi
Schema Vantaggi Svantaggi
RAID 0 2 C × N 0 RAID Level 0 Costo di implementazione basso;

alte prestazioni in scrittura e lettura grazie al parallelismo delle operazioni I/O dei dischi concatenati.

Impossibilità d’utilizzo di dischi hot-spare;affidabilità drasticamente ridotta, anche rispetto a quella di un disco singolo.
RAID 1 2 C N – 1 RAID Level 1 Affidabilità, cioè resistenza ai guasti, che aumenta linearmente con il numero di copie;

velocità di lettura (in certe implementazioni e sotto certe condizioni).

 Bassa scalabilità; costi aumentati linearmente con il numero di copie;

velocità di scrittura ridotta a quella del disco più lento dell’insieme.

RAID 3 3 C × (N – 1) 1 RAID Level 3
RAID 4 3 C × (N – 1) 1 RAID Level 4 Resistenza ai guasti;letture veloci grazie al parallelismo della struttura;

possibilità di inserire dischi hot-spare.

 Il disco utilizzato per la parità può costituire il collo di bottiglia del sistema; scrittura lenta a causa della modifica e del calcolo della parità

(4 accessi a disco per ogni operazione I/O).

RAID 5 3 C × (N − 1) 1 RAID Level 5 La parità è distribuita e quindi non esiste il problema del disco collo di bottiglia come nel RAID 4;

le scritture sono più veloci rispetto allo stesso RAID 4 (perché il disco che nel RAID 4 è dedicato alla parità ora può essere utilizzato per le letture parallele).

 Scritture lente a causa della modifica e del calcolo della parità (4 accessi a disco per ogni operazione I/O).
RAID 6 4 C × (N − 2) 2 RAID Level 6 Altissima fault tolerance grazie alla doppia ridondanza. Scritture molto lente a causa della modifica e del calcolo della parità (6 accessi a disco per ogni operazione I/O), necessari N+2 dischi, molto costoso economicamente a causa della ridondanza e della complessità del controller della struttura.

Problema del Write Hole. Le write sui diversi dispositivi non sono atomiche nell’insieme: questo vuol dire che la mancanza di alimentazione durante una scrittura può portare alla perdita di dati. Ad esempio, con un sistema con 3 dischi in raid 5, se si volesse modificare il blocco n si dovrebbero fare queste operazioni: lettura del blocco n-1, lettura della parità, calcolo della nuova parità, scrittura del blocco n, e scrittura della parità. Il problema si ha nel caso in cui venga a mancare l’alimentazione durante queste due ultime operazioni.

C = capacità del disco più piccolo; N = numero di dischi

Cosa succede in caso di guasto al disco e i pericoli della tecnologia RAID…

In caso di un guasto di un disco in una configurazione RAID 1 o RAID 5 l’utente non dovrebbe cambiarlo con uno nuovo prima di essere sicuro che sia stato effettuato il backup di ogni dato dei dischi restanti. In molti casi, in particolare quando la soluzione utilizza dischi provenienti dallo stesso lotto di produzione, la possibilità di un imminente guasto a un altro disco è piuttosto elevata. Si tratta del rischio di questa tecnologia.

Anche con tutti i vantaggi offerti dalla tecnologia RAID, maggiori performance in aggiunta a una maggiore sicurezza dei dati, ciò che molti utenti, in particolare i privati, dimenticano e che chiunque dovrebbe tenere a mente è che RAID non è il “Backup”!!!

Il sistema RAID può essere utilizzato in combinazione con i backup, rendendo così l’intero sistema storage molto più sicuro, ma il RAID non deve mai essere utilizzato al posto del backup. Al contrario, in caso di guasto di un sistema RAID, ad esempio a causa di un controller RAID hardware malfunzionante o di un utilizzo di un numero di dischi maggiore rispetto a quello per cui il livello RAID selezionato è stato attrezzato, è molto più complicato ripristinare la piena operatività del RAID oltre che recuperare i dati persi.

In particolare, da quando i sistemi NAS sono diventati sempre più convenienti per gli utenti privati, essi utilizzano le funzionalità RAID integrate in combinazione con altre tecnologie storage avanzate, come la deduplicazione, per ottenere più spazio possibile dal proprio sistema. Tutto ciò ha un costo: in molti casi questi sistemi sono configurati in maniera errata e quando si verifica un guasto, l’intero sistema collassa. Quindi gli esperti di data recovery, come i professionisti di Kroll Ontrack, devono ricostruire parecchi livelli di dati per le numerose tecnologie implementate dall’utente, fino a che non sono di nuovo disponibili per il recupero dei dati originali.

Prima di configurare un array RAID l’utente, a prescindere che sia un consumer o un amministratore IT aziendale, dovrebbe considerare attentamente se il RAID è la migliore opzione possibile e quale livello RAID si adatta meglio alle sue esigenze. Importante: la negligenza iniziale può comportare, in seguito, seri problemi, costi elevati e una possibile perdita dei dati!

Tenendo bene a mente questi consigli, esiste un’elevata possibilità che il RAID resti sulla cresta dell’onda ancora per molti anni, anche se si prevede che sempre più dati saranno archiviati e che prevarranno altre tecnologie storage, come per esempio quella creata da EMC per il suo brand Isilon, sulla base di un enorme “data lake” con misure di sicurezza integrate contro la perdita dei dati. Probabilmente ci vorranno molti, molti anni prima che il RAID scompaia dalle scene.

Credits: ontrackdatarecovery.it

libro vita da hacker