- COS’E’ LA TECNOLOGIA RAID

 - COS’E’ IL FILE SYSTEM

 - CHE COSA E’ RAID

 - PERCHE’ RAID

 - RAID SOFTWARE E HARDWARE

 - LE DIVERSE TIPOLOGIE RAID

   - RAID LEVEL 0

   - RAID LEVEL 0+1

   - RAID LEVEL 1

   - RAID LEVEL 2

   - RAID LEVEL 3

   - RAID LEVEL 4

   - RAID LEVEL 5

   - RAID LEVEL 5+0

   - RAID LEVEL 6

   - I COMPONENTI DEL RAID

   - CHASSIS PER RAID

   - CASSETTI PER UNITA’ SCSI

   - I DISCHI

   - I CONTROLLER

   - TERMINALI E CAVI

 

 

 

 

COS’E’ LA TECNOLOGIA RAID

Pensando all'archiviazione dei dati su supporti magnetici quali gli hard disk, tre sono le problematiche che si possono presentare: capacità: la richiesta di maggiore capacità di archiviazione è un problema quotidiano per la maggioranza degli utenti di PC; la soluzione può essere vista nell'acquisto di un unico hard disk di maggiori dimensioni (i produttori rilasciano costantemente nuove versioni, sempre più capienti, dei propri hard disk) oppure nell'affiancare uno o più nuovi hard disk all'unità (o alle unità) già installate nel sistema; prestazioni velocistiche: l'utilizzo di applicazioni sempre più esigenti in termini di risorse di sistema richiede di impiegare hard disk dalle elevate prestazioni velocistiche. Le performances di un hard disk sono funzione di numerosi fattori, tra i quali la velocità di rotazione dei piatti (espressa in rpm, giri al minuto) e la densità di memorizzazione dei piatti (cioè quanti mbytes di informazioni possono essere memorizzate sui piatti per centimetro quadrato).

sicurezza dei dati: un hard disk deve garantire, oltre alla capacità di memorizzazione e a prestazioni velocistiche nella lettura e scrittura dei dati, una elevata sicurezza dei dati, cioè che vengano minimizzati i rischi di perdite di informazioni. In generale vale la regola secondo la quale più un disco è recente, maggiori sono le tecnologie in esso applicate per la sicurezza dei dati memorizzati.

La tecnologia RAID (Redundant Array of Independent Disks) permette, in modi differenti, di intervenire su ognuno di questi aspetti. Con il termine RAID si intende la configurazione di due o più hard disk, possibilmente identici quanto a capacità di memorizzazione e tecnologia, portati a lavorare in modo sincrono, cioè legato l'uno all'altro. Tale legame può essere di forme differenti, esemplificate dalle modalità di configurazione RAID disponibili:

- RAID 0: nota anche come striping, è quella modalità che permette di "legare" tra di loro differenti dischi, facendoli vedere dal sistema come un'unica unità anche se fisicamente composta da due o più dischi. Si tratta del processo inverso rispetto al partizionare in modo multiplo un'unità: mentre in quel caso si hanno differenti partizioni, quindi unità magnetiche, utilizzando una sola unità fisica, con lo striping si ottiene un'unica unità magnetica (anche se è sempre possibile crearne più di una, partizionando) congiungendo differenti unità fisiche. Il vantaggio del RAID 0 è quello di permettere un aumento delle capacità di memorizzazione, continuando a vedere i dispositivi di memorizzazione come un'unica unità magnetica (cosa impossibile da ottenersi affiancando due hard disk non in configurazione RAID). Utilizzando lo striping la capacità dei dischi utilizzati è sempre pari a quella del più piccolo; se, ad esempio, si connettessero in striping RAID 0 tre hard disk, rispettivamente da 4, 5 e 7 Gbytes, si otterrebbe un'unica unità di capacità pari a 12 Gbytes (3x4 Gbytes), perdendo pertando 4 Gbytes di spazio; vantaggio di questa configurazione è però nel fatto che i trasferimenti in lettura sequenziale (sustained data transfers) sono effettuati in modo più performante rispetto alla configurazione non RAID. Secondo tipo di configurazione RAID 0 è quella spanning, con la quale viene utilizzata tutta la capacità dei dischi collegati (nell'esempio precedente si ottiene un'unità di 16 Gbytes) ma perdendo i vantaggi prestazionali nei trasferimenti in lettura sequenziale di dati propri della modalità striping.

- RAID 1: noto anche come mirroring, in questa modalità i dati vengono scritti su entrambi i dischi, così che uno sia copia speculare dell'altro; qualora dovesse esserci qualche problema e/o errore di scrittura-lettura, oppure ancora perdita di dati, il sistema andrà a ricuperare le informazioni sull'altro hard disk, così da garantire la continuità delle operazioni. Questa modalità massimizza la sicurezza dei dati ma porta quali inconvenienti prestazioni ridotte (sono pari a quelle di un singolo disco connesso al controller) e spreco di spazio (se sono configurati in mirroring due hard disk da 10 Gbytes ciascuno, il sistema vedrà il tutto come un'unica unità magnetica da 10 Gbytes).

- RAID 0+1: tale modalità unisce i vantaggi del mirroring con quelli dello striping; due hard disk sono connessi tra di loro in modalità striping, mentre altri due dischi ne formano il mirror. Questa soluzione permette di ottenere le elevate prestazioni proprie dello striping unitamente alla sicurezza per i dati propria della modalità mirroring.

- RAID 5: in questa configurazione due hard disk contengono i dati, mentre il controller calcola attraverso una specifica espressione matematica quella che è chiamata la copia di parity; quest'ultima contiene quelle informazioni necesarie a riscrivere le informazioni su uno dei due dischi qualora, per un qualsiasi motivo, dovessero essere danneggiate e/o perse. La copia di array viene distribuita su tutti i dischi che compongono la catena RAID.

Da segnalare che con la modalità RAID 1, in caso di rottura di un disco è possibile, a sistema funzionante, provvedere alla sostituzione dell'hard disk danneggiato, senza perdita di dati e necessità di spegnere e/o riavviare il sistema; questa funzione, nota come swapping, permette di garantire continuità nel funzionamento, caratteristica apprezzata in particolari contesti quali quelli delle workstation, nei quali è importante che il sistema non si fermi.

COS’E’ IL FILE SYSTEM

Un hard disk nuovo è pre-formattato, cioè incorpora le informazioni su cilindri, tracce e settori; per poterlo utilizzare è necessario formattarlo, ma prima di fare questo è indispensabile partizionarlo (una o più partizioni) e scrivere su esso le informazioni della(e) partizione(i) e del boot sector. Queste operazioni prendono il nome di file system, cioè sistema attraverso il quale i dati vengono scritti sul disco. Il file system è diverso in base al tipo di sistema operativo che viene utilizzato: F.A.T.12/16bit per MS-Dos fino alla versione 7.0 e per Windows 95 release B esclusa; F.A.T. 32bit per Windows 95 Release B (4.00.950 B); NTFS per Windows NT; HPFS per OS/2.

CHE COSA E’ RAID

In gergo militare un raid é una incursione , ma , nel campo dei computer , la parola é un acronimo , giocato sul gusto anglosassone che dispone della propria lingua in modo flessibile e spesso ironico .
RAID sta per Redundant Array of Inexpensive Disks , ovvero assieme ridondante di dischi non costosi ; il termine é stato coniato nell' Università di Berkeley, in California , attorno al 1968 in una pubblicazione scritta da Patterson , Gibson e Katz , a cui si puó quindi dare la paternità dell'idea .
L'idea iniziale verteva sulla possibilità di sostituire ad un disco di grosso formato, costoso e di difficile reperibilità, un array di dischi più economici. I progettisti, poi, hanno previsto strutture variabili per consentire un aumento della sicurezza e della prestazione. In effetti lo scopo del RAID é essenzialmente quello di superare i limiti di prestazione e sicurezza forniti dai dischi convenzionali, senza ricorrere ad apparecchiature speciali. L' idea base é, quindi, quella di impiegare piú dischi (array) organizzati e gestiti da particolari controller, e relativo software, per raggiungere prestazioni e/o condizioni di sicurezza operativa ed affidabilità di livello superiore.
L' idea di RAID é ancora legata a concetti un pó nebulosi e fa pensare a controller da molti milioni di lire, pile di dischi SCSI, châssis speciali, e, in generale, a qualcosa di dedicato a server o impieghi altamente specializzati, piuttosto lontani dall' uso comune.
In effetti, se ci fermiamo a considerare obiettivamente il fatto che il costo dei dischi é in continua e rapidissima discesa e sono in commercio controller per RAID di costo ragionevole e compariamo questo con i vantaggi che puó offrire il sistema, possiamo vedere come chiunque desideri una reale sicurezza per i suoi dati o necessita una prestazione maggiore, puó affrontare il RAID senza particolari difficoltá.
Cosí, al di la dell' uso tipo del server, un veramente non costoso RAID 0, che punta alle prestazioni, puó essere la soluzione cercata da chi utilizza i dischi intensivamente, per grafica, animazione, filmati, audio; l' aumento prestazionale può essere tale da essere visibile ad occhio nudo.
Oppure un altrettanto non costoso RAID 1 , che punta alla sicurezza , é adatto non solo in un server , ma per qualunque sistema che contenga una massa software (sistema operativo , programmi , dati)   la cui perdita sarebbe fatto grave sia per il loro valore , sia per il tempo necessario a ricaricare tutti quanto .

Essenzialmente RAID si basa sull' uso di dischi e controller SCSI , in quanto la loro struttura si presta molto piú di IDE al funzionamento in array .  IDE ha molte limitazioni , tra cui il fatto che ogni canale é previsto per un massimo di due unitá , mentre un canale SCSI normale puó portarne fino a 7 (+ il controller) ; inoltre il colloquio SCSI é gestito da controller intelligenti autonomi , con protocolli complessi , ma potenti , senza un intervento diretto della CPU , come nel caso del PIO mode tipico degli IDE . Dunque , anche se sono in commercio soluzioni IDE , RAID é essenzialmente SCSI .

Nel 1992, poi, si é costituita una RAID Advisory Board (RAB), che conta piú di 50 membri che comprendono costruttori di dischi, i controller, di contenitori, software e sottosistemi, oltre a produttoei di PC e mainframe, Universitá, compagnie telefoniche, produttori di strumentazione e societá di ricerche di mercato.
Lo scopo é quello di fornire indicazioni coerenti e comuni per la realizzazione di array.

PERCHE’ RAID

Per diverse ragioni :

- le applicazioni recenti metto in movimento quantitá di dati sempre piú grandi ed i dischi rigidi sono uno dei colli di bottiglia dei sistema dotati di CPU veloci ed altri accorgimenti (AGP , PCI , ecc.) che li rendono in grado di trattare dati a velocitá molto maggiori di quanto le periferiche magnetiche possono fare

- applicazioni di grafica in movimento , film digitale , TV digitale , audio digitale richiedono masse di dati che devono essere forniti con cadenze ben definite , pena la perdita di quadri (frames) dell' immagine in movimento o della registrazione audio sonora

- nonostante i miglioramenti decisi della tecnologia costruttiva , guasti tali da mettere fuori servizio un disco sono ancora cosa purtroppo comune . Applicazioni in cui l' integrità dei dati trattati é di grande importanza (WEB e files server , server di rete , sistemi CAM/CAE/CAD e simili) richiedono gradi di sicurezza maggiori di quelli ottenibili con le strutture ordinarie .

- piú dischi possono essere integrati in un array e visti dal sistema operativo come un unico volume , consentendo capacita di immagazzinamento "da minicomputer" anche su sistemi PC , senza la necessitá di acquistare costosi dischi di grandi dimensioni

- il costo di un RAID level 0 o 1 non é cosí elevato come si puó pensare . In genere si possono recuperare i dischi giá esistenti sul sistema ed i controller non hanno costi proibitivi in rapporto ai benefici

ma esistono dei contro ?
Sicuramente . Va considerato che :

- occorrono dischi SCSI . Esistono soluzioni RAID per unitá IDE, ma sono ben poco diffuse , in quanto la natura stessa del protocollo SCSI é molto piú adatta alla struttura del RAID . I dischi SCSI da impiegare di preferenza sono i modelli Wide (connettore a 68 poli) , che hanno prestazioni migliori dei modelli normali , anche se non ci sono reali limiti nell'impiego di dischi con connettore a 50 poli . Sfortunatamente i drive SCSI , e segnatamente i modelli wide e ultra wide , hanno costi superiori agli equivalenti IDE (anche se le differenze non sono poi cosí drammatiche , visto quello  ) .

  - occorre soprattutto un sistema operativo adeguato,ad esempio NT,Novel NetWare,  d   Unix,OS/2,Linux.

RAID SOFTWARE E HARDWARE

Esistono sistemi RAID basati anche su software , con scopo principale la sicurezza , simile al RAID Level 1 . Sostanzialmente si tratta di funzioni del sistema operativo o di terze parti che procedono alla creazione di una immagine speculare (mirror) del disco principale . Lo scopo principale di queste applicazioni é quello di aumentare la sicurezza del sistema .
A favore dei RAID software gioca il fatto che , se giá compreso nel sistema operativo , non da origine a costi addizionali (ammesso di disporre giá dei dischi necessari) .
Le contro indicazioni per il RAID software sono relative al fatto che le prestazioni sono rallentate  a causa della necessitá per la CPU di far girare gli algoritmi di gestione del RAID ; inoltre il grado di sicurezza é decisamente minore di quello ottenibile con un RAID hardware . Windows NT e Novell NetWare includono RAID software nelle loro strutture .

Con hardware , invece , si intende che il sistema dispone di uno o piú controller con specifiche funzioni RAID (ad es. Mylex) . In questo caso é il firmaware del controller a governare in modo intelligente le funzioni necessarie alla gestione dell' array .
Ovviamente , il mirror software , non richiedendo controller particolari , é meno costoso di quello hardware , ma non sempre il costo deve essere il fattore determinante di una scelta .
Il RAID hardware ha lo svantaggio di richiedere la presenza di una specifica scheda , a volte anche di costo elevato , ma , per contro , consente delle prestazioni maggiori , non penalizza il sistema e garantisce un grado di sicurezza non paragonabile a quelli dei metodi software , a cui si aggiunge una maggiore semplicità di intervento nel caso di guasto .
Solitamente i controller RAID dispongono di speciali processori , anche in tecnologia I2O  , cache con ECC , multi porte e potenti firmware che garantiscono prestazioni piú elevate dei normali controller SCSI .
Nelle piú recenti schede madri alcuni costruttori hanno , peró , inserito la possibilitá di installare sistemi di controllo tipo RAIDPort (di Adaptec) che richiedono solo l' uso di non costosi di controller SCSI standard , magari giá presenti on board .

LE DIVERSE TIPOLOGIE RAID

A seconda del prevalere di una funzione sono state definite alcune tipologie RAID , numerate da 0 a 5 . Attenzione che  la numerazione é stata usata dagli autori per differenziare i tipi e non , come si potrebbe pensare , per definire con numeri crescenti   livelli superiori di prestazione e/o sicurezza .Quindi il livello 1 NON é migliore del livello 0 in assoluto : é diverso .

RAID Level 0 (disk Striping)
RAID 0 ha come finalità principale il miglioramento delle prestazioni con il metodo dello striping : blocchi uniformi di dati da immagazzinare sono assegnati in sequenze regolari alle varie unitá che costituiscono l' array  . Il sistema richiede un minimo di due dischi e garantisce un sensibile incremento delle prestazioni nel trasferimento dei dati . Nel Level 0 all'aumento delle prestazioni non si associa un aumento dell'affidabilità , che resta quella intrinseca delle unitá disco usate, in quanto l' integrità di tutti i dischi è necessaria al funzionamento dell' array (array non ridondante). Poichè non sono disponibili informazioni ridondanti, il guasto di uno dei dischi componenti l' array provoca la perdita di tutti i dati.
Un RAID 0 richiede tipicamente una coppia di dischi SCSI , spesso giá presenti sul sistema ; a questo va aggiunto solo un controller RAID (Adaptech , Mylex , ecc) . La spesa é piuttosto contenuta , mentre l' incremento delle prestazioni è sensibile. L' impiego tipico è nelle applicazioni che richiedano un drastico aumento delle prestazioni dei dischi, senza riguardo alla sicurezza dei dati.

RAID Level 1 (disk mirroring)
RAID 1 , detto anche mirroring (specchio) , ha come finalità l'incremento dell'affidabilità : i dati sono copiati "a specchio" su piú unitá in modo che un guasto ad una di esse non arresti il funzionamento del sistema . RAID 1 puó anche essere utilizzato con un accesso parallelo alle varie unitá collegate per incrementare anche il trasferimento dei dati ; a questo va aggiunto il beneficio della presenza di una cachee di un eventuale processore dedicato sul controller. In questa ottica possono essere impiegati anche piú di un controller SCSI in modo da amplificare sia la sicurezza (ridondanza) sia il transfer rate. L' impiego tipico è nelle applicazioni che richiedano un drastico aumento della sicurezza dei dati.

RAID Level 0+1 
Detto anche 0/1 o 10, questo livello apparso per la prima volta nelle specifiche di Mylex é, in sostanza, una miscela dei due precedente , ovvero , con una tecnica mista di striping e mirroring si cerca di ottenere prestazione e sicurezza contemporaneamente . I dati sono suddivisi (striped) sui dischi con una copia (mirrored) :  l' array così composto riduce i problemi dovuti alla scrittura della parità ed offre alte prestazioni nel transfer rate. Anche la rigenerazione è semplificata trattandosi di copie a specchio e non di dati di parità. Per contro questo metodo  utilizza diversi dischi, al minimo 4, poichè ogni disco dati deve essere duplicato (mirrored).L' impiego tipico è nelle applicazioni che richiedano aumento sia della sicurezza dei dati che della velocitàa di trasferimento.

RAID Level 2
RAID-2 divide (stripes) i dati in gruppi di dischi (2 o piú) usando un codice Hamming per ogni strip di dati. Questo codice puó rivelare e correggere errori e permette il recupero dei dati senza una totale duplicazione. 
RAID 2 combina i benefici di RAID-1 e 0, con prestazioni e sicurezza : puó essere realizzato in funzione di entrambe le richieste. Un tipico array RAID 2  é composto da un gruppo di dischidi cui alcuni sono dedicati alla memorizzazione delle informazioni relative all' Error Checking and Correction (ECC). Siccome la maggior parte dei dischi implementa giá controlli ECC interni piú o meno sofisticati, RAID 2 non offre significativi vantaggi rispetto all'architettura RAID 3 o 5, che vengono preferite.
Attualmente non viene impiegato, né consigliato.

RAID Level 3
Level 3 aggiunge informazioni ridondanti (paritá) all'accesso parallelo di array "striped", permettendo rigenerazione e ricostruzione delle unitá nell'eventualità di guasti su uno dei componenti dell' array .
Level 3 fornisce un elevato livello di sicurezza transfer rate e performance, per l'accesso parallelo alle unitá.

RAID Level 4
RAID Level 4 divide i dati (stripes) a livello di blocchi sui dischi che compongono l' array, mentre i controlli di parità sono immagazzinati su un altro disco. Queste informazioni extra sono necessarie per il recupero dei dati nel caso di guasto ad uno dei dischi dell' array.  Le operazioni di lettura dei dati sono assai veloci, paragonabili al level 0, mentre la scrittura è lievemente rallentata dalla necessità di creare le informazioni di parità. Solitamente Level 4 é accompagnato da altre tecnologie , come cache write back , perché l' implementazione della paritá puó costituire un collo di bottiglia nel caso di scritture random di grossi file o sequenziali.RAID 4 é tipico di sistemi di medie e grandi dimensioni.

RAID Level 5
Distribuendo la paritá su diversi o tutti i dischi dell'array, il Level 5 riduce l' effetto collo di bottiglia tipico di RAID 4 : le prestazioni sono elevate, sia in scrittura che lettura, mentre il fattore di sicurezza è molto alto. Tipico dei sistemi ad alto livello , RAID 5 considera anche l' impiego di controller con cache o con processori multipli o in tecnologia I2O . RAID 5 é tipico di sistemi di medie e grandi dimensioni , particolarmente nel caso di multitask e multiuser . L' impiego è molto diffuso su server e workstation dove velocità e sicurezza sono indispensabili.

RAID Level 5+0
Detto anche 0/5 o 50, è un array a doppio livello che utilizza più array  level 5 associotai in un solo macro array. Questo permette che un qualunque problema in uno o più dei dischi dei singoli array non interrompa l' operazione sul macro array. Un ulteriore aumento della sicurezza si ottiene impiegando più controlle SCSI per i vari array. L' impiego tipico è nelle applicazioni server dove è richiesta una elevata sicurezza e delle prestazioni superiori a quelle ottenibili dal RAID 5.

 

RAID Level 6
Raddoppiando il sistema di paritá di Level 5 si ottiene un incremento della sicurezza. Questo sistema é scarsamente impiegato.

Esistono poi diverse tipologie non definite nel documento originale , ma implementate dai costruttori di controller (Mylex , Adaptec , ICP , ecc) . In generale si tratta di soluzioni che cercano di mixare le caratteristiche migliori dei livelli standard .
Come riassunto, la tabella seguente elenca i livelli piú comuni e la loro presenza nelle specifiche Berkeley o RAB. 

RAID Level

Modo

Vantaggi

Svantaggi

Minimo
dischi

Berkeley

RAB

0

Data Striping using Block Interleaving No Fault Tolerance

  • Alte prestazioni
  • basso costo
  • nessuna sicurezza

2

si

no

1

Transparent Disk Mirroring / Shadowing / Duplexing

  • alta sicurezza
  • prestazioni superiori al disco singolo
  • dispendioso e
  • bassa capacitá  perché richiede il raddoppio dei dischi

2

si

si

2

Striping and Shadowing

  • alta sicurezza
  • prestazioni
  • dispendioso e
  • bassa capacitá  perché richiede il raddoppio dei dischi

 

si

si

3

Bit Interleaved Data Striping with Parity Checking

  • alta sicurezza
  • prestazioni in applicazioni intensive
  • non dispendioso - richiesto solo un disco addizionale
  • basse prestazioni in attivitá random
  • basse prestazioni in attivitá con richieste multiple

3

si

si

4

Block Interleaved Data Striping with Parity Checking

  • alta sicurezza
  • prestazioni in lettura
  • non dispendioso - richiesto solo un disco addizionale
  • basse prestazioni in attivitá random
  • basse prestazioni in scrittura

3

si

si

5

Block Interleaved Data Striping with Distributed Parity RAID-5

  • alta sicurezza
  • prestazioni in applicazioni intensive
  • non dispendioso - richiesto solo un disco addizionale
  • basse prestazioni in scrittura

 

3

si

si

6

Level 5 with double parity

  • alta sicurezza
  • prestazioni in applicazioni intensive
  • costoso - richiede un disco extra
  • basse prestazioni in scrittura

4

si

si

7

Independent striped array plus two parity drives

  • alta sicurezza
  • alte prestazioni
  • costoso - richiede il raddoppio dei dischi di paritá

4

no

no

1 0

Mix di level 1 e 0

  • alta sicurezza
  • alte prestazioni
  • costoso - richiede il raddoppio dei dischi

4

no

no

30, 50, 53

Soluzioni particolari con mix delle caratteristiche dei livelli base

-

-

-

no

no

JBOB

Array senza impiego delle funzioni RAID specifiche

  • aumento delle prestazioni rispetto al disco singolo
  • nessuna sicurezza

1

no

no

Come definizione della categoria di sicurezza, RAB presenta tre livelli :

- FAILURE RESISTANT : un array in cui il guasto di un disco non pregiudica la sicurezza dei dati e l'accesso é mantenuto per il breve tempo in cui una applicazione puó essere salvata in modo accettabile

- FAULT TOLERANT : é il livello medio . I componenti dispongono di ridondanza ed é possibile l'hot swap

- DISASTER TOLERANT : il massimo livello, in cui la divisione a zone del sistema permette il       funzionamento anche in caso di grave guasto (distruzione) ad una zona.

I COMPONENTI DEL RAID                                                                                                                                                               

A cosa provvede un RAID ? Essenzialmente all' incremento delle prestazioni e/o della sicurezza .
Ovviamente un RAID 0 non trasforma dei dischi da 250 giri in superdischi in grado di trasferire 200MB al secondo , ne un RAID 1 é in grado di salvare i vostri dati da una eruzione vulcanica !
Certo che il metodo di striping é in grado di incrementare le prestazioni di un disco altrimenti troppo lento e la struttura del mirroring é in grado di sostenere il guasto totale di una unitá del sistema .
Comunque , l' impiego di dischi ad alte prestazioni , di controller dedicati ed in generale di prodotti di qualitá che migliorare le prestazioni e la sicurezza del RAID .
Cosa utilizzare , allora , per il sistema ?

Per un RAID hardware occorrono al minimo i seguenti componenti :

Opzionalmente :

Châssis per RAID
                                                                              Poiché un RAID é composto da piú dischi , puó esserci qualche problema nell' installarli nello châssis del sistema principale , ad esempio perché , banalmente , non c' é spazio (mini tower o desktop slim) o non c' é possibilitá di raffreddamento adeguato . In questi casi si puó ricorrere ad uno châssis esterno ; ne esistono di specifici per le soluzioni RAID , di solito dotati di 6 o piú finestre da 51/4" e con possibilitá di alimentazione ridondante . Esistono anche sistemi per il supporto di dischi con interfaccia SCA .
La scelta dipende dalle esigenze dell' Utente . Alcuni châssis per workstation e server di tipo professionale  hanno la possibilitá di installare molte unitá e sono dotati di alimentatori e sistemi di raffreddamento adeguati .
Uno châssis esterno puó essere la soluzione adeguata se l'array é composto da molte unitá ; in uno châssis anche di generose dimensioni difficilmente si puó consigliare l' installazione di piú di 6 drives . Per quantità maggiori si consigliano vivamente gli châssis per server , in grado di ospitare anche 25 unitá estraibili piú altre interne .
Non volendo , peró , sostituire il contenitore dell' unitá centrale o desiderando una maggiore flessibilità sia funzionale che di spazio , puó essere opportuno alloggiare l' array separatamente dall' unitá centrale stessa , con molti vantaggi , compresi quello della modularità dell' insieme e dell' aumento del fattore di sicurezza ; il collegamento avviene con un cavo SCSI sulla porta esterna dei controller . Data la struttura SCSI , piú unitá possono essere collegate in cascata ed é possibile collegare anche due controller alla stessa catena .
Si puó pensare di utilizzare come châssis per l'array non solo un prodotto specifico , ma anche uno destinato ad un uso piú generale ; ad esempio , ben si presta che é attrezzabile con un alimentatore ridondante da 300W .

Cassetti per le unitá SCSI
                                                                                Livelli di RAID destinati alla sicurezza prevedono la possibilitá di un funzionamento regolare anche dopo il guasto ad una delle  unitá . La sistemazione dei dischi in cassetti rimovibili consente notevoli vantaggi rispetto alla collocazione usuale all'interno dello châssis :

Inoltre i cassetti di qualitá sono dotati di sistemi di raffreddamento ausiliari per il disco e/o di segnalazioni quali MTBF , temperatura , tensione , ecc . Quindi , in un array di dischi anche di poche unitá , la sistemazione in rimovibili e' consigliabile .

I dischi
                                                                                   É indubbio che la scelta dei dischi é della massima importanza per le prestazioni generali dell' array ; unitá di una certa qualitá , con prestazioni singole alte e lunga vita prevista (MTBF) non potranno che trovare esaltate  queste loro caratteristiche . É chiaro anche che , dischi meno prestigiosi troveranno buona collocazione nel RAID con una spesa minore .
La scelta dipende da una giusta valutazione tra la richiesta di prestazioni , sicurezza e costi .

Come detto , RAID é quasi una esclusiva SCSI e la tendenza; é chiaramente verso il tipo Wide o Ultra Wide che, con una piccola differenza di prezzo, fornisce prestazioni assai superiori . In effetti tutti i controller dedicati a RAID prevedono la connessione con uno o piú canali UW . Per un array da cui sono richieste prestazioni , la scelta cade obbligatoriamente su dischi SCSI UW da 7200 o 10.000 giri ; in un array dove prevale la necessitá di grande capacita , dischi piú economici , tra i 5400 e i 7200 giri sono adeguati ; dove é richiesta essenzialmente la sicurezza sará opportuno verificare sulle specifiche dei costruttori i dati relativi  (MTDL , MTDA , MTTR , MTBF) .

I controller
                                                                           Attualmente le soluzioni possibili sono due :

- schede con controller SCSI a bordo . É opportuno verificare che queste schede dispongano dell'estensione per il collegamento ad una scheda RAIDPort , standard realizzato da Adaptec ; in questo caso la soluzione é quasi obbligata , ma molto semplice ed economica . La struttura RAIDPort consiste in una scheda dotata di opportuno processore , cache e firmware che consentono di utilizzare il controller a bordo della scheda madre realizzando un array con il solo costo limitato della scheda RAIDPort .

- schede madri senza controller SCSI a bordo .

In questo caso la scelta non puó che cadere su un controller PCI . Ogni costruttore realizza soluzioni proprie , con caratteristiche diverse ; la scelta deve essere fatta in base alle necessitá in rapporto al costo . Esistono diversi livelli di prestazione , dipendenti ad esempio dal tipo di processore di controllo , dalla cache , dal numero dei canali , dalle possibilitá di implementazione dei vari livelli RAID , ecc. .
Ad esempio , alcune schede Mylex dispongono dei recenti processori Intel i960RP e RD , cache con ECC e fino a tre canali indipendenti , dotati di prestazioni elevatissime . É ovvio che se si prevede l' impiego di un controller di questo genere per esaltare al massimo le prestazioni dell' array , é del tutto inutile avere a bordo della scheda madre un controller SCSI , che resterebbe inutilizzato o sotto utilizzato .

Terminazioni e cavi
                                                                                  In un array di sicurezza é prevista la possibilitá che il guasto di una unitá non pregiudichi il funzionamento del sistema . Resta peró il fatto che sará necessario sostituire quanto prima il drive difettoso per ripristinare il regolare funzionamento del RAID .
É noto che una catena SCSI richiede un terminatore ad ognuna delle due estremità .

Facendo conto che una estremità é il controller , dotato di proprio sistema di terminazione , spesso automatico , solitamente viene attivato il terminatore interno all' ultima unitá fisica sulla catena , come nel caso rappresentato a lato . La soluzione é spontanea ed economica e non ci sono problemi se si deve sostituire una delle unitá intermedie, ma ...

radco_1.JPG (9454 byte)

se si deve sostituire l'unitá con il terminatore ? Ovviamente non é possibile fare un hot swap a sistema acceso , in quando si asporterebbe il terminatore della catena SCSI , pregiudicandone il funzionamento . D' altronde , se si spegne il sistema , occorre reinserire una unitá terminata o attivare il terminatore di un' altra unitá prima di riavviare il tutto . Inoltre c'é da considerare che , a meno di segnalazioni cabalistiche poste in qualche modo dall'assemblatore , dall'esterno del sistema é ben difficile determinare quale unitá é terminata e quale no e quale é l'ultima fisica da terminare .
La soluzione corretta é un'altra :

Nessuna delle unitá sulla catena ha il terminatore attivato , che é posto , invece , al termine fisico del cavo , come componente esterno . Questo , portando tutte le unitá nella stessa condizione , ne permette la sostituzione senza problemi di posizione .

radco_2.JPG (8586 byte)

Fatta questa precisazione sulla funzione del terminatore , bisogna dire che anche la qualitá dei cavi ha una importanza non secondaria , soprattutto se sono richieste lunghezze superiori al metro . Particolarmente importante é  la qualitá dei cavi esterni che collegano il controller interno al sistema a dispositivi SCSI esterni . Sono da evitare i cavi orientali a basso costo (e bassa qualitá ) dando la preferenza a cavi con adeguate schermature e connettori .


Redundant Array of Independent Disks

In informatica, un Redundant array of independent disks (Insieme ridondante di dischi indipendenti), conosciuto più comunemente con il nome di RAID, è un sistema che usa un insieme di dischi rigidi per condividere o replicare le informazioni. I benefici del RAID sono di aumentare l'integrità dei dati, la tolleranza ai guasti e/o le prestazioni, rispetto all'uso di un disco singolo. Nella sua implementazione originaria (nella quale l'acronimo era l'abbreviazione di "Redundant Array of Inexpensive Disks", cioè "Insieme ridondante di dischi economici"), il fattore chiave era l'abilità di combinare parecchi dischi a basso costo e obsoleti in modo da rendere il sistema nel suo complesso migliore di un disco di ultima generazione per capacità, affidabilità e/o velocità.

Nel suo livello più semplice, il sistema RAID permette di combinare un insieme di dischi in una sola unità logica. In questo modo il sistema operativo, invece di vedere differenti dischi, ne vede solamente uno. Il RAID è tipicamente usato nei server, e di solito è implementato con dischi di identica capacità. Con il calo del costo degli dischi rigidi e con il diffondersi della tecnologia RAID nei chipset delle scheda madri, il RAID è spesso offerto come opzione sia sui computer di fascia alta sia su quelli usati da utenti domestici, specialmente se dedicati a compiti che richiedono un grande immagazzinamento di dati, come il montaggio audio/video.

Le specifiche originali suggerivano un diverso numero di "livelli di RAID", o combinazioni di dischi. Ogni combinazione aveva dei vantaggi e degli svantaggi. Con il passare degli anni, sono nate diverse implementazioni del concetto di RAID. La maggior parte differiscono sostanzialmente nell'implementazione dei livelli RAID ideati inizialmente. Questo può portare spesso a confusione, poiché un'implementazione RAID-5 può essere molto diversa da un'altra. RAID-3 e RAID-4 sono spesso confusi o scambiati tra loro.

La vera definizione di RAID è stata oggetto di dibattito nel corso degli anni. L'uso del termine ridondante porta a molte discussioni se il RAID-0 sia "vero" RAID. Analogamente, il cambio da economico a indipendente confonde molti dei concetti alla base del RAID. Infatti ci sono alcune implementazioni del RAID che usano un solo disco! Per gli scopi di questo articolo, noi indichiamo come RAID ogni sistema che sviluppa il concetto base di RAID di ricombinare lo spazio fisico di dischi diversi per lo scopo di aumentare l'affidabilità o le prestazioni del sistema nel suo complesso.

Indice

  • 1 Storia
  • 2 Implementazioni RAID
    • 2.1 Data Striping
    • 2.2 Econonico o indipendente
    • 2.3 Hardware o software
  • 3 Livelli RAID standard
    • 3.1 RAID 0
    • 3.2 Concatenazione (JBOD)
    • 3.3 RAID 1
    • 3.4 RAID 2
    • 3.5 RAID 3
    • 3.6 RAID 4
    • 3.7 RAID 5
    • 3.8 RAID 6
  • 4 Livelli RAID annidati
    • 4.1 RAID 0+1
    • 4.2 RAID 10
  • 5 Livelli RAID proprietari
    • 5.1 Doppia parità
    • 5.2 RAID 7
    • 5.3 RAID S o Parity RAID
  • 6 Voci correlate
  • 7 Collegamenti esterni

Storia

Il RAID è stato brevettato per la prima volta da IBM nel 1978. Nel 1988, i livelli RAID dal numero 1 al numero 5 sono stati definiti formalmente da David A. Patterson, Garth A. Gibson e Randy H. Katz nell'articolo "A Case for Redundant Arrays of Inexpensive Disks (RAID)" che è stato pubblicato alla SIGMOD Conference 1988: pp 109–116. Il termine "RAID" ha iniziato ad essere usato con questo articolo.
 

Implementazioni RAID

Data Striping

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 vengnono 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.

Econonico o indipendente

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.

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

Il RAID può essere implementato sia con hardware dedicato sia con software specifico su harware 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 può essere visto come un NAS (Network_Attached_Storage). 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 implementazione hardware in genere supportanno lo scambio a caldo (hot swaping), 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

RAID 0

Il sistema RAID 0 divide i dati equamente tra due o più dischi con nessuna informazione di parità o ridondanza. 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 succede ciò è che il file system è diviso tra tutti i dischi. Quando un drive si guasta, il file system non può gestire un 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 corrotti.

RAID-0 è molto utile per creare grandi server NFS (Network file system) server in 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 24, così il RAID-0 è un modo molto diffuso di usare un numero maggiori di dischi. Comunque, siccome non c'è ridondanza, e i dati sono condivisi tra i dischi e i dischi non possono essere sostituiti visto che sono tutti dipendenti tra di loro.

Concatenazione (JBOD)

Sebbene una concatenazione di dischi (chiamata anche JBOD, o "Just a Bunch of Disks") 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, JBOD usa due o più dischi fisici per creare un singolo disco logico.

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

RAID 1

Il sistema RAID 1 crea una copia esatta (o 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 con Business Continuance Volume or 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 un ricostruzione completa del RAID.
 

    RAID-1
  Tradizionale
 A1          A1
 A2          A2
 A3          A3
 A4          A4

Nota: un rappresentazione tipica di un sistema RAID-1. A1, A2,
etc. sono divisi tra i due dischi, aumentando l'affidabilita e la velocità.

RAID 2

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. Questi dischi sono sincronizzati dal controllore per eseguire in accordo. Questo è l'unico livello di RAID originario che attualmente non è più in uso.

RAID 3

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 sottostante, una richiesta per il blocco "A1" richiederà di cercare attraverso tutti di dischi. Una richiesta simultanea per il blocco B1 rimarrà invece in attesa.

    RAID-3
 Tradizionale
A1  A1  A1  A1p
A2  A2  A2  A2p
A3  A3  A3  A3p
B1  B1  B1  B1p

Nota: A1, B1, etc rappresentano ognuno un byte.

RAID 4

Il sistema RAID 4 usa una divisione (striping) 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.

Nell'esempio sottostante, 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 portebbe essere servita allo stesso momento.

    RAID-4
 Tradizionale
A1  A2  A3  Ap
B1  B2  B3  Bp
C1  C2  C3  Cp
D1  D2  D3  Dp

Nota: A1, B1, etc. rappresentano ognuno un blocco di dati

RAID 5

Un sistema RAID 5 usa una divisione dei dati a livello di blocco con i dati di parità distribuiti tra tutti i dischi appartenenti al RAID. Questa è una delle implementazioni più popolari, sia in hardware che in software. Virtualmente ogni sistema di storage permette il 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.

    RAID-5
 Tradizionale
A1  A2  A3  Ap
B1  B2  Bp  B3
C1  Cp  C2  C3
Dp  D1  D2  D3

Nota: A1, B2, etc rappresentaono 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 genereato 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 performance. Il blocco di parità è letto, invece, quando la lettura di un settore da 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 di 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 più dischi insieme aumentano il calore, che abbassa il vero MTBF di ogni disco. 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.

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.

RAID 6

Un sistema RAID 6 usa una divisione a livello di blocchi con i dati di parità distruibuiti 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".

    RAID-5              RAID-6
 Tradizionale           Tipico
A1  A2  A3  Ap    A1  A2  A3  p4  Dp
B1  B2  Bp  B3    B1  B2  p3  Cp  B3
C1  Cp  C2  C3    C1  p2  Bp  C2  C3
Dp  D1  D2  D3    p1  Ap  D1  D2  D3

Nota: A1, B1, etc. rappresentano ognuno un blocco di dati.

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.

RAID 6+0

Livelli RAID annidati

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

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 10 è 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 10 e non può sopportare la rottura simultanea di due dischi, se non appartengono alla stessa stripe. Cioè, se un disco si rompe, ogni altro disco dell'altra stripe è un elemento critico per il sistema. Inoltre, se un disco viene sostituito, per ricostruire il sistema devono partecipare tutti i dischi.

RAID 10

Un sistema 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

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à

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 Parita
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, etc. rappresentano rispettivamente un blocco di dati.
[

RAID 7

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

RAID S o Parity RAID

Il sistema RAID S è un sistema proprietario della EMC Corporation che viene usata nei loro sistemi di storage Symmetrix. Ogni disco esiste come singolo disco fisico, e volumi multipli sono combinati arbitrariamente al fine di calcolare il valore della parità. EMC ha chiamato originariamente questo sistema RAID-S; successivamente è stato rinominato in Parity RAID per la piattaforma Symmetrix DMX.

    RAID-5            RAID-S
 Tradizionale          EMC
A1  A2  A3  Ap    A1  B1  C1  1p
B1  B2  Bp  B3    A2  B2  C2  2p
C1  Cp  C2  C3    A3  B3  C3  3p
Dp  D1  D2  D3    A4  B4  C4  4p

Nota: A1, B1 etc. rappresentano blocchi di dati.

RAID Level 0+1 requires a minimum of 4 drives to implement

Characteristics & Advantages
RAID 0+1 is implemented as a mirrored array whose segments are RAID 0 arrays

RAID 0+1 has the same fault tolerance as RAID level 5

RAID 0+1 has the same overhead for fault-tolerance as mirroring alone

High I/O rates are achieved thanks to multiple stripe segments

Excellent solution for sites that need high performance but are not concerned with achieving maximum reliability
Disadvantages
RAID 0+1 is NOT to be confused with RAID 10. A single drive failure will cause the whole array to become, in essence, a RAID Level 0 array

Very expensive / High overhead

All drives must move in parallel to proper track lowering sustained performance

Very limited scalability at a very high inherent cost

 

Recommended Applications
# Imaging applications
# General fileserver

 

 

RAID Level 0 requires a minimum of 2 drives to implement

Characteristics & Advantages
RAID 0 implements a striped disk array, the data is broken down into blocks and each block is written to a separate disk drive

I/O performance is greatly improved by spreading the I/O load across many channels and drives

Best performance is achieved when data is striped across multiple controllers with only one drive per controller

No parity calculation overhead is involved

Very simple design

Easy to implement
Disadvantages
Not a "True" RAID because it is NOT fault-tolerant

The failure of just one drive will result in all data in an array being lost

Should never be used in mission critical environments
Recommended Applications
# Video Production and Editing
# Image Editing
# Pre-Press Applications
# Any application requiring high bandwidth

 

 

RAID Level 1 requires a minimum of 2 drives to implement
For Highest performance, the controller must be able to perform two concurrent separate Reads per mirrored pair or two duplicate Writes per mirrored pair.

Characteristics & Advantages
One Write or two Reads possible per mirrored pair

Twice the Read transaction rate of single disks, same Write transaction rate as single disks

100% redundancy of data means no rebuild is necessary in case of a disk failure, just a copy to the replacement disk

Transfer rate per block is equal to that of a single disk

Under certain circumstances, RAID 1 can sustain multiple simultaneous drive failures

Simplest RAID storage subsystem design
Disadvantages
Highest disk overhead of all RAID types (100%) - inefficient

Typically the RAID function is done by system software, loading the CPU/Server and possibly degrading throughput at high activity levels. Hardware implementation is strongly recommended

May not support hot swap of failed disk when implemented in "software"
Recommended Applications
# Accounting
# Payroll
# Financial
# Any application requiring very high availability

 

 

Each bit of data word is written to a data disk drive (4 in this example: 0 to 3). Each data word has its Hamming Code ECC word recorded on the ECC disks. On Read, the ECC code verifies correct data or corrects single disk errors.

Characteristics & Advantages
"On the fly" data error correction

Extremely high data transfer rates possible

The higher the data transfer rate required, the better the ratio of data disks to ECC disks

Relatively simple controller design compared to RAID levels 3,4 & 5
Disadvantages
Very high ratio of ECC disks to data disks with smaller word sizes - inefficient

Entry level cost very high - requires very high transfer rate requirement to justify

Transaction rate is equal to that of a single disk at best (with spindle synchronization)

No commercial implementations exist / not commercially viable

 

 

RAID Level 3 requires a minimum of 3 drives to implement
The data block is subdivided ("striped") and written on the data disks. Stripe parity is generated on Writes, recorded on the parity disk and checked on Reads.

Characteristics & Advantages
Very high Read data transfer rate

Very high Write data transfer rate

Disk failure has an insignificant impact on throughput

Low ratio of ECC (Parity) disks to data disks means high efficiency
Disadvantages
Transaction rate equal to that of a single disk drive at best (if spindles are synchronized)

Controller design is fairly complex

Very difficult and resource intensive to do as a "software" RAID
Recommended Applications
# Video Production and live streaming
# Image Editing
# Video Editing
# Prepress Applications
# Any application requiring high throughput

 

 

RAID Level 4 requires a minimum of 3 drives to implement
Each entire block is written onto a data disk. Parity for same rank blocks is generated on Writes, recorded on the parity disk and checked on Reads.

Characteristics & Advantages
Very high Read data transaction rate

Low ratio of ECC (Parity) disks to data disks means high efficiency

High aggregate Read transfer rate
Disadvantages
Quite complex controller design

Worst Write transaction rate and Write aggregate transfer rate

Difficult and inefficient data rebuild in the event of disk failure

Block Read transfer rate equal to that of a single disk

 

 

RAID Level 5 requires a minimum of 3 drives to implement
Each entire data block is written on a data disk; parity for blocks in the same rank is generated on Writes, recorded in a distributed location and checked on Reads.

Characteristics & Advantages
Highest Read data transaction rate

Medium Write data transaction rate

Low ratio of ECC (Parity) disks to data disks means high efficiency

Good aggregate transfer rate
Disadvantages
Disk failure has a medium impact on throughput

Most complex controller design

Difficult to rebuild in the event of a disk failure (as compared to RAID level 1)

Individual block data transfer rate same as single disk
Recommended Applications
# File and Application servers
# Database servers
# Web, E-mail, and News servers
# Intranet servers
# Most versatile RAID level

 

 

RAID Level 6 requires a minimum of 4 drives to implement
Two independent parity computations must be used in order to provide protection against double disk failure. Two different algorithms are employed to achieve this purpose.

Characteristics & Advantages
RAID 6 is essentially an extension of RAID level 5 which allows for additional fault tolerance by using a second independent distributed parity scheme (dual parity)

Data is striped on a block level across a set of drives, just like in RAID 5, and a second set of parity is calculated and written across all the drives; RAID 6 provides for an extremely high data fault tolerance and can sustain multiple simultaneous drive failures

Perfect solution for mission critical applications
Disadvantages
More complex controller design

Controller overhead to compute parity addresses is extremely high

Write performance can be brought on par with RAID Level 5 by using a custom ASIC for computing Reed-Solomon parity

Requires N+2 drives to implement because of dual parity scheme
Recommended Applications
# File and Application servers
# Database servers
# Web and E-mail servers
# Intranet servers
# Excellent fault-tolerance with the lowest overhead

 

 

RAID Level 10 requires a minimum of 4 drives to implement

Characteristics & Advantages
RAID 10 is implemented as a striped array whose segments are RAID 1 arrays

RAID 10 has the same fault tolerance as RAID level 1

RAID 10 has the same overhead for fault-tolerance as mirroring alone

High I/O rates are achieved by striping RAID 1 segments

Under certain circumstances, RAID 10 array can sustain multiple simultaneous drive failures

Excellent solution for sites that would have otherwise gone with RAID 1 but need some additional performance boost
Disadvantages
Very expensive / High overhead

All drives must move in parallel to proper track lowering sustained performance

Very limited scalability at a very high inherent cost
Recommended Applications
# Database server requiring high performance
and fault tolerance

 

 

RAID Level 50 requires a minimum of 6 drives to implement

Characteristics & Advantages
RAID 50 should have been called "RAID 03" because it was implemented as a striped (RAID level 0) array whose segments were RAID 3 arrays (during mid-90s)

Most current RAID 50 implementation is illustrated above

RAID 50 is more fault tolerant than RAID 5 but has twice the parity overhead

High data transfer rates are achieved thanks to its RAID 5 array segments

High I/O rates for small requests are achieved thanks to its RAID 0 striping

Maybe a good solution for sites who would have otherwise gone with RAID 5 but need some additional performance boost
Disadvantages
Very expensive to implement

All disk spindles must be synchronized, which limits the choice of drives

Failure of two drives in one of the RAID 5 segments renders the whole array unusable