RAID 6: La fusione tra affidabilità e prestazioni

Written By: Ontrack

Date Published: 06/11/23 2.37

RAID 6: La fusione tra affidabilità e prestazioni

Healthy RAID 6 Array

Un array RAID è un insieme di più hard disk configurati in una specifica architettura, utilizzando soluzioni hardware o software, per proteggere i dati e migliorare le prestazioni del sistema. L'acronimo RAID significa "array ridondante di dischi indipendenti" (Redundant Array of Independent Disks). Esistono molti tipi di array RAID diversi, ognuno con le proprie caratteristiche in termini di velocità di lettura e scrittura, nonché di ridondanza o tolleranza ai guasti.

La configurazione RAID 6, come quella RAID 5, è stata sviluppata negli anni '80. Gli array RAID 6 implementati con un controller hardware sono spesso utilizzati poiché offrono un buon compromesso tra ridondanza e velocità. Un array RAID 6 richiede almeno quattro hard disk e offre una elevata velocità di lettura con un impatto minimo sulle prestazioni a livello di scrittura. Questo livello di RAID è in grado di tollerare guasti fino a due dischi.

Configurazione di un RAID 6: come funziona?

La configurazione RAID 6 è simile a quella RAID 5, in quanto entrambi gli array utilizzano la parity e lo striping dei dati. La principale differenza tra i due consiste nel fatto che il RAID 6 dispone di due stripe di parity, mentre il RAID 5 ne ha solo una. Ciò consente a un array RAID 6 di tollerare fino a due guasti ai drive, invece di uno solo come nel RAID 5. I dati contenuti nella prima stripe di parity, nella maggior parte delle configurazioni RAID 6, sono uno XOR dei dati delle altre stripe; mentre la seconda stripe di parity è tipicamente un algoritmo proprietario.

Per implementare un RAID 6 sono necessari due dischi per gestire la parity. Questo implica che un array RAID 6 è più economico da implementare rispetto a un RAID 10 di dimensioni simili, poiché solo lo spazio di due unità è allocato per la gestione della parity. Inoltre, i RAID 6 consentono di disporre anche di più flessibilità e maggiore capacità di storage rispetto a un RAID 1.

Matriz RAID 6 saludable

Nell'esempio sopra, abbiamo un array RAID 6 con cinque unità, esattamente come quello che si potrebbe trovare in un server Dell PowerEdge. Il primo parity block (Parity 1), situato sul Drive 4 per la prima stripe, è lo XOR dei dati dei blocchi denominati Data 1 (Drive 1), Data 2 (Drive 2) e Data 3 (Drive 3).

Il secondo blocco di parity (Parity 2), situato sul Drive 5 per la prima stripe, è una combinazione dei dati di Data 1, Data 2, Data 3 e potrebbe includere anche la Parity 1, a seconda del produttore e del controller. Questi calcoli di parità devono essere ripetuti su tutte le data stripe utilizzando diverse combinazioni di dischi. 

A cosa serve la parity in un array RAID 6?

La parity è una funzione matematica che fornisce una protezione aggiuntiva ai dati memorizzati nel sistema RAID 6, in quanto consente la ricostruzione di eventuali dati persi. La presenza di un parity block (blocco di parità) come parte di ogni data stripe, consente al sistema di eseguire il rebuild dei dati in caso di guasto o disconnessione di una o più unità. Il controller o il software RAID possono ricostruire virtualmente qualsiasi segmento di dati mancante utilizzando la parity.

Nell'esempio qui sotto, vediamo che il Drive 2 è guasto:

RAID 6 con un drive guasto

In caso di perdita di un'unità, l'array entrerà in modalità degradata (degraded mode). In modalità degradata, il controller RAID assocerà le strisce di dati con la parity per "presentare" dati integri al sistema operativo. Nel nostro esempio, il controller utilizzerà Data 1, Data 3 e Parity 1 nella la prima stripe per sostituire i dati mancanti in Data 2. Nella seconda striscia, verranno utilizzati Data 4, Data 6 e Parity 1 per sostituire Data 5. Nella terza e quarta stripe, non è necessaria la parity poiché tutte le unità dati sono funzionanti.

Con due blocchi di parità per ogni stripe, la configurazione RAID 6 può tollerare la perdita di due unità. Nell'esempio qui sotto, vediamo che i Drive 2 e 4 sono guasti.

RAID 6 con due drive guasti

In caso di perdita di due unità, il controller utilizzerà le stripe dati insieme alle informazioni di Parity 1 e Parity 2 per ricreare i dati mancanti. Nel nostro esempio, il controller combinerà Data 1, Data 3 e Parity 2 della prima stripe per sostituire i dati mancanti in Data 2. Nella seconda stripe, vengono utilizzati Data 4, Data 6 e Parity 1 per sostituire Data 5. Nella terza stripe, vengono utilizzati Data 7, Data 9 e Parity 2 per sostituire Data 8.

Come funziona un Hot Spare in un array RAID 6?

 

Matriz saludable RAID 6 con repuesto activo

Un Hot Spare è un drive addizionale con lo scopo di aumentare la sicurezza del sistema: uno o più dischi possono essere aggiunti ad un array RAID 6 per consentire un ripristino dei dati rapido in caso di guasto di un dispositivo di storage. Nel caso di un array RAID 6 funzionante, come quello illustrato nell'esempio, è possibile notare l'aggiunta di un singolo Hot Spare. Si tenga presente che l'Hot Spare non contiene alcun dato fino a quando non si verifica un guasto e il disco diventa necessario.

Qualora un Hot Spare sia disponibile per il sistema, in caso di guasto di un drive, il controller avvierà automaticamente la ricostruzione dei dati mancanti dal disco danneggiato all'Hot Spare.

RAID 6 con un drive guasto e Hot Spare

Come evidenziato nell'esempio sopra, il Drive 2 è guasto. Il sistema ha impiegato l'Hot Spare per ricostruire tutti i dati mancanti dal Drive 2 sull'Hot Spare. Il Drive 2 può ora essere rimosso dal sistema e sostituito con un disco nuovo - sia come nuovo Hot Spare che come nuovo Drive 2 - e i dati possono essere ripristinati su di esso.

Perché utilizzare un Hot Spare? Quando un disco si guasta, il fattore tempo è essenziale per il successo delle operazioni di rebuild dei dati. Il funzionamento in modalità degradata sottopone a maggiore "stress" i dischi rimanenti e può causare ulteriori guasti se non corretto rapidamente. Inoltre, è possibile che i dischi prodotti nello stesso lotto presentino difetti simili, pertanto, altri dischi potrebbero guastarsi a breve. Disporre di uno o più Hot Spare consente di ottenere tempi di ripristino più rapidi e garantire la continuità operativa dell'array RAID.

Quali sono le cause dei guasti degli array RAID 6?

Ci sono diverse ragioni per cui un array RAID 6 può guastarsi. Di seguito alcune delle principali cause riscontrate dagli ingegneri Ontrack:

  • Guasti di più dischi
  • Problemi di alimentazione (sovraccarico o bassa tensione)
  • Guasto del controller RAID o del software RAID
  • Corruzione del RAID (inclusa la corruzione di tipo logico)
  • Danneggiamento da alluvione/acqua o da incendi
  • Rebuild falliti o parziali

È possibile eseguire il recupero dati da un RAID 6?

Recuperare i dati da un RAID 6 è possibile. Sebbene gli interventi di data recovery possano essere complessi e più impegnativi, generalmente si concludono con successo. La sfida più grande è spesso rappresentata dall'algoritmo proprietario utilizzato per creare il secondo blocco di parità, poiché ogni produttore lo implementa in modo diverso e spesso è necessario uno sviluppo personalizzato di strumenti di supporto.

Le cause della perdita di dati sono molteplici e per ognuna di esse le operazioni di recupero sono diverse. Di seguito sono riportati alcuni esempi:

Recupero dati con un'unità guasta

RAID 6 una unidad fallida

Come in un sistema RAID 5, se un drive si guasta in un array, la parity può essere utilizzata per ricostruire i dati mancanti. In questo scenario, Ontrack è solitamente in grado di recuperare il 100% dei dati. Al ricevimento di un array non funzionante, tutte le unità dell'array vengono sottoposte a imaging in camera bianca (compresa l'unità guasta, se possibile). Quindi l'array viene ricostruito virtualmente utilizzando tali immagini. Una volta che il RAID è assemblato, il file system o il volume viene scansionato per individuare eventuali malfunzionamenti, riparato virtualmente e, infine, si prosegue con l'estrazione dei dati. Spesso non è necessario intervenire sul drive guasto, poiché qualsiasi stripe di dati mancante può essere ricostruita utilizzando la parity.

Recupero dati con due unità guaste

RAID 6 - 2 unidades fallidas

A differenza dell'array RAID 5, per il cui funzionamento sono necessarie tutte le unità tranne una, il RAID 6 è progettato per consentire il guasto di un massimo di due dischi senza che il malfunzionamento provochi il degrado dei dati. Il processo di data recovery da più drive danneggiati è simile a quello utilizzato per un singolo drive guasto. Al ricevimento di un array non funzionante, i drive vengono sottoposti a un'analisi in camera bianca, compresi i dischi guasti. Se i dati sui drive sono aggiornati, le unità guaste potrebbero anche non essere necessarie per ottenere un recupero completo del sistema. Quindi l'array viene ricostruito virtualmente utilizzando le immagini dei dischi.

Nell'esempio sopra, i Data 1, 3 e la Parity 2 dello stripe 1 vengono utilizzati per ricostruire i Data 2. I Data 4, la Parity 1 e i Data 6 vengono utilizzati per ricostruire i Data 5 nella seconda stripe. I Data 7, la Parity 2 e i Data 9 vengono utilizzati per ricostruire i Data 8 nel terzo stripe.

Una volta che l'array RAID è virtualmente riassemblato, il file system o il volume viene scansionato alla ricerca di eventuali danni. Oltre alla corruzione del file system, gli ingegneri cercano anche dati non coerenti o obsoleti. Questo accade quando c'è un intervallo di tempo tra i guasti dei drive e uno dei drive è degradato. Gli ingegneri di recupero dati hanno esperienza nel riconoscere questo tipo di danno per poter riparare virtualmente il volume ed estrarre dati validi.

Recupero dati con più di due unità guaste

È possibile effettuare un recupero completo da un array RAID 6 anche in presenza di più di due unità guaste.

RAID 6 guasti multipli

Nell'esempio sopra, abbiamo un array RAID 6 con danni in alcune aree di tutti e cinque i dischi. Se non ci sono più di due blocchi danneggiati per stripe, è possibile ricostruire i dati mancanti. Ontrack eseguirà l'imaging della maggior parte possibile di ogni unità.

Quindi l'array verrà ricostruito virtualmente utilizzando queste immagini. Nell'esempio precedente, i Dati 1, 3 e la Parity 2 dello stripe 1 vengono utilizzati per ricostruire i Dati 2. Non è necessaria alcuna parity per lo stripe 2, poiché i Dati 4, 5 e 6 sono intatti. I Dati 7, la Parity 2 e i Dati 8 vengono utilizzati per ricostruire i Dati 9 del terzo stripe.

Una volta che l'array RAID è stato virtualmente riassemblato, il file system o il volume viene scansionato per individuare eventuali danni. I dati recuperabili vengono estratti dall'array ricostruito virtualmente su nuovi supporti per essere rimessi in produzione.

Iscriviti

KLDiscovery Ontrack Srl, Via Marsala 34/A, Torre/A, 21013, Gallarate (VA), Italia (Mostra tutte le sedi)