RAID

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando altri significati, vedi Raid (disambigua).
Se riscontri problemi nella visualizzazione dei caratteri, clicca qui.

In informatica il RAID, acronimo di Redundant Array of Independent Disks, insieme ridondante di dischi indipendenti, è una tecnica di raggruppamento di diversi dischi rigidi collegati ad un computer che li rende utilizzabili, dalle applicazioni e dall'utente, come se fosse un unico volume di memorizzazione. Tale aggregazione sfrutta, con modalità differenti a seconda del tipo di implementazione, i principi di ridondanza dei dati e di parallelismo nel loro accesso per garantire, rispetto ad un disco singolo, incrementi di prestazioni, aumenti nella capacità di memorizzazione disponibile, miglioramenti nella tolleranza ai guasti.[1]

Il RAID è una tecnica tipicamente impiegata nei server o nelle workstation che richiedano grandi volumi o elevate prestazioni di immagazzinamento di dati, per esempio per ospitare una base di dati o una postazione di montaggio di audio o video digitali. Il RAID si trova comunemente anche nei NAS e, sempre, nei sistemi di storage per architetture blade.

Storia[modifica | modifica wikitesto]

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.[2] 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à.

Implementazioni RAID[modifica | modifica wikitesto]

Data Striping[modifica | modifica wikitesto]

I dati vengono partizionati in segmenti di uguale lunghezza e scritti su dischi differenti. La grandezza della partizione si chiama unità di striping. Le partizioni vengono solitamente distribuite fra i dischi usando un algoritmo round robin.

Quando la dimensione dei dati richiesti è superiore ad un'unità di striping, tali dati vengono distribuiti su più dischi e possono essere letti in parallelo aumentando le prestazioni (alcuni sistemi di RAID implementano questa funzionalità). Ad esempio se abbiamo un'unità di striping di 1 bit e abbiamo un array di D dischi, le sequenze di dati lunghe D bit o più, necessitano di tutti i dischi.

Economico o indipendente[modifica | modifica wikitesto]

Sebbene la "I" di RAID oggi generalmente significhi independent (indipendente) invece di inexpensive (economico), uno dei vantaggi originali del RAID era l'uso di apparecchiature poco costose e rimane vero in molte situazioni, soprattutto dove vengono usati dischi IDE/ATA o SATA.

Più comunemente, invece, vengono usati dischi SCSI indipendenti (e più costosi), anche se il costo di tali dischi è molto minore del sistema che il RAID in genere sostituisce.

Hardware o software[modifica | modifica wikitesto]

Il RAID può essere implementato sia con hardware dedicato sia con software specifico su hardware di uso comune.

Con una implementazione software, il sistema operativo gestisce l'insieme di dischi attraverso un normale controller (ATA, SCSI, Fibre Channel o altro). Questa opzione può essere più lenta di un RAID hardware, ma non richiede l'acquisto di componenti extra.

Una implementazione hardware del RAID richiede (almeno) un controllore RAID ad hoc. Nei computer desktop, questo può essere una scheda di espansione PCI o può essere usato il controller presente nella scheda madre. Nei RAID più grandi, il controller e i dischi sono sistemati in un alloggiamento esterno. Questi dischi possono essere ATA, SATA, SCSI, o Fibre Channel mentre il controllore collega il computer ospite con uno o più collegamenti ad alta velocità SCSI, Fibre Channel o connessioni iSCSI, sia direttamente sia come NAS. Questo controllore gestisce i dischi, e compie i controlli di parità (di cui molti livelli RAID hanno necessità).

Questa opzione tende a dare le migliori prestazioni e a rendere la gestione nel sistema operativo molto più semplice. Le implementazioni hardware in genere supportano lo scambio a caldo (hot swapping), permettendo di sostituire un disco mentre il sistema rimane in esecuzione.

Sia i sistemi hardware che software supportano l'uso degli Hot-spare, dischi preinstallati che vengono usati immediatamente (e quasi automaticamente) quando un altro disco si rompe.

Livelli RAID standard[modifica | modifica wikitesto]

Tabella riassuntiva dei più comuni livelli RAID[3]

Livello Numero minimo
di dischi
Capacità Max numero consentito
di dischi difettosi
Schema
RAID 0 2 C × N 0 RAID Level 0
RAID 1 2 C N - 1 RAID Level 1
RAID 3 3 C × (N - 1) 1 RAID Level 3
RAID 4 3 C × (N - 1) 1 RAID Level 4
RAID 5 3 C × (N − 1) 1 RAID Level 5
RAID 6 4 C × (N − 2) 2 RAID Level 6
C = capacità del disco più piccolo; N = numero di dischi

RAID 0 (Striping)[modifica | modifica wikitesto]

Il sistema RAID 0 divide i dati equamente tra due o più dischi con nessuna informazione di parità o ridondanza (operazione detta di striping). Bisogna notare che il RAID-0 non era presente tra i livelli RAID originari, e che non è ridondante. RAID-0 è usato generalmente per aumentare le prestazioni di un sistema, anche se è molto utile per creare un piccolo numero di grandi dischi virtuali da un grande numero di piccoli dischi fisici. Sebbene il RAID-0 non sia indicato tra i livelli RAID originari, in un sistema ideale di tipo RAID-0 le operazioni di I/O si dividerebbero in blocchi di dimensioni uguali e si applicherebbero equamente su tutti i dischi.

Le implementazioni di sistemi RAID-0 su più di due dischi sono possibili, ma l'affidabilità di un dato sistema RAID-0 è uguale all'affidabilità media dei dischi diviso per il numero di dischi presenti. Quindi l'affidabilità, misurata come tempo medio tra due guasti (MTBF), è inversamente proporzionale al numero degli elementi; cioè un sistema di due dischi è affidabile la metà di un disco solo. La ragione per la quale questo succede è che il file system è diviso tra tutti i dischi. Quando un drive si guasta, il file system non può gestire una perdita di dati così grande visto che i dati sono divisi tra tutti i dischi. I dati possono essere spesso recuperati con qualche strumento, anche se saranno sicuramente incompleti e danneggiati.

RAID-0 è molto utile per creare grandi server NFS in una sola posizione, nei casi nei quali montare molti dischi è dispendioso o impossibile e la ridondanza è irrilevante. Si usa anche quando il numero di dischi sia limitato dal sistema operativo. In Microsoft Windows, il numero delle lettere dei dischi è limitato a 26 (come le lettere dell'alfabeto), così il RAID-0 è un modo molto diffuso per usare un numero maggiore di dischi. Comunque, siccome non c'è ridondanza, i dati sono condivisi tra i dischi e i dischi non possono essere sostituiti visto che sono tutti dipendenti tra di loro. Questo tipo di progettazione non è in realtà un vero e proprio RAID, in quanto non c'è alcuna ridondanza (Architettura Dei Calcolatori - Tanenbaum).

  • Vantaggi: costo economico di implementazione basso, alte prestazioni in scrittura e lettura (grazie al parallelismo delle operazioni I/O dei dischi concatenati).
  • Svantaggi: Impossibile montare dischi hot-spare, affidabilità minore di un disco singolo (perché il suo MTTF è dato dal MTTF dei singoli dischi impiegati per la sua implementazione), non è fault tolerant.

Concatenazione[modifica | modifica wikitesto]

Sebbene una concatenazione di dischi non sia uno dei livelli RAID, è un metodo popolare per combinare un insieme di dischi fisici in un grande disco virtuale. Come il nome indica, è semplicemente un concatenamento di dischi al fine di far sembrare l'insieme come un singolo disco.

In questo senso, la concatenazione è un modo per invertire il partizionamento. Mentre il partizionamento prende un singolo disco fisico e crea uno o più dischi logici, la concatenazione usa due o più dischi fisici per creare un singolo disco logico. Anche la concatenazione, come il RAID 0, nel caso di rottura di un disco rende inutilizzabile l'intero array di dischi. In questo caso però il recupero dei dati sarà un po' più probabile rispetto al RAID 0 in quanto i dati sono scritti linearmente come se fosse un solo Hard Disk con un numero di blocchi danneggiati pari alla dimensione dell'Hard Disk danneggiato.

Per questo motivo può essere definito un Insieme di dischi Economici (senza ridondanza), e può essere visto come un parente lontano del RAID. La concatenazione è utile a volte per trasformare un insieme di dischi di diverse dimensioni in un disco logico di dimensioni utili. Quindi, la concatenazione può usare dischi da 3 GB, 15 GB, 5,5 GB e 12 GB per creare un singolo disco logico da 35,5 GB, di certo più utile dei singoli dischi presi separatamente.

In linux 2.6 è definito come RAID

Concatenazione o JBOD[modifica | modifica wikitesto]

JBOD è un acronimo inglese che significa Just a Bunch of Disks ovvero solo un mucchio di dischi. Il termine JBOD viene spesso utilizzato in modo impreciso come sinonimo di "concatenazione", quando in realtà dovrebbe significare i dischi messi lì così come sono. Visto che l'uso non è certo si può intendere (e va verificato di volta in volta) come: o gruppo di dischi accessibili singolarmente, o gruppo di dischi visibili in modo concatenato.

La definizione corretta di JBOD è comunque gruppo di dischi accessibili singolarmente. Il termine più corretto per definire la concatenazione è SPAN.

RAID 1 (Mirroring)[modifica | modifica wikitesto]

Sistema RAID-1. A1, A2, ecc. sono replicati tra i due dischi, aumentando l'affidabilita e la velocità in lettura

Il sistema RAID 1 crea una copia esatta (mirror) di tutti i dati su due o più dischi. È utile nei casi in cui la ridondanza è più importante che usare tutti i dischi alla loro massima capacità: infatti il sistema può avere una capacità massima pari a quella del disco più piccolo. In un sistema ideale, formato da due dischi, l'affidabilità aumenta di un fattore due rispetto al sistema a disco singolo, ma è possibile avere più di una copia dei dischi. Poiché ogni disco può essere gestito autonomamente nel caso l'altro si guasti, l'affidabilità aumenta linearmente al numero di dischi presenti. RAID-1 aumenta anche le prestazioni in lettura, visto che molte implementazioni possono leggere da un disco mentre l'altro è occupato.

Una pratica comune è di creare un mirror extra di un disco (detto anche Business Continuance Volume o BCV) che può essere diviso dal sistema RAID originario ed essere usato in maniera indipendente. In alcune implementazioni, questi mirror aggiuntivi possono essere divisi e aggiunti in maniera incrementale, invece di richiedere una ricostruzione completa del RAID.

  • Vantaggi: affidabilità che aumenta linearmente con i mirror implementati, fault tolerance, lettura legata al disco più veloce della struttura RAID.
  • Svantaggi: overhead legato al mirror, bassa scalabilità, alto costo (vengono utilizzati più dischi ma se ne sfrutta esclusivamente uno), scrittura legata al disco più lento della struttura RAID.

RAID 2 (Bit Level Striping)[modifica | modifica wikitesto]

Un sistema RAID 2 divide i dati al livello di bit (invece che di blocco) e usa un codice di Hamming per la correzione d'errore che permette di correggere errori su singoli bit e di rilevare errori doppi. Questi dischi sono sincronizzati dal controllore, in modo tale che la testina di ciascun disco sia nella stessa posizione in ogni disco. Questo sistema si rivela molto efficiente in ambienti in cui si verificano numerosi errori di lettura o scrittura, ma in ambienti più prestanti, data l'elevata affidabilità dei dischi, il RAID 2 non viene utilizzato. Oggi il RAID 2 viene infatti considerato obsoleto[1].

RAID 3 (Byte Level Striping with Dedicated Parity Disk)[modifica | modifica wikitesto]

A1, B1, ecc. rappresentano ognuno un byte.

Un sistema RAID 3 usa una divisione al livello di byte con un disco dedicato alla parità. Il RAID-3 è estremamente raro nella pratica. Uno degli effetti collaterali del RAID-3 è che non può eseguire richieste multiple simultaneamente. Questo perché ogni singolo blocco di dati ha la propria definizione diffusa tra tutti i dischi del RAID e risiederà nella stessa locazione, così ogni operazione di I/O richiede di usare tutti i dischi.

Nell'esempio accanto, una richiesta per il blocco A richiederà di cercare attraverso tutti i dischi. Una richiesta simultanea per il blocco B rimarrà invece in attesa.

Ridondanza[modifica | modifica wikitesto]

In caso di guasto, si accede al disco di parità e i dati vengono ricostruiti. Una volta che il disco guasto viene rimpiazzato, i dati mancanti possono essere ripristinati e l'operazione può riprendere. La ricostruzione dei dati è piuttosto semplice. Si consideri un array di 5 dischi nel quale i dati sono contenuti nei dischi X0, X1, X2 e X3 mentre X4 rappresenta il disco di parità. La parità per l'i-esimo bit viene calcolata come segue:

X4(i) = X3(i) ⊕ X2(i) ⊕ X1(i) ⊕ X0(i)

Si supponga che il guasto interessi X1. Se eseguiamo l'OR esclusivo di X4(i) ⊕ X1(i) con entrambi i membri della precedente equazione otteniamo:

X1(i) = X4(i) ⊕ X3(i) ⊕ X2(i) ⊕ X0(i)

Così, i contenuti della striscia di dati su X1 possono essere ripristinati dai contenuti delle strisce corrispondenti sugli altri dischi dell'array. Questo principio persiste nei livelli RAID superiori.

RAID 4 (Block Level Striping with Dedicated Parity Disk)[modifica | modifica wikitesto]

A1, B1, ecc. rappresentano ognuno un blocco di dati

Il sistema RAID 4 usa una divisione a livello di blocchi con un disco dedicato alla parità. Il RAID-4 assomiglia molto al RAID-3 con l'eccezione che divide i dati al livello di blocchi invece che al livello di byte. Questo permette ad ogni disco appartenente al sistema di operare in maniera indipendente quando è richiesto un singolo blocco. Se il controllore del disco lo permette, un sistema RAID-4 può servire diverse richieste di lettura contemporaneamente. In lettura la capacità di trasferimento è paragonabile al RAID 0, la scrittura è penalizzata(read-modify-write).

Nell'esempio accanto, una richiesta al blocco A1 potrebbe essere evasa dal disco 1. Una richiesta simultanea al blocco B1 dovrebbe aspettare, ma una richiesta al blocco B2 potrebbe essere servita allo stesso momento.

  • Vantaggi: Fault tolerant, read veloci grazie al parallelismo della struttura, possibilità di inserire dischi hot-spare.
  • Svantaggi: 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 (Distributed Parity)[modifica | modifica wikitesto]

Un sistema RAID 5 usa una suddivisione dei dati a livello di blocco, distribuendo i dati di parità uniformemente tra tutti i dischi che lo compongono. È una delle implementazioni più popolari, sia in software, sia in hardware, dove praticamente ogni dispositivo integrato di storage dispone del RAID-5 tra le sue opzioni.

Nell'esempio sottostante, una richiesta al blocco A1 potrebbe essere evasa dal disco 1. Una simultanea richiesta per il blocco B1 dovrebbe aspettare, ma una richiesta simultanea per il blocco B2 potrebbe essere evasa in contemporanea.

A1, B2, ecc rappresentano ognuno un blocco di dati.

Ogni volta che un blocco di dati (chiamato delle volte chunk) deve essere scritto nel sistema di dischi, un blocco di parità viene generato all'interno della stripe. (Un blocco è spesso composto da molti settori di disco, delle volte anche 256. Una serie di blocchi consecutivi è chiamato stripe). Se un altro blocco, o qualche porzione dello stesso blocco, è scritta nella stessa stripe, il blocco di parità viene ricalcolato e riscritto. Il disco usato per memorizzare le parità viene modificato tra una stripe e la successiva; in questo modo si riescono a distribuire i blocchi di parità.

Bisogna notare che il blocco di parità non viene letto quando si leggono i dati da disco, visto che sarebbero un sovraccarico non necessario e diminuirebbe le prestazioni. Il blocco di parità è letto, invece, quando la lettura di un settore dà un errore CRC. In questo caso, il settore nella stessa posizione relativa nei blocchi di dati rimanenti della stripe, insieme al blocco di parità, vengono usati per ricostruire il blocco mancante. In questo modo l'errore di CRC viene nascosto al computer chiamante. Nella stessa maniera, se un disco dovesse danneggiarsi all'interno del sistema, i blocchi di parità dei dischi rimanenti sono combinati matematicamente al volo con i blocchi dati rimasti per ricostruire i dati del disco guasto.

Questa procedura viene chiamata di solito Interim Data Recovery Mode. Il computer principale non è messo al corrente che un disco si è danneggiato. Le letture e scritture verso il sistema di dischi avvengono tranquillamente come prima, sebbene con qualche calo di prestazioni.

In un sistema RAID 5 che ha un solo blocco di parità per stripe, la rottura di un secondo disco comporta la perdita di tutti i dati presenti nel sistema.

Il numero massimo di dischi è teoricamente illimitato, ma una pratica comune è di mantenere il numero massimo di dischi a 14 o meno per le implementazioni che hanno solo un blocco di parità per stripe. Le ragioni per questo limite sono che la probabilità che due dischi del sistema si rompano in successione cresce con il crescere del numero di dischi. Quando il numero di dischi in un sistema RAID-5 cresce, il MTBF del sistema nel suo complesso può persino diventare minore di quello di un singolo disco. Questo succede quando la probabilità che si rompa un secondo disco degli (N-1) rimanenti, tra il tempo di accorgersi, sostituire e ricreare il primo disco guasto, diventi maggiore della probabilità che un singolo disco si guasti.

Bisogna ricordare che l'aggregazione di piu dischi in spazi ridotti causa un aumentare della temperatura ed espone quest'ultimi a maggiori vibrazioni, influendo quindi sulla tolleranza agli errori, aumentando il rischio di failures e rischiando di ridurne il ciclo di vita. Inoltre, i dischi di uno stesso gruppo comprati nello stesso periodo potrebbero raggiungere la fine della loro vita insieme, abbassando in maniera significativa il MTBF del sistema. È buona norma, normalmente seguita dai produttori di server, inserire in RAID dischi identici ma provenienti da partite differenti, ovvero con numeri di serie e/o date e luogo di produzione distinti e lontani. È semplicemente falsa e - come abbiamo visto - anche controproducente l'affermazione, che spesso si trova in alcune aste online o su alcuni mercatini, che vorrebbe una coppia di dischi con numeri di serie contigui come perfettamente adatta all'utilizzo in RAID.

Nelle implementazioni con più di 14 dischi, o in situazioni dove è necessaria grande ridondanza dei dati, viene usata spesso una implementazione RAID 5 con doppia parità (detta anche RAID 6), che riesce a gestire il guasto contemporaneo di due dischi.

  • Vantaggi: 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.
  • Svantaggi: scritture lente a causa della modifica e del calcolo della parità (4 accessi a disco per ogni operazione I/O).

RAID 6 (Distributed Double Parity)[modifica | modifica wikitesto]

A1, B1, ecc. rappresentano ognuno un blocco di dati.

Un sistema RAID 6 usa una divisione a livello di blocchi con i dati di parità distribuiti due volte tra tutti i dischi. Non era presente tra gli originali livelli RAID.

Nel RAID-6, il blocco di parità viene generato e distribuito tra due stripe di parità, su due dischi separati, usando differenti stripe di parità nelle due direzioni.

Il RAID-6 è più ridondante del RAID-5, ma è molto inefficiente quando viene usato in un numero limitato di dischi. Vedi la doppia parità, spiegata di seguito, per una implementazione ancora più ridondante.

Vantaggi:

  • Altissima fault tolerance grazie alla doppia ridondanza.

Svantaggi:

  • Write 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 dispositvi 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.

Livelli RAID annidati[modifica | modifica wikitesto]

Molti controllori di disco possono annidare alcuni livelli di RAID. Cioè, un sistema RAID può usarne un altro come elemento di base.

RAID 0+1[modifica | modifica wikitesto]

Un sistema RAID 0+1 è un RAID che viene usato sia per replicare che per condividere dati tra diversi dischi. La differenza tra il RAID 0+1 e il RAID 1+0 è la diversa disposizione di ogni sistema RAID. Si consideri l'esempio sottostante del RAID 0+1: sei dischi da 120 GB sono usati per creare un sistema RAID 0+1.

                RAID 1
                  │
         ┌————————┴————————┐
         │                 │
       RAID 0            RAID 0
   ┌—————┼—————┐     ┌—————┼—————┐
   │     │     │     │     │     │
 120GB 120GB 120GB 120GB 120GB 120GB

Lo spazio totale è di 360GB, divisi tra due sistemi. Il vantaggio principale è che quando un disco si rompe tra quelli del RAID-0, i dati mancanti possono essere trasferiti dall'altro RAID-0. Comunque, aggiungere un disco richiede di aggiungere due dischi per bilanciare lo spazio tra i due sistemi.

Il sistema non è così robusto come il RAID 1+0 e non può sopportare la rottura simultanea di due dischi, se non appartengono alla stessa famiglia di RAID 0. Cioè, se un disco si rompe, ogni altro disco dell'altra stripe (riferita al RAID 1) è un elemento critico per il sistema. Inoltre, se un disco viene sostituito, per ricostruire il sistema devono partecipare tutti i dischi dell'insieme RAID 0 ancora funzionante.

RAID 1+0[modifica | modifica wikitesto]

Un sistema RAID 1+0, chiamato anche RAID 10, è simile al RAID 0+1 ma i livelli RAID sono usati in senso invertito. Nell'esempio sottostante si possono vedere 3 insiemi di dischi da 120 GB in RAID 1 che sono uniti per raggiungere lo spazio complessivo di 360 GB.

                   RAID 0
                     │
      ┌——————————————┼——————————————┐
      │              │              │
    RAID 1         RAID 1         RAID 1
   ┌——┴———┐       ┌——┴———┐       ┌——┴———┐
   │      │       │      │       │      │
 120GB  120GB   120GB  120GB   120GB  120GB

Ogni disco di ogni sistema RAID 1 può danneggiarsi senza far perdere dati al sistema. Comunque, se il disco danneggiato non viene sostituito, il disco rimasto nel RAID 1 rimane il punto critico del sistema. Se il disco rimasto si dovesse rompere, tutte le informazioni contenute nell'intero sistema andrebbero perse.

Un disco da 120 GB potrebbe essere aggiunto in ogni momento nel sistema RAID 1 per aumentare la ridondanza. Diversamente dal RAID 0+1, i sotto-sistemi RAID 1 non devono essere aggiornati contemporaneamente.

Livelli RAID proprietari[modifica | modifica wikitesto]

Sebbene tutte le implementazioni RAID siano diverse dalle specifiche idealizzate, alcune ditte hanno sviluppato sistemi completamente proprietari che sono molto diversi da tutti gli altri.

Doppia parità[modifica | modifica wikitesto]

Una delle modifiche più comuni ai livelli RAID esistenti è la "doppia parità", detta anche "parità diagonale". Come nel RAID 6, sono creati due tipi di parità diverse, ma diversamente il secondo tipo non è soltanto una copia aggiuntiva del primo. Al contrario molte implementazioni a doppia parità calcolano la parità aggiuntiva su un gruppo diverso di blocchi. Mentre i sistemi RAID 5 e RAID 6 calcolano tradizionalmente la parità su un gruppo di blocchi standard (A1, A2, A3, AP), la doppia parità usa anche gruppi diversi; per esempio, nel disegno sottostante, il RAID 5 e RAID 6 calcolano la parità rispetto tutti i blocchi inizianti per A. Il sistema a doppia parità usa invece anche i blocchi numerati con 1 per ricavare una parità diversa.

     RAID 5            RAID 6            RAID 5
  Tradizionale         Tipico         Doppia parità
 A1  A2  A3  Ap    A1  A2  Ap  Ap    A1  A2  A3  Ap
 B1  B2  Bp  B3    B1  Bp  B2  Bp    B1  B2  Bp  B3
 C1  Cp  C2  C3    Cp  C1  Cp  C2    C1  Cp  C2  C3
 Dp  D1  D2  D3    Dp  Dp  D1  D2    1p  2p  3p  --
 
 Nota: A1, B1, ecc. rappresentano rispettivamente un blocco di dati.

RAID 7[modifica | modifica wikitesto]

Il sistema RAID 7 è un marchio registrato della Storage Computer Corporation. Aggiunge un sistema di caching al RAID-3 o RAID-4 per aumentare le prestazioni.

Note[modifica | modifica wikitesto]

  1. ^ a b Derek Vadala, Managing RAID on Linux, O' Reilly, 2002.
  2. ^ (EN) United States Patent 4092732, United States Patent and Trademark Office.
  3. ^ Single RAID Levels

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica