1. Panoramica RAID
Nel 1988, l'Università della California, Berkeley, propose il concetto di RAID (RedundantArrayofIncheapDisks) e, con il continuo diminuire del costo dei dischi, RAID divenne (RedundantArrayofIndependentDisks), ma la sostanza non cambiò. SNIA, Berkeley e altre organizzazioni hanno stabilito i sette livelli di RAID0~RAID6 come livelli standard RAID, e il RAID standard può essere combinato in altri livelli RAID, mentre i livelli più utilizzati sono RAID0, RAID1, RAID3, RAID5, RAID6 e RAID10. Ogni livello RAID rappresenta un metodo e una tecnologia di implementazione, e non c'è distinzione tra i livelli. Nelle applicazioni pratiche, il livello RAID appropriato e i metodi di implementazione specifici dovrebbero essere selezionati in base alle caratteristiche dell'applicazione dati dell'utente, considerando disponibilità, prestazioni e costo.
Dal punto di vista dell'implementazione, RAID è principalmente suddiviso in tre tipi: RAID soft, RAID rigido e RAID ibrido. Tutte le funzioni del soft RAID sono eseguite dal sistema operativo e dalla CPU, che è naturalmente il meno efficiente. Hard RAID è dotato di chip specializzati per il controllo/elaborazione RAID e chip di elaborazione I/O e buffer di array, che non richiedono risorse CPU ma sono costosi. Il RAID ibrido dispone di chip di controllo/elaborazione RAID, ma manca di chip di elaborazione I/O, che richiedono CPU e driver per essere completati, e prestazioni e costi sono tra RAID soft e hard.
2. Principi di base
RAID è un sottosistema di disco costituito da più unità disco indipendenti e ad alte prestazioni, offrendo così prestazioni di archiviazione e tecnologia di ridondanza dati superiori rispetto a un singolo disco. RAID è una classe di tecnologia di gestione multi-disco che offre storage ad alte prestazioni con elevata affidabilità dei dati a un costo accessibile per l'ambiente host. I due obiettivi principali di RAID sono migliorare l'affidabilità dei dati e le prestazioni di I/O. In un array di dischi, i dati sono distribuiti su più dischi, ma per un sistema informatico è come un singolo disco. La ridondanza si ottiene scrivendo gli stessi dati su più dischi contemporaneamente (tipicamente come lo mirroring) oppure scrivendo dati di controllo calcolati su un array, assicurando che la perdita di dati non avvenga quando un singolo disco si guasta.
Ci sono tre concetti e tecniche principali in RAID: Mirroring, DataStripping e Dataparity:
Il mirroring, che replica dati su più dischi, migliora l'affidabilità da un lato e le prestazioni di lettura leggendo dati da due o più repliche contemporaneamente. Ovviamente, le prestazioni di scrittura dell'immagine sono leggermente inferiori e ci vuole più tempo per assicurarsi che i dati vengano scritti correttamente su più dischi. Il data striping, che contiene shard di dati su più dischi diversi, e più data shard insieme formano una copia completa dei dati, diversa da più copie di mirroring, e viene spesso utilizzata per considerazioni di prestazioni. Le strip dati hanno una maggiore granularità di concorrenza e, quando i dati sono accessibili, possono leggere e scrivere dati su dischi diversi contemporaneamente, con un miglioramento molto significativo delle prestazioni di I/O. La verifica dei dati, utilizzando dati ridondanti per il rilevamento e la riparazione degli errori, i dati ridondanti vengono solitamente calcolati tramite codice di Hemingway, operazioni XOR e altri algoritmi. La funzione di verifica può migliorare notevolmente l'affidabilità, il furto e la tolleranza ai guasti degli array di dischi. Tuttavia, la validazione dei dati richiede che i dati vengano letti da più fonti, calcolati e confrontati, il che può influire sulle prestazioni del sistema. Diversi gradi di RAID impiegano una o più delle tre tecnologie per ottenere diverse affidabilità, disponibilità e prestazioni di I/O dei dati. Per quanto riguarda quale RAID progettare (o anche un nuovo grado o tipo) o quale modalità di RAID utilizzare, è necessario fare una scelta ragionevole basata su una profonda comprensione delle esigenze del sistema e valutare in modo completo affidabilità, prestazioni e costi per trovare un compromesso.
In generale, i principali vantaggi del RAID sono: grande capacità, alte prestazioni, affidabilità e gestibilità.
3. Rating RAID
JBOD (JustaBunchOfDisks) non è un livello RAID standard, viene spesso utilizzato per rappresentare un insieme di dischi che non dispongono di software di controllo per fornire un controllo coordinato. JBOD collega più dischi fisici in serie per fornire un enorme disco logico. Le prestazioni di archiviazione sono esattamente le stesse di un singolo disco e non garantiscono la sicurezza dei dati. La capacità di archiviazione disponibile è uguale alla somma dello spazio di memoria di tutti i dischi membri.
RAID0, chiamato striping, è una tecnologia semplice e non controllata di data striping. Le prestazioni sono le più alte tra tutti i livelli RAID. Non sono previste politiche di licenziamento di alcun tipo. Utilizzo al 100% dello spazio di stoccaggio.
RAID1 si chiama mirroring, e scrive dati sul disco di lavoro e su quello specchiato in modo completamente coerente, con una diffusione dello spazio su disco del 50%. Le prestazioni sono influenzate quando i dati vengono scritti, ma non letti. Fornisce la migliore protezione dei dati: una volta che il disco funzionante si guasta, il sistema legge automaticamente i dati dal disco specchiato, il che non influirà sul lavoro dell'utente.
RAID2 si chiama Heming Code Disk Array, e la sua idea di progettazione è di utilizzare il codice Heming per ottenere ridondanza nella verifica dei dati. Più grande è la larghezza dei dati, maggiore è l'utilizzo dello spazio di archiviazione, ma più dischi servono. Ha la capacità di correggere errori, ma il sovraccarico di ridondanza dei dati di Hemingcode è troppo elevato e la ricostruzione dei dati richiede molto tempo, quindi RAID2 viene raramente utilizzato nella pratica.
RAID3 è chiamato strip di parità dedicato, che utilizza un disco dedicato come disco di controllo e il resto dei dischi come disco dati, e i dati vengono memorizzati incrociati in ogni disco dati in bit e byte. RAID3 richiede almeno tre dischi.
RAID4 e RAID3 funzionano su un principio molto simile. Offre ottime prestazioni di lettura, ma scarse prestazioni di scrittura. E man mano che aumenta il numero di dischi membri, il collo di bottiglia del sistema del disco di checksum diventerà più evidente. È raro nelle applicazioni reali, e i prodotti di storage mainstream raramente utilizzano la protezione RAID4.
RAID5 è chiamato striscia di checksum di parità distribuita, che dovrebbe essere il livello RAID più comune attualmente, e il principio è simile a quello di RAID4, ma non esiste alcun collo di bottiglia nelle prestazioni del disco di controllo durante le operazioni di scrittura concorrente in RAID4.
RAID6, chiamato double parity strip, introduce il concetto di doppi controlli per risolvere il problema dell'integrità dei dati quando due dischi si guastano contemporaneamente che altre classi RAID non possono risolvere. Tuttavia, costa molto di più rispetto a RAID5, ha scarse prestazioni di scrittura ed è molto complesso da progettare e implementare. Pertanto, RAID6 è raramente utilizzato nella pratica ed è generalmente un'alternativa economica alle soluzioni RAID10.
I livelli RAID standard hanno i loro punti di forza e di debolezza. Combinare più livelli RAID per ottenere vantaggi complementari e compensare le carenze reciproche, al fine di ottenere un sistema RAID con prestazioni superiori, sicurezza dei dati e altri indicatori. Naturalmente, il costo di implementazione del livello combinato è generalmente molto elevato e viene utilizzato solo in pochi casi specifici. In realtà, sono ampiamente utilizzati solo RAID01 e RAID10.
RAID01 viene prima stripato e poi specchiato, cioè essenzialmente per visualizzare il disco fisico; RAID10 consiste prima nell'immagine, poi in strisce, cioè nell'immagine del disco virtuale. Con la stessa configurazione, RAID01 di solito ha una tolleranza ai guasti migliore rispetto a RAID10. RAID01 combina i vantaggi di RAID0 e RAID1, con un utilizzo complessivo del disco di solo il 50%.
4. Confronto dei livelli RAID mainstream
Configurazione RAID
Livello/Descrizione: | Tolleranza ai guasti | merito | mancanza | RAID 0
Mappare i dati tra i dischi per creare grandi dischi virtuali. Poiché ogni disco fisico elabora solo una parte della richiesta, può offrire prestazioni superiori. Tuttavia, se un disco si guasta, il disco virtuale (VD) diventerà inaccessibile e i dati andranno persi in modo permanente. | non | Prestazioni migliori Spazio aggiuntivo | Non deve essere utilizzato per dati critici | RAID 1
Specchia i dati, memorizza la ridondanza dei dati su due dischi. Se un disco si guasta, l'altro disco prenderà il posto di unità primaria. | Errore del disco Guasto di un singolo disco | Prestazioni ad alta lettura Recupero rapido dopo un guasto al disco Ridondanza dei dati | Il sovraccarico del disco è elevato Capacità limitata | RAID 5
Mappare i dati tra i dischi e memorizza i bit di parità di ogni strip dati su dischi diversi in VD. Il bit di parità contiene informazioni che possono essere utilizzate per ricostruire dati da un disco guasto da un altro disco in caso di guasto di un singolo disco. | Errore del disco Guasto di un singolo disco | Uso efficiente della capacità di trasmissione Prestazioni ad alta lettura Prestazioni di scrittura da medie ad alte | Impatto moderato di guasto del disco A causa del ricalcolo della parità, il tempo di ricostruzione è più lungo | RAID 6
Mappare i dati tra i dischi e memorizza i bit di parità di ogni strip dati su dischi diversi in VD. A differenza di RAID 5, RAID 6 esegue due calcoli di parità (P e Q), permettendogli di resistere a guasti a doppio disco. | Ridondanza dei dati Prestazioni ad alta lettura | Errore del disco Guasto al doppio disco | Le prestazioni di scrittura sono ridotte a causa di due calcoli di parità Poiché è equivalente all'uso di 2 dischi per la parità, c'è un costo aggiuntivo | RAID 10
Strisce sul set di specchi. L'overhead del disco è elevato, ma è un'ottima soluzione per alte prestazioni, ridondanza e rapido recupero in caso di guasto al disco. | Errore del disco Un guasto disco per ogni set di immagini | Prestazioni ad alta lettura Possono essere supportati gruppi RAID con fino a 192 dischi | Il costo più alto | RAID 50
Striscia RAID 5 sul set. Riducendo le letture del disco per calcolo di parità, le prestazioni possono essere migliorate con RAID 5, a seconda della configurazione. | Errore del disco Un guasto del disco per intervallo | Prestazioni ad alta lettura Prestazioni di scrittura da medie ad alte Possono essere supportati gruppi RAID con fino a 192 dischi | Impatto moderato di guasto del disco A causa del ricalcolo della parità, il tempo di ricostruzione è più lungo | RAID 60
Striscia RAID 6 sul set. Con meno letture del disco per calcolo di parità, le prestazioni possono essere migliorate con RAID 6, a seconda della configurazione. | Errore del disco Due dischi si guastano per campata | Prestazioni ad alta lettura Possono essere supportati gruppi RAID con fino a 192 dischi | Le prestazioni di scrittura sono ridotte a causa di due calcoli di parità Poiché è equivalente all'uso di 2 dischi per la parità, c'è un costo aggiuntivo |
5. Differenze tra software e hardware RAID
RAID morbido
Soft RAID non dispone di un chip di controllo dedicato né di un chip I/O, e il sistema operativo e la CPU implementano tutte le funzioni RAID. I sistemi operativi moderni offrono sostanzialmente il supporto soft RAID, fornendo un'astrazione tra unità fisiche e logiche aggiungendo uno strato software sopra i driver del dispositivo disco. Attualmente, le valutazioni RAID più comuni supportate dal sistema operativo sono RAID0, RAID1, RAID10, RAID01 e RAID5. Ad esempio, Windows Server supporta RAID0, RAID1 e RAID5, Linux supporta RAID0, RAID1, RAID4, RAID5, RAID6, ecc., e Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris e altri sistemi operativi supportano anch'essi i corrispondenti livelli RAID.
La gestione della configurazione e il recupero dei dati del soft RAID sono relativamente semplici, ma tutti i compiti RAID sono completamente eseguiti dalla CPU, come il calcolo dei valori di controllo, quindi l'efficienza di esecuzione è relativamente bassa.
Il soft RAID è implementato dal sistema operativo, quindi la partizione in cui si trova il sistema non può essere utilizzata come disco logico membro del RAID, e il soft RAID non può proteggere il disco di sistema D. Per alcuni sistemi operativi, le informazioni di configurazione RAID sono memorizzate in informazioni di sistema piuttosto che come file separati su disco. In questo modo, quando il sistema va in crash improvvisamente e deve essere reinstallato, le informazioni RAID si perdono. Inoltre, la tecnologia di tolleranza ai guasti del disco non supporta completamente la sostituzione online, lo scambio a caldo o lo scambio a caldo, e se possa supportare lo scambio a caldo del disco sbagliato dipende dall'implementazione del sistema operativo.
RAID Rigido
Hard RAID dispone di propri chip di elaborazione di controllo RAID e di elaborazione I/O, e persino buffering di array, che è il migliore dei tre tipi di implementazione in termini di utilizzo della CPU e prestazioni complessive, ma ha anche il costo di implementazione più elevato. L'hard RAID tipicamente supporta la tecnologia hot-swapping, che sostituisce i dischi guasti mentre il sistema è in funzione.
Il RAID rigido consiste in una scheda RAID e un chip RAID integrati sulla scheda madre, e le piattaforme server spesso utilizzano schede RAID. Una scheda RAID è composta da 4 parti: il chip di elaborazione del nucleo RAID (la CPU sulla scheda RAID), la porta, la cache e la batteria. Tra queste, porte si riferiscono ai tipi di interfacce disco supportate dalle schede RAID, come IDE/ATA, SCSI, SATA, SAS, FC e altre interfacce.
RAID misto hard e soft
Il soft RAID non è molto efficace e non protegge le partizioni di sistema, rendendolo difficile da applicare ai sistemi desktop. L'hard RAID è molto costoso e diversi RAD sono indipendenti tra loro e non interoperabili. Pertanto, le persone adottano una combinazione di software e hardware per implementare il RAID, al fine di ottenere un compromesso tra prestazioni e costo, cioè prestazioni ad alto costo.
Sebbene questo RAID utilizzi un chip di controllo di elaborazione, per risparmiare costi, il chip è spesso più economico e ha una potenza di calcolo inferiore, e la maggior parte dell'elaborazione del lavoro RAID è ancora eseguita dalla CPU tramite driver firmware.
6. Selezione delle applicazioni RAID
Ci sono tre fattori principali nella scelta di un livello RAID: disponibilità dei dati, prestazioni di I/O e costi. Se la disponibilità non è richiesta, scegli RAID0 per alte prestazioni. Se disponibilità e prestazioni sono importanti e il costo non è un fattore importante, scegli RAID1 in base al numero di dischi. Se disponibilità, costo e prestazioni sono ugualmente importanti, scegli RAID3 o RAID5 in base al trasferimento generale dei dati e al numero dei dischi. Nelle applicazioni pratiche, il livello RAID appropriato dovrebbe essere selezionato in base alle caratteristiche e alle condizioni specifiche dell'applicazione dati dell'utente, considerando disponibilità, prestazioni e costi.
|