RAID è una soluzione sviluppata originariamente per il mercato dei server di rete come mezzo per la creazione di un grande spazio di archiviazione a un costo inferiore. Essenzialmente, sarebbero necessari più dischi rigidi a basso costo e messi insieme attraverso un controller per fornire una singola unità di capacità più grande. Questo è ciò che RAID sta per: array ridondante di dischi o dischi economici. Per ottenere ciò, sono stati necessari software e controllori specializzati per gestire i dati suddivisi tra le varie unità.
Alla fine, la potenza di elaborazione del tuo sistema informatico standard ha permesso alle funzionalità di filtrare la loro strada nel mercato dei personal computer.
Ora lo storage RAID può essere basato su software o hardware e può essere utilizzato per tre scopi distinti. Questi includono capacità, sicurezza e prestazioni. La capacità è semplice e generalmente coinvolta in quasi tutti i tipi di configurazione RAID utilizzata. Ad esempio, due dischi rigidi possono essere collegati insieme come una singola unità al sistema operativo, rendendo effettivamente un'unità virtuale doppia della capacità. Le prestazioni sono un'altra ragione fondamentale per l'utilizzo di un'impostazione RAID su un personal computer. Nello stesso esempio di due unità utilizzate come unità singola, il controller può suddividere un blocco dati in due parti e quindi inserire ciascuna di queste parti in un'unità separata. Questo raddoppia efficacemente le prestazioni di scrittura o lettura dei dati sul sistema di archiviazione. Infine, RAID può essere utilizzato per la sicurezza dei dati.
Questo viene fatto utilizzando parte dello spazio sulle unità per clonare essenzialmente i dati scritti su entrambe le unità. Ancora una volta, con due unità possiamo fare in modo che i dati vengano scritti su entrambe le unità. Pertanto, se un'unità guasta, l'altra ha ancora i dati.
A seconda degli obiettivi dell'array di archiviazione che si desidera mettere insieme per il proprio sistema informatico, si utilizzerà uno dei vari livelli di RAID per raggiungere questi tre obiettivi.
Per coloro che utilizzano dischi rigidi nei loro computer, le prestazioni saranno probabilmente più di un problema che di capacità. D'altra parte, coloro che utilizzano unità a stato solido probabilmente vorranno un modo per prendere le unità più piccole e collegarle insieme per creare un'unità singola più grande. Diamo un'occhiata ai vari livelli di RAID che possono essere utilizzati con un personal computer.
RAID 0
Questo è il livello più basso del RAID e in realtà non offre alcuna forma di ridondanza, motivo per cui è riferito a un livello 0. Essenzialmente, RAID 0 prende due o più unità e le unisce per modellare un'unità di capacità più grande. Ciò è ottenuto attraverso un processore chiamato striping. I blocchi di dati sono suddivisi in blocchi di dati e quindi scritti in ordine attraverso le unità. Ciò offre maggiori prestazioni poiché i dati possono essere scritti simultaneamente sugli azionamenti dal controller che moltiplica efficacemente la velocità degli azionamenti. Di seguito è riportato un esempio di come questo potrebbe funzionare su tre dischi:
Drive 1 | Drive 2 | Drive 3 | |
---|---|---|---|
Blocco 1 | 1 | 2 | 3 |
Blocco 2 | 4 | 5 | 6 |
Blocco 3 | 7 | 8 | 9 |
Affinché RAID 0 funzioni efficacemente per migliorare le prestazioni del sistema, è necessario provare e avere unità corrispondenti. Ogni unità dovrebbe avere la stessa capacità di memorizzazione e le stesse caratteristiche di prestazione. In caso contrario, la capacità sarà limitata a un multiplo del più piccolo tra le unità e le prestazioni rispetto al più lento delle unità poiché deve attendere che tutte le strisce vengano scritte prima di passare al set successivo. È possibile utilizzare unità non corrispondenti, ma in tal caso, l'installazione di JBOD potrebbe essere più efficace. JBOD rappresenta solo un gruppo di unità ed è in effetti solo una raccolta di unità alle quali è possibile accedere indipendentemente l'una dall'altra ma che appaiono come un'unica unità di archiviazione sul sistema operativo. Questo viene in genere ottenuto disponendo dei dati tra le unità. Spesso questo è indicato come SPAN o BIG. In effetti, il sistema operativo li vede tutti come un singolo disco, ma i blocchi verranno scritti sul primo disco fino a quando non si riempie, quindi passano al secondo, poi al terzo, ecc. Ciò è utile per aggiungere capacità extra in un sistema informatico esistente e con unità di varie dimensioni ma non aumenterà le prestazioni dell'array di unità. Il problema più grande con le configurazioni RAID 0 e JBOD è la sicurezza dei dati. Poiché hai più unità, le probabilità di corruzione dei dati aumentano perché hai più punti di errore. Se qualsiasi unità in un array RAID 0 non funziona, tutti i dati diventano inaccessibili. In un JBOD, un guasto all'unità comporterà la perdita di qualsiasi dato che si è verificato su tale unità. Di conseguenza, è meglio per coloro che desiderano utilizzare questo metodo di archiviazione per disporre di altri mezzi per eseguire il backup dei propri dati. Questo è il primo vero livello di RAID in quanto fornisce un livello completo di ridondanza per i dati memorizzati nell'array. Questo viene fatto attraverso un processo chiamato mirroring. In effetti, tutti i dati scritti sul sistema vengono copiati su ciascuna unità in un array di livello 1. Questa forma di RAID viene in genere eseguita con solo un paio di unità, in quanto l'aggiunta di più unità non aggiungerà alcuna capacità aggiuntiva, ma solo una maggiore ridondanza. Per meglio dare un esempio di questo, ecco un grafico che mostra come sarebbe scritto su due dischi: Per ottenere l'uso più efficace da una configurazione RAID 1, il sistema utilizzerà ancora una volta unità corrispondenti che condividono la stessa capacità e le stesse prestazioni. Se vengono utilizzate unità non corrispondenti, la capacità dell'array sarà uguale alla più piccola unità di capacità dell'array. Ad esempio, se in un array RAID 1 sono stati utilizzati un disco di un anno e mezzo terabyte e un terabyte, la capacità di questo array sul sistema sarebbe solo un terabyte singolo. Questo livello di RAID è estremamente efficace per la sicurezza dei dati perché le due unità sono effettivamente le stesse. Se una delle due unità non funziona, l'altra ha i dati completi dell'altro. Il problema con questo tipo di installazione è in genere determinante quale delle unità è fallita perché spesso l'archiviazione diventa inaccessibile quando uno dei due fallisce e non viene ripristinato correttamente fino a quando non viene inserita una nuova unità al posto di quella fallita e un ripristino processo è eseguito. Come accennato in precedenza, non vi è alcun guadagno in termini di prestazioni. In effetti, ci sarà una leggera perdita di prestazioni dal sovraccarico del controller per il RAID. Questa è una combinazione un po 'complicata di entrambi i livelli RAID 0 e livello 1. In effetti, il controller avrà bisogno di un minimo di quattro unità per funzionare in questa modalità, perché quello che farà è realizzare due coppie di unità. Il primo set di unità è un array con mirroring che clona i dati tra i due. Anche il secondo set di unità viene specchiato ma impostato per essere la striscia del primo. Ciò fornisce sia la ridondanza dei dati che i guadagni in termini di prestazioni. Di seguito è riportato un esempio di come i dati verrebbero scritti su quattro unità utilizzando questo tipo di configurazione: Per essere onesti, questa non è una modalità desiderabile di RAID per essere in esecuzione su un sistema informatico. Sebbene fornisca un incremento delle prestazioni, non è molto buono a causa dell'enorme quantità di sovraccarico del sistema. Inoltre, si tratta di un enorme spreco di spazio in quanto l'array di unità sarà solo alla metà della capacità di tutte le unità combinate. Se vengono utilizzate unità non corrispondenti, le prestazioni saranno limitate al più lento delle unità e la capacità sarà solo il doppio dell'unità più piccola. Questo è il livello più alto di RAID che può essere trovato nei sistemi di computer dei consumatori ed è un metodo molto più efficace per aumentare la capacità e la ridondanza. Raggiunge questo attraverso un processo di striping dei dati con parità. È necessario un minimo di tre unità per fare ciò poiché i dati sono suddivisi in strisce su più unità, ma un blocco su tutta la striscia è riservato alla parità. Per spiegarlo meglio, prima diamo un'occhiata a come i dati potrebbero essere scritti su tre unità: In sostanza, il controller dell'unità prende una serie di dati da scrivere su tutte le unità dell'array. Il primo bit di dati viene inserito nella prima unità e il secondo nella seconda. Il terzo disco ottiene il bit di parità che è essenzialmente un confronto dei dati binari sul primo e sul secondo. In matematica binaria, hai solo 0 e 1. Viene eseguito un processo matematico booleano per confrontare i bit. Se i due si sommano a un numero pari (0 + 0 o 1 + 1), il bit di parità sarà zero. Se i due si sommano a un numero dispari (1 + 0 o 0 + 1), il bit di parità sarà uno. Il motivo è che se una delle unità si guasta, il controller può quindi capire quali sono i dati mancanti. Ad esempio, se l'unità 1 non funziona, lasciando solo l'unità due e tre e l'unità due ha un blocco dati di uno e l'unità tre ha un blocco di parità di uno, il blocco dati mancante sull'unità 1 deve essere zero. Ciò fornisce una ridondanza dei dati efficace che consente di ripristinare tutti i dati in caso di guasto di un'unità. Ora per la maggior parte delle configurazioni consumer, un errore causerà comunque che il sistema non sia perché non è in uno stato funzionale. Per rendere il sistema funzionante, è necessario sostituire l'unità guasta con una nuova unità. Quindi un processo di ricostruzione dei dati deve essere eseguito a livello del controller che eseguirà quindi una funzione booleana inversa per ricreare i dati sull'unità mancante. Questo può richiedere un po 'di tempo, specialmente per unità con capacità maggiori, ma è almeno recuperabile. Ora la capacità di un array RAID 5 dipende dal numero di unità nell'array e dalla loro capacità. Ancora una volta, l'array è limitato dalla più piccola unità di capacità dell'array, quindi è meglio utilizzare unità corrispondenti. Lo spazio di archiviazione effettivo è uguale al numero di unità meno una volta la capacità minima. Quindi in termini matematici, lo è (n-1) * Capacitymin . Quindi, se si dispone di tre unità da 2 GB in un array RAID 5, la capacità totale sarebbe 4 GB. Un altro array RAID 5 che utilizzava quattro unità da 2 GB avrebbe una capacità di 6 GB. Ora le prestazioni per il RAID 5 sono un po 'più complicate di alcune altre forme di RAID a causa del processo booleano che deve essere eseguito per creare il bit di parità quando i dati vengono scritti nelle unità. Ciò significa che le prestazioni di scrittura saranno inferiori a un array RAID 0 con lo stesso numero di unità. Le performance di lettura, d'altra parte, non soffrono tanto quanto la scrittura perché il processo booleano non viene eseguito perché legge i dati dritti dalle unità. Abbiamo discusso i vari pro e contro di ciascuno dei livelli di RAID che possono essere utilizzati su personal computer, ma c'è un altro problema che molte persone non si rendono conto quando si tratta di creare configurazioni di unità RAID. Prima di poter utilizzare una configurazione RAID, questa deve prima essere costruita dal software del controller hardware o dal software del sistema operativo. Questo essenzialmente inizializza la speciale formattazione richiesta per tracciare correttamente come i dati saranno scritti e letti sull'unità. Questo probabilmente non sembra un problema, ma è anche necessario cambiare il modo in cui si desidera configurare il proprio array RAID. Ad esempio, supponiamo che stai esaurendo i dati e desideri aggiungere un'unità aggiuntiva per un array RAID 0 o RAID 5. Nella maggior parte dei casi, non sarà possibile eseguire la riconfigurazione dell'array RAID, che rimuoverà anche tutti i dati archiviati in tali unità.Ciò significa che è necessario eseguire il backup completo dei dati, aggiungere la nuova unità, riconfigurare l'array di unità, formattare l'array di unità e ripristinare i dati originali nell'unità. Questo può essere un processo estremamente doloroso. Di conseguenza, assicurati di avere realmente configurato l'array nel modo che desideri per la prima volta.RAID 1
Drive 1 Drive 2 Blocco 1 1 1 Blocco 2 2 2 Blocco 3 3 3 RAID 1 + 0 o 10
Drive 1 Drive 2 Drive 3 Drive 4 Blocco 1 1 1 2 2 Blocco 2 3 3 4 4 Blocco 3 5 5 6 6 RAID 5
Drive 1 Drive 2 Drive 3 Blocco 1 1 2 p Blocco 2 3 p 4 Blocco 3 p 5 6 Il grande problema con tutte le impostazioni RAID