Piccola e semplice guida su cosa è un sistema Raid, le sue varianti, vantaggi e svantaggi...grazie grazie
Cosa significa RAID?
RAID è ufficialmente l'acronimo di Redundant Array of Inexpensive Disks (Sistema ridondante di dischi economici), con tale parola si va a fare presa sulle velocità e sicurezza di tali sistemi utilizzando dischi di fascia consumer e da un prezzo non elevato. In molte occasioni avrete sentito dire anche Redundant Array of Indipendent Disks (Sistema ridondante di dischi indipendenti) è una variante ufficiosa della prima definizione, che rimane in ogni caso quella ufficiale per definire un RAID.
Tre righe e non vi ho ancora detto cosa è nell'atto pratico, quindi rimedio subito, un sistema RAID è un sistema di connessioni logiche tra dischi, connessioni che portano alcuni vantaggi:
- Aumento della sicurezza dei dati memorizzati
- Uso di tutto lo spazio disponibile su disco
- Aumento delle prestazioni in scrittura e lettura
Bene, bravo...bis! Quindi mi basta prendere due o più dischi e avrò un RAID anch'io?
Ovviamente no, sarebbe troppo facile. Un RAID può essere creato via software o via hardware usando una scheda dedicata interna da installare nel pc, oppure se la scheda ha un controller RAID integrato, in base a questo è possibile creare vari livelli.
Che differenza c'è tra RAID hardware e software?
Si, quello software è gestito dal sistema operativo stesso che si prende in carico anche tutto il lavoro necessario per la sua gestione (lettura, scrittura etc...), quello hardware invece è gestito da un controller fisico con hardware dedicato (quindi processore e ram dedicati che nessun controller integrato nella scheda madre avrà mai) che non va ad appesantire l'OS, di conseguenza come caratteristiche possono essere simili, ma in quanto a prestazioni un RAID hardware è molto più performante. Senza perderci in mille parole, vediamo un pò i pro e i contro di un RAID software
PRO
Costo Essendo tutto a carico del software non serve un controller hardware
Semplicità Non serve installare nulla, ne driver ne controller per esso
CONTRO
Prestazioni Inferiori e alcune volte anche di molto alla versione hardware
Limitazione boot Dovendo gestire l'array dall'OS non è possibile scrivere il boot nel RAID, quindi serve una partizione boot indipendente
Limitazione configurazioni Sono gestiti di solito solo raid 0, 1 e 5
Limitazione OS L'array creato verrà riconosciuto solo dal sistema operativo che l'ha creato, quindi non si sarà disponibile per altri OS in caso di multi boot
No HotSpare Ovvero nessuna possibilità di sostituzione dei dischi con sistema attivo.
Ho sentito parlare di Array, chi è costui?
Letteralmente è la struttura di raggruppamento che collega i dischi, è una caratteristica principale di una configurazione RAID e serve a evitare che i dischi finiscano a fare a testate tra di loro, in base al tipo di Array usato il livello RAID prende nomi diversi.
Ogni livello RAID è indicato con un numero progressivo (da 0 a 6, il 7 è stato creato da un produttore per i fatti suoi) che identifica il tipo di connessione logica e caratteristiche specifiche, inoltre è possibile combinare diverse configurazione (0+1 o 10 per esempio), esiste inoltre un'altra configurazione che non è definibile come RAID e che viene indicata con JBOD.
Ho capito, spesso sento dire mirroring, ridondanza e molti altri termini
Ed hai sentito giusto, sono parametri usati nei sistemi RAID che servono a farci capire ad esempio che RAID stiamo usando, il livello di annidamento e cosa importante, il costo di tale soluzione; la ridondanza è la capacità di duplicare le informazioni presenti nei dischi, così da permettere il loro recupero in caso di guasto di uno o più dischi presenti nella configurazione. La capacità di ridondanza viene ottenuta in varie modi che si differenziano in base al llivello RAID usato.
PRESTAZIONI
Mirroring (specchio)
In questo caso il RAID non fa altro che copiare e scrivere tutti i dati di un disco su un altro disco, così da avere due dischi uguali
Duplexing (duplicazione)
Praticamente uguale al Mirroring solo che per maggiore sicurezza vengono usati due controller, così da avere maggiore protezione in caso di guasto di un controller
Parity (Controllo parità)
Sistema particolare che non funziona come il Mirroring scrivendo una doppia copia dei dati, la ridondanza viene ottenuta attraverso il calcolo binario dei dati scritti, in pratica i bit scritti sul disco di partenza vengono calcolati e la loro somma viene scritta su un altro disco, facendo così si costruisce una catena di dati attraverso i dischi, se un dato si dovesse perdere è possibile recuperarlo grazie al ricalcolo con quelli esistenti nella catena (il famoso checksum).
Striping (divisione)
Per aumentare considerevolmente le prestazioni ogni file viene diviso in strisce che saranno scritte su diversi dischi, questo porta ad avere delle letture e scritture contemporaneamente, portando quindi al famoso incremento prestazionale.
STORAGE EFFICIENCY
E' il rendimento della configuazione scelta, di solito si consiglia l'uso di dischi delle stesse dimensioni quando si crea un RAID per non ritrovarsi a perdere dati su dischi di diverse taglie, inoltre la capacità ha un certo peso sul costo finale, mi spiego, lo spazio utilizzabile dall'utente è sempre inferiore a quello gestibile dal controller e dal disco, proprio perchè spazio viene usato dallo stesso (e può variare da livello a livello), di conseguenza bisogna tenere a mente bene questo fattore per evitare di ritrovarsi con una capacità inferiore rispetto a quelle necessaria.
Schemattizzando possiamo dire che la capacità può essere:
riassumendo possiamo dire che la capacità si divide in
Complessiva è la somma delle capacità dei dischi
Disponibile indica la capacità gestibile dalla configurazione scelta
Utilizzabile indica la capacità utilizzabile dall'utente per i dati personali
TRASPORTABILITA'
Per definizione un RAID non è trasportabile perchè l'array è legato strettamente all'ahrdware e non è legata al livello usato, quindi prima è il caso di fare un bel backup dei nostri dati e poi verificare la compatibilità del controller dove andrà installato il nostro RAID, tenendo bene a mente che controller di diversi produttori sono difficilmente compatibili tra di loro e che spesso non lo sono nemmeno tra modelli diversi dello stesso produttore.
In questi casi per certi versi è meglio affidarsi fin dall'inizio ad un controller su scheda dedicata installata, sarà così infatti possibile spostare anche lei nel nuovo sistema e poter continuare ad usare il nostro RAID con tranquillità.
TOLLERANZA ERRORI
E' la capacità di resistenza di un livello RAID nel garantire il recupero e la leggibilità dei dati in caso di problemi ad un disco. In quasi tutti i livelli la rottura di un disco è tollerata e facilmente assimilabile anche senza il riavvio del sistema, si cambia il disco e si ricostruiscono i dati al suo interno; se invece si guastano tutti i dischi presenti i dati saranno quasi sicuramente irrimediabilmente persi, per questo un backup è sempre la soluzione migliore.
Discorso diverso se si guasta il controller, in questo caso la soluzione più logica è quella di trovare un controller uguale ma funzionante (beh di ovvio), altrimenti una soluzione più elegante è quella di usare un duplexing, ovvero si tengono due controller in uno ci sono i dati e nell'altro il backup in pratica.
LIVELLI RAID
RAID 0
E' un falso RAID, non c'è nessuna sicurezza o ridondanza nei dati, si fa uno striping che unisce i dischi in uno solo, di conseguenza se uno si rompe i dati andranno persi.
Dischi: min 2 / max limitato dal controller
Ridondanza: no
Tolleranza errori: no
Prestazioni: miglioramento in lettura/ crittura del 50%
Capacità utilizzo: 100%
RAID 1
Classico mirroring, il secondo disco viene usato come se fosse un backup sul quale sono copiati i dati del primo disco.
Dischi: Min 2 / Max limite del controller a coppie
Ridondanza: Mirroring con duplicazione dei dati da un disco all’altro
Tolleranza errori: tollerato guasto di un disco
Prestazioni: uguale ad un disco classico
Capacità utilizzo: 50% della somma dei due dischi essendo uno dedicato alla copia
RAID 2
Sistema con controllo ECC dei dati, funzione che poi è stata integrata nei dischi stessi rendendo questo tipo di RAID inutile e inutilizzato
RAID 3
Lo striping in questo caso viene fatto a livello di Byte, vengono usati due dischi per i dati e uno per la memorizzazione del Byte di parità per la ridondanza e recupero dei dati in caso di guasto. questo tipo di Raid di solito non è presente nel controller integrati sulle schede madri ma solo su soluzioni dedicate.
Dischi: Min 3 / Max limite del controller
Ridondanza: calcolo e scrittura del Byte di parità per ogni dato sul disco dedicato
Tolleranza: tollerato guasto di un disco
Prestazioni: buone in lettura, inferiori rispetto al singolo disco in scrittura
Capacità utilizzo: 65% della somma dei dischi che aumenta con l'aumentare dei dischi usati
RAID 4
Uguale al 3 con la differenza che lo striping viene eseguito a livello di blocchi e non del Byte. Anche questa configurazione non è di solito presente nei controller intergrati sulle schede madri ma solo su soluzioni dedicate.
Dischi: Min 3 / Max limite del controller
Ridondanza: calcolo e scrittura del Byte di parità dei dischi per ogni dato sul disco dedicato
Tolleranza: tollerato guasto di un disco
Prestazioni: buone in lettura, inferiori rispetto al singolo disco in scrittura
Capacità utilizzo: 65% della somma dei dischi che aumenta con l'aumentare dei dischi usati
RAID 5
Il RAID 5 utilizza lo striping e il controllo di parità per la sicurezza, l'unica differenza rispetto al 4 è che in questo caso non è presente il disco dedicato alla parità, chiaramente su un blocco diverso da quello dei dati, altrimenti sarebbe inutile
Dischi: Min 3 / Max limite del controller
Ridondanza: calcolo e scrittura di parità sugli stessi dischi dove vengono scritti i dati
Tolleranza: tollerato guasto di un disco
Prestazioni: buone in lettura, buone in scritttura anche se inferiori al RAID 0
Capacità utilizzo: 65% della somma dei dischi che aumenta con l'aumentare dei dischi usati
RAID 6
Del tutto simile al 5 con striping e controllo di parità doppia, la differenza è che in questo caso la parità viene riportata due volte su dischi diversi.
Dischi: Min 4 / Max limite del controller
Ridondanza: calcolo e scrittura di parità doppia sugli stessi dischi dove vengono scritti i dati
Tolleranza: tollerato guasto di un disco
Prestazioni: ottime in lettura, discrete in scritttura e inferiori al disco singolo
Capacità utilizzo: 50% con 4 dischi che sale con l'aumentare dei dischi
RAID 7
Uguale nella sostanza al 5 con l'unica differenza che il 7 è uno standard proprietario di Storage Computer Corporation, quindi con striping e sicurezza con controllo di parità,
RAID ANNIDIATI
Sono combinazioni di varie configurazione, ovvero si crea un RAID su un livello e a sua volta sopra si crea un altro RAID di un altro livello, è così possibile creare sistemi molto avanzati che vanno a compensare mancanze di una configurazione traendone i vantaggi. Queste configurazione sono di solito molto costose e riservate a macchine aziendali o dove è richiesto un certo lavoro specifico o livello.
RAID 0+1
Come è facilmente intuibile è configurato con coppia di due o più dischi più un altro gruppo di dischi in RAID 0, 4 dischi verranno visti logicamente come 2 dal sistema e sarà quindi possibile cotruire un RAID 1 come se fossero due dischi reali.
Dischi: Min 4 / Incremento in coppia di 2 fino al massimo gestibile dal controller
Ridondanza: duplicazioni dei dati con mirroring
Tolleranza: tollerato guasto di un disco
Prestazioni: ottime in lettura e scrittura
Capacità utilizzo: 50% per ogni coppia
RAID 10(1+0)
In questo caso si parte da due dischi in RAID 1 per poi definire un'altra coppia sempre in RAID 1, tra le due coppie si crea cos un RAID 0, così da vedere tutto come un unico disco. Questa configurazione non è supportata da tutti i controller integrati nelle schede madri, ma solo su soluzioni dedicate.
Dischi: Min 4 / Incremento in coppia di 2 fino al massimo gestibile dal controller
Ridondanza: duplicazioni dei dati con mirroring
Tolleranza: tollerato guasto di due non appartenenti alla stessa coppia
Prestazioni: ottime in lettura e scrittura
Capacità utilizzo: 50% per ogni coppia
JBOD
Just a Bunch of Disks è un sistema che ha poco a che fare con il RAID ma per certi versi ci somiglia nel modo di indirizzare con un array più dischi in una macchina, è simile al RAID 0 senza striping, si limita semplicemente a far vedere al sistema un unico disco, per semplificare è una sorta di collegamento (senza spezzettamento classico dei dati dello striping) tra i due dischi, esempio lampante è lo spazio del disco che sarà sempre la somma matematica dei dischi usati.
Differenza rispetto al RAID 0 è anche il metodo di scrittura, le JBOD i dati vengono equamente divisi per i dischi disponibili, in modo tale che l'occupazione di spazio sia sempre più o meno uguale su ogni disco, una sorta di ottimizzazione dell'uso.
In caso di guasto i dati sono facilmente recuperabili visto che sono presenti in forma completa su ogni disco, sarà sufficiente ricostruire l'array perso per poter procedere al recupero.
Dischi: Min 1
Ridondanza: no
Tolleranza: no
Prestazioni: uguali al disco singolo
Capacità utilizzo: 100%