Come funziona lo storage su RAID?

mercoledì 6 luglio 2016 di Ontrack Italia

DST_image_970x300_hero-virtualization

Il termine RAID, acronimo di Redundant Array of Independent (originariamente Inexpensive, ossia economico) Disks, viene utilizzato per indicare i sistemi di storage dei dati che suddividono e/o replicano i dati sui dischi che lo compongono. La tecnologia RAID ha rivoluzionato il mondo dello storage dei dati ed era stata creata per due specifici obiettivi: aumentare l’affidabilità e migliorare la performance I/O (input/output).

Sfortunatamente lo storage su RAID non è una tecnologia priva di difetti e di conseguenza utilizzando questi sistemi possono ancora verificarsi casi di perdita  dati. In questo articolo analizzeremo come funzionano i livelli RAID e come i dati possono essere memorizzati (e persi!) da questo genere di sistemi di storage.

RAID System

Come funziona un RAID?

Un RAID combina più dischi fisici all'interno di una singola unità logica utilizzando specifiche componenti hardware e software. Le soluzioni RAID hardware possono assumere diverse configurazioni, da quelle integrate sulla scheda madre a quelle basate sull'aggiunta di nuove schede, fino ai più grandi server NAS o SAN. Con queste configurazioni il sistema operativo (OS) non è a conoscenza delle modalità tecniche di funzionamento del RAID. Scopri il nostro approfondimento sulle principali configurazioni RAID.

Le soluzioni software vengono invece solitamente implementate all'interno del sistema operativo.

Il RAID viene comunemente impiegato su server ma può essere implementato anche su singole workstation. È questo il caso dei computer che fanno uso intensivo dello storage, come quelli utilizzati per l’editing di file audio e video, dove sono richieste ampie capacità di storage ed elevata velocità di trasferimento dati.

Glossario dei termini RAID comunemente utilizzati

Prima di scendere più nel dettaglio diamo un’occhiata ad alcuni termini tecnici che vengono comunemente utilizzati per descrivere alcuni aspetti dello storage RAID.

RAID: tecnologia che supporta diverse configurazioni di hard disk per ottenere migliori performance, maggiore affidabilità e volumi di storage più grandi attraverso il consolidamento delle risorse dei vari dischi e calcoli di parità.

Parità (Parity): processo di distribuzione delle informazioni che permette di ricostruire i dati archiviati all'interno di un array RAID anche nel caso di guasto o malfunzionamento di uno dei dischi che compongono il sistema.

Mirroring: duplicazione dei dati di uno o più hard disk su un altro / altri dischi fisici.

Striping: processo tramite il quale i dati possono essere scritti su diversi dischi.

Blocco: spazio logico di ciascun disco sul quale vengono scritti i dati. La quantità di spazio è impostata dal controller RAID.

Simmetria sinistra /destra: la simmetria in un RAID controlla come i dati e la parità vengono distribuiti sui drive. Esistono 4 principali tipologie di simmetria: quella utilizzata dal sistema dipende dal vendor del RAID stesso. Alcune aziende creano delle simmetrie proprietarie in base alle esigenze proprie dell’organizzazione.

Hot spare: esistono alcuni metodi per gestire il malfunzionamento dei drive in un RAID e uno di questi prende il nome di “hot spare”. Si tratta di un disco “di scorta” che può essere utilizzato per sostituire quello danneggiato.

Modalità di degradazione: questa si verifica quando un disco del RAID non può più essere letto. In questo caso il drive viene considerato “bad”, ovvero non utilizzabile e viene quindi ritirato dal RAID. I nuovi dati e la parità vengono quindi scritti sui rimanenti drive del RAID: nel caso in cui venissero richiesti dei dati presenti sul disco danneggiato il problema verrebbe arginato facendo ricorso alla parità sugli altri dischi. Ovviamente questo processo implica una riduzione delle performance del RAID.

Ora che abbiamo definito i termini chiave del sistema nella seconda parte dell’articolo analizzeremo i 3 concetti chiave del RAID: mirroring, striping e correzione dell’errore focalizzandoci sui diversi livelli RAID, il funzionamento dei moderni array e quali sfide è necessario affrontare in caso di perdita dei dati.

I livelli RAID

Per prima cosa entriamo nei 3 concetti chiave del RAID: 

  • mirroring - la copia dei dati su almeno un secondo disco; 
  • striping - la suddivisione dei dati su almeno due dischi; 
  • correzione degli errori - dove sono memorizzati i dati ridondanti per consentire ai problemi di essere rilevati e possibilmente corretti (conosciuto anche come tolleranza ai guasti). Setup RAID differenti utilizzano una o più di queste tecniche, in base ai requisiti del sistema.

Le configurazioni RAID standard vengono definite livelli. In origine vi erano 5 livelli standard definiti, ma sono poi state sviluppate molte altre varianti in particolare livelli nidificati e molti altri livelli non standard (per lo più proprietari). Abbiamo già visto i livelli RAID espandersi da RAID 0 fino a RAID 51 (e oltre). Differenti livelli hanno differenti tipi di ridondanza e generalmente si deve cercare un punto di equilibrio tra la tolleranza ai guasti e le performance, in relazione al tipo di applicazioni impiegate. Ad esempio, alcuni livelli di base includono:

RAID 0

Spesso chiamato striping è il livello più semplice di RAID. Questa configurazione non offre ridondanza ma performance eccellenti. I dati sono suddivisi almeno tra due dischi e con ogni disco aggiuntivo le performance di scrittura/lettura e le spazio di storage si incrementano.

Vai al nostro approfondimento e scopri i vantaggi del RAID 0.

Livello RAID 0

RAID 1

Questo livello anche chiamato mirroring, come suggerisce lo stesso nome (mirror = specchio), effettua una copia dei dati; la configurazione prevede almeno due dischi (un disco è quindi “specchio” dell’altro disco) e fornisce un livello minimo di ridondanza. Il livello RAID 1 offre fino ad un raddoppio delle performance di lettura su un singolo drive, ma nessun miglioramento nelle operazioni di scrittura. I dati in esso memorizzati sono sempre disponibili almeno fino a quando un disco è funzionante.

Scopri come configurare un sistema RAID 1.

Livello RAID 1

RAID 5

Questa è la configurazione probabilmente più diffusa, essa offre un buon compromesso tra sicurezza e performance. RAID 5 richiede almeno 3 dischi, offre un guadagno nella velocità di lettura ma nessun vantaggio nelle performance di scrittura. Questo livello introduce la parità nell’array, la quale impiega lo spazio di un disco del sistema. La configurazione RAID 5 tollera il guasto di 1 drive.

Ulteriori  caratterestiche del RAID 5.

Livello RAID 5

RAID 6

Questo livello parte da ed estende i concetti del livello 5 – sono richiesti un minimo di 4 dischi e viene introdotta una doppia parità ossia la possibilità di ricreare i dati anche se si guastano 2 dischi nell’array.

Livello RAID 6

I moderni sistemi RAID

Al giorno d’oggi è possibile ottenere molto di più dal proprio sistema RAID. Tuttavia, considerata la complessità dei moderni array (e come essi spesse volte siano utilizzati all'interno di sistemi altrettanto complessi come ad esempio in caso di virtualizzazione) non è raro che tale tecnologia soffra di malfunzionamenti. Quando ciò accade, poiché oggi molti sistemi sono interconnessi tra loro il problema può potenzialmente causare significative perdite di dati con pesanti ripercussioni economiche sul business dovute al fermo macchina (downtime).

I moderni array RAID possono anche utilizzare file system multipli come BTRFS o ZFS a livello hardware, con NTFS o HFS come layer superiore per il supporto di applicazioni attraverso la virtualizzazione.

Quali sfide per il recupero dei dati da sistemi RAID

É facile comprendere come i RAID siano sistemi altamente complessi. Questo è ancora più vero per le infrastrutture IT di tipo enterprise dove i RAID sono comunemente impiegati per le applicazioni di business più critiche e la disponibilità e l’efficienza dei sistemi sono fattori cruciali. Ancora di più, tecnologie ulteriori come la virtualizzazione o le applicazioni basate su database possono creare un vero disastro se il sistema smette di funzionare.

Dal punto di vista del recupero dati, non è normalmente sufficiente ricostruire il file system RAID e aggirare i danni di tipo fisico, ma è necessario anche valutare e tenere in considerazione qualsiasi architettura virtualizzata che possa essere presente sul sistema. Tutto ciò rende spesso l’operazione di recupero dati estremamente complicata e time-consuming; tuttavia, nella maggior parte dei casi il recupero dei dati porta ad ottimi risultati.

Essere preparati

Sfortunatamente ad un certo punto della loro vita i drive possono (e lo faranno) guastarsi o subire dei malfunzionamenti. Quando questo inconveniente si verifica se a guastarsi è un singolo drive - assumendo che la configurazione RAID sia di livello 1 o superiore - l’unità guasta può essere sostituita con una nuova funzionante per avviare la ricostruzione dei dati senza alcuna perdita di informazioni. Se invece il guasto eccede la capacità di ridondanza del livello RAID configurato, sarà necessario consultare un esperto di recupero dati RAID per massimizzare la possibilità di riottenere le informazioni perdute.

Ovviamente sarà imperativo scegliere un fornitore con la disponibilità di tool adeguati e che abbia un’esperienza tale da permettere il recupero da qualsiasi livello RAID e in qualsiasi scenario. Si dovrebbe anche valutare se il fornitore ha delle partnership con i vendor del sistema di storage e se ha capacità di sviluppo qualora fosse necessario operare su configurazioni fatte su misura o personalizzate sul cliente.

In caso di necessità di data recovery da sistema RAID, gli esperti in Ontrack sono a tua disposizione.