I RAID (Redundant Array of Independent Disks) sono una tecnologia di archiviazione utilizzata per ottimizzare le prestazioni e la sicurezza. Nella pratica, si tratta di collegare diversi dischi in un singolo array distribuendo i dati e creando delle forme di ridondanza. La ridondanza permette al sistema di funzionare in caso di guasti mentre il parallelismo permette di velocizzare la scrittura e lettura dei dati.
I livelli semplici utilizzano solo una di queste strategie. Ad esempio, Il RAID 0 si avvale solo dello striping e il RAID 1 solo del mirroring (una forma di ridondanza). Al contrario, i livelli complessi come il RAID 10, il RAID 50 e il RAID 60, combinano entrambe le tecniche.
Il RAID 5 combina striping e ridondanza pur essendo semplice da configurare e avendo un buon equilibrio tra sicurezza e prestazioni. Inoltre, utilizzando la ridondanza senza sacrificare eccessivamente lo storage, è adatto ad applicazioni e settori in cui il budget è importante.
Cos’è il RAID 5 ?
Il RAID 5 è un sistema di archiviazione che combina 3 o più dischi rigidi in un singolo array. Il numero 5 indica un’evoluzione rispetto ad altri livelli più semplici come 0, 1, 2, 3 e 4. La tecnologia RAID è stata introdotta nel 1987 da David A. Patterson, Garth A. Gibson e Randy H. Katz, tre ricercatori dell'Università della California, Berkeley, che pubblicarono un articolo intitolato "A Case for Redundant Arrays of Inexpensive Disks (RAID)". Essi proposero cinque livelli basati su due principi fondamentali: lo striping e la ridondanza.
Lo striping consiste nel suddividere i dati in blocchi di dimensione fissa e distribuirli in modo equo tra i dischi, in modo da aumentare la velocità di lettura e scrittura. La ridondanza consiste invece nel duplicare o calcolare dei dati in modo da poterli recuperare in caso di guasti. Tra i livelli proposti, il RAID 0, 1 e 5 sono quelli che hanno avuto maggiore successo e sono tuttora largamente utilizzati.
Altri livelli meno comuni proposti nel 1987 sono il RAID 2, 3 e 4. Il RAID 2 usa lo striping a livello di bit, ovvero divide i dati in bit anziché in blocchi e, per garantire la ridondanza, usa un sistema di correzione degli errori chiamato codice di Hamming. Il RAID 3 usa lo striping a livello di byte, ossia divide i dati in byte anziché in blocchi, e usa un disco dedicato alla parità. Infine, il RAID 4 usa lo striping a livello di blocco, ma usa anch'esso un disco dedicato alla parità.
RAID 5: come funziona
l RAID 5, oltre allo striping, utilizza una forma particolare di ridondanza. Anziché duplicare i dati, calcola e scrive dei valori che permettono di ricostruire i dati usando una funzione logica XOR. Questi valori, chiamati blocchi di parità, sono distribuiti tra i dischi, in modo che ognuno di essi contenga sia blocchi di dati che di parità.
Questo sistema garantisce una buona tolleranza ai guasti, in quanto tollera la perdita di un disco. Ciò significa che anche se un disco fallisce, l'array continua a funzionare ed è in grado di ricostruire la configurazione usando le informazioni di parità.
Inoltre, garantisce una buona efficienza dello spazio di archiviazione, con una capacità netta di n-1 dischi. Ad esempio un array da 3 dischi ne utilizza 2 per i dati, cioè circa il 66,7% della capacità totale, contro il 50% dei livelli che utilizzano la specchiatura. Il rimanente spazio è usato per la parità, ma aumentando il numero di dischi aumenta la percentuale di spazio utilizzabile per l’archiviazione. Un array da 4 dischi infatti ne utilizza 3 per i dati e 1 per la parità, con un'efficienza che sale al 75%.
Cos'è il blocco di dati
Il RAID 5 suddivide i dati in blocchi e li distribuisce tra i dischi per aumentare le prestazioni. Questi blocchi sono entità indivisibili con una dimensione specifica, che varia in base alle impostazioni di archiviazione. La dimensione è un parametro importante perché influenza le prestazioni, l'efficienza di archiviazione e il recupero dei dati.
Per capire il funzionamento, facciamo un' esempio con una configurazione di blocco da 64 KB. Quando un utente scrive un file di 128 KB, il controller lo divide automaticamente in due blocchi da 64 KB e li assegna a una posizione specifica.
In un array con tre dischi, scrive i due blocchi di dati sul primo e secondo supporto, mentre scrive il blocco di parità sul terzo. Il file successivo viene diviso allo stesso modo ma distribuito diversamente: il blocco di parità si troverà sul secondo disco, mentre i blocchi di dati sul primo e sul terzo. Il processo si ripete con i file seguenti distribuendo equamente i blocchi di dati e di parità su tutti i dischi.
La dimensione del blocco di dati può influire sul recupero dei dati, sia nel caso di rebuild automatico che di ripristino manuale. Impostando una dimensione di blocco grande, il sistema necessita di meno operazioni per restituire il file completo, diminuendo il tempo di ricostruzione e il rischio di errori. Inoltre, una configurazione con blocchi grandi non suddivide i file sotto la dimensione minima e li scrive così come sono, favorendo il recupero di un numero maggiore di file intatti.
Cos'è il blocco di parità
Il blocco di parità funziona come una sorta di checksum, cioè un valore numerico utilizzato per verificare l’integrità dei dati. Il checksum viene calcolato utilizzando algoritmi specifici, come somme di controllo o funzioni hash. Questo valore è associato ai dati originali e memorizzato o trasmesso insieme ad essi.
Durante la verifica o la ricostruzione dei dati, il sistema calcola nuovamente il checksum e lo confronta con il valore memorizzato. Se i due valori coincidono, i dati sono considerati integri. Nel contesto RAID, il blocco di parità svolge questa funzione poiché permette di verificare e correggere eventuali errori o perdite di dati in seguito ai guasti.
Considerando un array con tre dischi, dove uno è dedicato alle informazioni di parità, la creazione di tali informazioni è realizzata mediante l'operazione XOR sui dati. Per esempio, se desideriamo archiviare il carattere 'Z' sul primo disco e 'Y' sul secondo, il terzo disco, incaricato della parità, registrerà il risultato dell'operazione nel modo seguente:
Z XOR Y = Parità
Questo dato di parità permette di ricostruire le informazioni originali su entrambi i dischi in caso di guasto di uno dei due. Il recupero dei dati mancanti avviene applicando nuovamente XOR tra il dato di parità e il contenuto del disco funzionante:
Z XOR Y = Parità
Z Parità XOR = Y
Y Parità XOR = Z
Un'operazione di questo tipo è efficiente anche nel caso di modifica dei file. L'accesso ad un'intera striscia solo per aggiornare i dati di parità richiederebbe troppo lavoro. Così il sistema, per risparmiare risorse, usa le precedenti informazioni di parità, accedendo solo ai dati originali senza bisogno di toccare gli altri nelle rimanenti strisce:
Dati originali XOR Dati aggiornati XOR Parità originale = Parità aggiornata
Anche in questo caso, il recupero dati RAID 5 può essere influenzato dalla dimensione del blocco di parità. Se è troppo grande, si ha un sovraccarico di calcoli durante la ricostruzione, specialmente se solo una piccola parte dei dati è stata modificata.
Inoltre, aumenta la probabilità di write hole, un fenomeno che può verificarsi durante un'interruzione di corrente. Il write hole è una scrittura incompleta delle informazioni che genera un’incoerenza tra i dati e la loro parità, rendendo il recupero problematico.
RAID 5: vantaggi e svantaggi
Dopo aver analizzato le caratteristiche, è possibile affermare che il RAID 5, pur non essendo infallibile, è un sistema di archiviazione sicuro e con un buon equilibrio tra prestazioni e costi. Di seguito riassumiamo alcuni dei principali vantaggi e svantaggi di questa soluzione di archiviazione.
Vantaggi:
- Ridondanza dei dati: la parità distribuita consente di mantenere l'integrità dei dati e la continuità operativa anche in caso di un disco guasto.
- Efficienza dello spazio: abbinando la parità con lo striping, si ha una maggiore efficienza dello spazio rispetto ad altri livelli basati sulla specchiatura (mirroring).
- Buone prestazioni in lettura: distribuendo i dati su più dischi, questo livello è in grado di fornire buone prestazioni grazie alla capacità di parallelizzare le operazioni di lettura.
- Facilità di implementazione: è relativamente facile da installare e gestire rispetto ad altri livelli annidati che usano la parità.
Svantaggi:
- Prestazioni in scrittura: la scrittura dei file è rallentata dal calcolo della parità e dalla sua distribuzione sui dischi.
- Tempi di ricostruzione: un recupero dati RAID 5 può essere un processo intensivo in termini di risorse, specialmente durante la ricostruzione con dischi di grande capacità.
- Vulnerabilità durante la ricostruzione: se un altro disco fallisce durante questo periodo, potrebbe portare alla perdita permanente dei dati.
- Processo di espansione: espandere questo tipo di array è complesso rispetto ad altri livelli, poiché coinvolge la redistribuzione dei dati e dei blocchi di parità su tutti i dischi.
In sintesi, questa soluzione di archiviazione è ideale in circostanze che richiedono un buon compromesso tra costo, prestazioni e sicurezza, ma non lo è quando sono richieste elevate velocità di scrittura o massima tolleranza ai guasti.
Scenari d’uso
Il RAID 5, avendo un buon rapporto tra costi e prestazioni, è una scelta attraente per le organizzazioni che desiderano un buon grado di sicurezza dei dati con i costi di implementazione e gestione contenuti. Questa soluzione di archiviazione è largamente usata nei seguenti scenari:
- Archiviazione di dati critici: viene impiegato nei server aziendali per l'archiviazione di database, file di sistema e altri dati importanti.
- Server di file e condivisione: è utilizzato nei NAS in ambienti che richiedono accesso condiviso ai dati. Anche in piccoli uffici, una configurazione di base con tre dischi offre un buon livello di protezione ed efficienza di spazio di archiviazione.
- Applicazioni di virtualizzazione: è una soluzione ideale in ambienti di virtualizzazione poiché fornisce un’archiviazione affidabile e veloce.
Grazie a queste caratteristiche, il RAID 5 è usato in vari settori tra cui IT, finanza, sanità, educazione e ingegneria.
Il RAID 5 è sicuro?
Il RAID 5 è considerato un sistema di archiviazione sicuro perché utilizza la parità distribuita su tre o più dischi per la ricostruzione in caso di guasto. Tuttavia, non tollera due dischi falliti contemporaneamente, che bloccano il sistema e lo espongono ad una perdita definitiva dei dati.
Perciò non è considerato una soluzione di archiviazione infallibile e altri livelli come il RAID 6, che tollera la rottura di due dischi, sono preferibili per applicazioni critiche. Le probabilità e le modalità di recupero dati RAID 5 dipendono in gran parte dal tipo di guasto.
Guasti tipici
I danni che si riscontrano solitamente durante un recupero dati RAID 5 sono:
- Guasti fisici: si tratta di danni provocati dal surriscaldamento o dall'usura dei dischi. Si verificano in seguito ad un uso prolungato o ad un ambiente operativo inadeguato.
- Guasti software: tra questi rientrano errori nel file system, problemi con il firmware o contagio da virus. Gli errori nel file system sono dovuti da malfunzionamenti del software o da interruzioni di corrente durante le operazioni di scrittura. Il firmware non aggiornato può invece mancare delle funzionalità di gestione e correzione degli errori presenti nelle versioni più recenti, aumentando il rischio di scrittura errata. Ciò espone al rischio di doppi errori o lacune che possono compromettere la coerenza delle informazioni di parità. Anche virus e malware bloccano completamente l’accesso ai dati o compromettono l'avvio e il funzionamento del sistema.
- Guasti al controller: provocano accessi incoerenti ai dischi, scritture errate o incomplete.
- Errori umani: si tratta di impostazioni errate o manutenzione impropria che causano anomalie e possibili perdite di dati.
Imprevisti
Tra i guasti meno comuni ci sono gli imprevisti che si verificano durante la ricostruzione o la manutenzione, in particolare:
- Guasto multiplo durante la ricostruzione: se un altro disco fallisce prima che il processo sia completo, si rischia di perdere i dati, poiché il sistema non tollera due guasti simultanei. Per mitigare questo rischio, è essenziale avere un backup completo e verificato prima di iniziare la ricostruzione.
- Guasto durante la migrazione o l'espansione: se un disco dovesse fallire durante queste operazioni, potrebbe compromettere l'integrità dei dati. Questo rischio è elevato con supporti di grande capacità, poiché il tempo di ricostruzione è maggiore e, di conseguenza, aumenta la finestra temporale per un ulteriore rottura. Per diminuire le possibilità di errori o guasti durante queste fasi, è consigliabile seguire le istruzioni del produttore e scegliere momenti con un basso carico di lavoro.
Corruzione dei blocchi di parità
Un problema riscontrato di frequente durante il recupero dati RAID 5 è la corruzione dei blocchi di parità: se essi sono corrotti e illeggibili, potrebbe essere impossibile recuperare i dati mancanti. Come già accennato, ciò succede soprattutto in presenza di "write hole'", una scrittura incompleta causata da un’interruzione di corrente o da un crash di sistema. Altre possibili cause sono i guasti hardware o le anomalie del caching dei dischi che violano l'ordine di scrittura stabilito dal controller.
Il write hole è comune a diversi livelli, inclusi quelli basati sulla specchiatura come il RAID 1. Ma nel caso dei livelli che usano la parità può provocare una discrepanza tra dati e informazioni di parità. Ad esempio, l’interruzione di corrente dopo che i dati sono stati scritti ma prima che la parità sia stata calcolata, genera un'incoerenza. Se si verifica un guasto e bisogna ricostruire l’array, questa discrepanza potrebbe generare un recupero non conforme all’originale.
Per mitigare il rischio di write hole è consigliabile proteggersi da interruzioni di corrente improvvise. Alcune soluzioni sono l'uso di batterie di backup, gruppi UPS o moduli di memoria non volatile per completare la scrittura.
A livello software il rischio è mitigabile con funzione di journaling che registrano le operazioni di scrittura e correggono gli errori durante il riavvio. È anche utile forzare una resincronizzazione dell'array dopo ogni spegnimento accidentale.
Recupero dati RAID 5: modalità di ripristino
Il recupero dati RAID 5 si articola in diverse fasi:
- diagnosi: la ricerca del guasto comporta sia un' osservazione fisica dei dischi che un' analisi delle notifiche di errore del sistema. Il BIOS o il software di gestione danno informazioni utili per identificare il problema, ad esempio segnalando se l'array si trova in stato degraded o failed.
- clonazione dei dischi: è importante non compromettere lo stato originale dei dischi, di conseguenza si crea un'immagine e si lavora su di essa.
- sostituzione dei dischi: se il controller lo consente, gli utenti o i tecnici procedono con l'hot swapping, una funzionalità che permette di sostituire un disco senza spegnere il sistema o interromperne il funzionamento.
- ricostruzione: in caso di guasto di un singolo disco, il RAID 5 rimane funzionante. Il controller utilizza i dati e la parità distribuiti per riscrivere correttamente i dati e la parità sulle nuove unità. Durante questo processo, è bene avvisare gli utenti del tempo e delle risorse usate, che possono influenzare le prestazioni generali. I tecnici possono controllare l'avanzamento tramite l'interfaccia software del controller. In questo modo è possibile verificare l’assenza di errori o imprevisti durante la ricostruzione.
- verifica dei dati: dopo la ricostruzione, si eseguendo prove di lettura/scrittura e si utilizzando strumenti di verifica dell'integrità dei file per capire se ci sono file corrotti.
- consegna al cliente: se i dati sono stati ripristinati e verificati correttamente, vengono consegnati al cliente.
RAID 5 con 2 dischi guasti
Il recupero dati RAID 5 con due dischi guasti è estremamente complesso e potrebbe non garantire il ripristino totale dei file. Infatti, le informazioni di parità non sono sufficienti per ricostruire i dati persi, perciò le possibilità di successo dipendono dalla gravità del danno e dalla disponibilità di un backup.
In un scenario simile è fondamentale che gli utenti si astengano dall’utilizzare il sistema o dal tentare di riparare i danni. Recuperare i dati da un backup è la soluzione meno complicata, ma se ciò non fosse possibile si procede come segue:
- diagnosi: l'identificazione delle unità danneggiate permette di risalire alle possibile cause. Quando viene notificato lo stato failed e tutte le unità sono inaccessibili è possibile che ci sia un' errore software o umano, come una configurazione sbagliata.
- clonazione dei dischi: creare un'immagine dell'array è indispensabile per svolgere tutte le necessarie operazioni in sicurezza.
- analisi dei dischi: attraverso strumenti e tecniche specializzate si esaminano tutte le informazioni memorizzate sui supporti, incluso il file system, le partizioni, i metadati e le istruzioni di avvio. I dati vengono verificati accuratamente per individuare eventuali segni di corruzione. Un'analisi completa permette di avere un quadro della situazione e di capire come recuperare i dati.
- recupero dei dati: individuati i file mancanti o corrotti si tenta la ricostruzione attraverso le stripe di dati e i blocchi di parità.
- ricostruzione: una volta estratti i file si può ricostruire lo stato originale dei dischi
- verifica dei dati: si esegueno prove di lettura/scrittura e si utilizzano strumenti di verifica dell'integrità dei file per capire se ci sono altri file corrotti.
- consegna al cliente: se i test vengono superati i dati sono pronti per essere consegnati al cliente.
Se le unità sono danneggiate fisicamente, prima devono essere aperte in camera bianca per estrarre i dati manualmente. Solo in seguito è possibile leggerle e cominciare la ricostruzione dei dati.
Conclusioni
In conclusione, ricordiamo che il RAID 5, pur essendo una soluzione di archiviazione sicura, non è un backup e offre una tolleranza limitata ai guasti multipli o agli errori umani. II recupero dati RAID 5 dipende dal tipo di danno e dalla complessità della situazione. Oltre ai problemi tipici come danni fisici o errori software, possono presentarsi casi insoliti o problemi di cui l’utente ignora l’esistenza.
Ad esempio, alcuni dischi possono avere settori danneggiati o non contenere informazioni sufficienti per ricostruire i dati. In queste situazioni è necessario ricorrere a tecniche avanzate di recupero, come la ricomposizione delle informazioni dai frammenti dispersi.
In generale, l’utente dovrebbe sempre adottare delle misure preventive, tra cui proteggersi da interruzioni di corrente, aggiornare il firmware ed eseguire controlli periodici dell’integrità dei dati. Inoltre, non dovrebbe mai tentare di ricostruire un array degradato o fallito senza consultare un esperto, poiché ciò potrebbe portare a una perdita di dati definitiva.
La prima azione consigliata è interrompere l'uso e rivolgersi a un servizio professionale, che possiede le competenze e le tecnologie adatte. Se hai riscontrato problemi con il tuo RAID 5 o hai perso l'accesso ai tuoi dati, non aspettare che sia troppo tardi. Contattaci per una consulenza e un'analisi approfondita del tuo caso.
Recupero Dati Professionale