Che cos’è il RAID e quali sono i suoi vantaggi
Come funziona RAID
RAID funziona posizionando i dati su più dischi e consentendo alle operazioni di input / output di sovrapporsi in modo equilibrato, migliorando le prestazioni. Poiché l'utilizzo di più dischi aumenta il tempo medio tra gli errori (MTBF), l'archiviazione dei dati in modo ridondante aumenta anche la tolleranza agli errori.
Gli array RAID vengono visualizzati dal sistema operativo (OS) come una singola unità logica. RAID utilizza le tecniche di mirroring del disco o striping del disco. Il mirroring copierà dati identici su più di un'unità. Lo striping delle partizioni aiuta a diffondere i dati su più unità disco. Lo spazio di archiviazione di ciascuna unità è suddiviso in unità che vanno da un settore (512 byte) fino a diversi megabyte. Le strisce di tutti i dischi sono interfogliate e indirizzate in ordine.
Il mirroring del disco e lo striping del disco possono anche essere combinati in un array RAID.
In un sistema a utente singolo in cui sono archiviati record di grandi dimensioni, gli stripe sono generalmente impostati per essere piccoli (512 byte) in modo che un singolo record si estenda su tutti i dischi e sia possibile accedervi rapidamente leggendo tutti i dischi contemporaneamente.
In un sistema multiutente, prestazioni migliori richiedono uno stripe sufficientemente ampio da contenere il record di dimensioni tipiche o massime, consentendo la sovrapposizione dell'I / O del disco tra le unità.
Controller RAID
Un controller RAID è un dispositivo utilizzato per gestire le unità disco rigido in un array di archiviazione. Può essere utilizzato come livello di astrazione tra il sistema operativo e i dischi fisici, presentando gruppi di dischi come unità logiche. L'utilizzo di un controller RAID può migliorare le prestazioni e aiutare a proteggere i dati in caso di crash.
Un controller RAID può essere basato su hardware o software. In un prodotto RAID basato su hardware, un controller fisico gestisce l'array. Il controller può anche essere progettato per supportare formati di unità come SATA e SCSI. Un controller RAID fisico può anche essere integrato nella scheda madre di un server.
Con il RAID basato su software, il controller utilizza le risorse del sistema hardware, come il processore centrale e la memoria. Sebbene svolga le stesse funzioni di un controller RAID basato su hardware, i controller RAID basati su software potrebbero non consentire un aumento delle prestazioni tanto elevato e possono influire sulle prestazioni di altre applicazioni sul server.
Se un'implementazione RAID basata su software non è compatibile con il processo di avvio di un sistema e i controller RAID basati su hardware sono troppo costosi, il firmware o il RAID basato su driver è un'altra potenziale opzione.
I chip del controller RAID basati su firmware si trovano sulla scheda madre e tutte le operazioni vengono eseguite dalla CPU, in modo simile al RAID basato su software. Tuttavia, con il firmware, il sistema RAID viene implementato solo all'inizio del processo di avvio. Una volta caricato il sistema operativo, il driver del controller assume la funzionalità RAID. Un controller RAID firmware non è costoso come un'opzione hardware, ma mette a dura prova la CPU del computer. Il RAID basato su firmware è anche chiamato RAID software assistito da hardware, RAID modello ibrido e RAID falso.
Livelli RAID
I dispositivi Raid faranno uso di diverse versioni, chiamate livelli. Il documento originale che ha coniato il termine e sviluppato il concetto di configurazione RAID definiva sei livelli di RAID - da 0 a 5. Questo sistema numerato ha consentito agli addetti IT di differenziare le versioni RAID. Da allora il numero di livelli si è ampliato ed è stato suddiviso in tre categorie: livelli RAID standard, nidificati e non standard.
Livelli RAID standard
RAID 0. Questa configurazione prevede lo striping, ma non la ridondanza dei dati. Offre le migliori prestazioni, ma non fornisce tolleranza ai guasti.
RAID 1. Conosciuto anche come mirroring del disco, questa configurazione consiste in almeno due unità che duplicano l'archiviazione dei dati. Non ci sono strisce. Le prestazioni di lettura sono migliorate poiché entrambi i dischi possono essere letti contemporaneamente. Le prestazioni di scrittura sono le stesse dell'archiviazione su disco singolo.
RAID 2. Questa configurazione utilizza lo striping tra i dischi, con alcuni dischi che memorizzano le informazioni di controllo e correzione degli errori. RAID 2 utilizza anche una parità di codice Hamming dedicata; una forma lineare di codice di correzione degli errori. RAID 2 non ha alcun vantaggio rispetto a RAID 3 e non viene più utilizzato.
RAID 3 . Questa tecnica utilizza lo striping e dedica un'unità alla memorizzazione delle informazioni di parità. Le informazioni ECC incorporate vengono utilizzate per rilevare gli errori. Il recupero dei dati si ottiene calcolando le informazioni esclusive registrate sulle altre unità. Poiché un'operazione di I / O indirizza tutte le unità contemporaneamente, RAID 3 non può sovrapporsi all'I / O. Per questo motivo, RAID 3 è ideale per i sistemi a utente singolo con applicazioni di registrazione lunga.
RAID 4. Questo livello utilizza strisce larghe, il che significa che un utente può leggere i record da qualsiasi singola unità. L'I / O sovrapposto può quindi essere utilizzato per le operazioni di lettura. Poiché tutte le operazioni di scrittura sono necessarie per aggiornare l'unità di parità, non è possibile alcuna sovrapposizione di I / O.
RAID 5. Questo livello si basa sullo striping a livello di blocco di parità. Le informazioni di parità vengono distribuite su ciascuna unità, consentendo all'array di funzionare anche in caso di guasto di un'unità. L'architettura dell'array consente le operazioni di lettura e scrittura su più unità, con prestazioni migliori di quelle di una singola unità, ma non così elevate come quelle di un array RAID 0. RAID 5 richiede almeno tre dischi, ma spesso si consiglia di utilizzare almeno cinque dischi per motivi di prestazioni.
Gli array RAID 5 sono generalmente considerati una scelta scadente per l'uso su sistemi a scrittura intensiva a causa dell'impatto sulle prestazioni associato alla scrittura dei dati di parità. Quando un disco si guasta, la ricostruzione di un array RAID 5 può richiedere molto tempo.
RAID 6. Questa tecnica è simile a RAID 5, ma include un secondo schema di parità distribuito tra le unità dell'array. L'utilizzo di una parità aggiuntiva consente all'array di continuare a funzionare anche se due dischi si guastano contemporaneamente. Tuttavia, questa protezione aggiuntiva ha un costo. Gli array RAID 6 hanno spesso prestazioni di scrittura più lente rispetto agli array RAID 5.
Livelli RAID nidificati
Alcuni livelli RAID sono indicati come RAID nidificati perché sono basati su una combinazione di livelli RAID. Di seguito sono riportati alcuni esempi di livelli RAID nidificati.
RAID 10 (RAID 1 + 0). Combinando RAID 1 e RAID 0, questo livello viene spesso definito RAID 10, che offre prestazioni superiori rispetto a RAID 1, ma a un costo molto più elevato. In RAID 1 + 0, i dati vengono sottoposti a mirroring e i mirror vengono sottoposti a striping.
RAID 01 (RAID 0 + 1). RAID 0 + 1 è simile a RAID 1 + 0, tranne per il fatto che il metodo di organizzazione dei dati è leggermente diverso. Piuttosto che creare un mirror e quindi eseguire lo striping del mirror, RAID 0 + 1 crea un set di striping e quindi esegue il mirroring del set di striping.
RAID 03 (RAID 0 + 3, noto anche come RAID 53 o RAID 5 + 3). Questo livello utilizza lo striping (in stile RAID 0) per i blocchi del disco virtuale di RAID 3. Questo offre prestazioni superiori rispetto a RAID 3, ma a un costo maggiore.
RAID 50 (RAID 5 + 0). Questa configurazione combina la parità distribuita RAID 5 con lo striping RAID 0 per migliorare le prestazioni RAID 5 senza ridurre la protezione dei dati.
Livelli RAID non standard
I livelli RAID non standard variano dai livelli RAID standard e sono generalmente sviluppati da aziende o organizzazioni per un uso principalmente proprietario. Ecco alcuni esempi.
RAID 7. Un livello RAID non standard basato su RAID 3 e RAID 4 che aggiunge la memorizzazione nella cache. Include un sistema operativo integrato in tempo reale come controller, memorizzazione nella cache e altre caratteristiche di un computer autonomo.
RAID adattivo. Questo livello consente al controller RAID di decidere come memorizzare la parità sui dischi. Sceglierà tra RAID 3 e RAID 5, a seconda del tipo di set RAID che avrà prestazioni migliori con il tipo di dati scritti sui dischi.
Linux MD RAID 10. Questo livello, fornito dal kernel Linux, supporta la creazione di array RAID nidificati e non standard. Il software RAID Linux può anche supportare la creazione di configurazioni RAID 0, RAID 1, RAID 4, RAID 5 e RAID 6 standard.
Vantaggi del RAID
I vantaggi di RAID includono quanto segue.
-
Un miglioramento dell'efficienza in termini di costi perché i dischi a basso prezzo vengono utilizzati in gran numero.
-
L'uso di più dischi rigidi consente al RAID di migliorare le prestazioni di un singolo disco rigido.
-
Maggiore velocità e affidabilità del computer dopo un arresto anomalo, a seconda della configurazione.
-
Le letture e le scritture possono essere eseguite più velocemente rispetto a una singola unità con RAID 0. Questo perché un file system è suddiviso e distribuito tra unità che lavorano insieme sullo stesso file.
-
La disponibilità e la resilienza aumentano con RAID 5. Con il mirroring, gli array RAID possono avere due unità contenenti gli stessi dati, assicurando che una continuerà a funzionare se l'altra si guasta.
Aspetti negativi dell'utilizzo di RAID
Il RAID, tuttavia, ha degli svantaggi. Alcuni di questi includono:
-
I livelli RAID nidificati sono più costosi da implementare rispetto ai livelli RAID tradizionali perché richiedono un numero maggiore di dischi.
-
Il costo per gigabyte dei dispositivi di archiviazione è maggiore per il RAID nidificato perché molte delle unità vengono utilizzate per la ridondanza.
-
Quando un'unità si guasta, aumenta la probabilità che anche un'altra unità dell'array si guasti presto, il che potrebbe comportare la perdita di dati. Questo perché tutte le unità in un array RAID vengono installate contemporaneamente, quindi tutte le unità sono soggette alla stessa quantità di usura.
-
Alcuni livelli RAID (come RAID 1 e 5) possono sostenere solo un guasto di una singola unità.
-
Gli array RAID e i dati in essi contenuti sono vulnerabili fino a quando un'unità guasta non viene sostituita e il nuovo disco viene popolato di dati.
-
Poiché ora le unità hanno una capacità molto maggiore rispetto a quando RAID è stato implementato per la prima volta, la ricostruzione delle unità guaste richiede molto più tempo.
-
Se si verifica un guasto del disco, è possibile che i dischi rimanenti contengano settori danneggiati o dati illeggibili, il che potrebbe rendere impossibile ricostruire completamente l'array.
Tuttavia, i livelli RAID nidificati risolvono questi problemi fornendo un maggior grado di ridondanza, riducendo significativamente le possibilità di un errore a livello di array dovuto a guasti simultanei del disco.
Storia del RAID
Il termine RAID è stato coniato nel 1987 da David Patterson, Randy Katz e Garth A. Gibson. Nel loro rapporto tecnico del 1988, "A Case for Redundant Arrays of Inexpensive Disks (RAID)", i tre sostenevano che un array di unità economiche poteva battere le prestazioni delle unità disco più importanti dell'epoca. Utilizzando la ridondanza, un array RAID potrebbe essere più affidabile di qualsiasi unità disco.
Sebbene questo rapporto sia stato il primo a dare un nome al concetto, l'uso di dischi ridondanti era già oggetto di discussione da parte di altri. Gus German e Ted Grunau di Geac Computer Corp. si riferirono inizialmente a questa idea come MF-100. Norman Ken Ouchi di IBM ha depositato un brevetto nel 1977 per la tecnologia, che in seguito è stata denominata RAID 4. Nel 1983, Digital Equipment Corp. ha spedito le unità che sarebbero diventate RAID 1 e nel 1986 è stato depositato un altro brevetto IBM per quello che sarebbe diventato RAID 5. Patterson, Katz e Gibson hanno anche esaminato cosa veniva fatto da aziende come Tandem Computers, Thinking Machines e Maxstor per definire le loro tassonomie RAID.
Mentre i livelli di RAID elencati nel rapporto del 1988 essenzialmente attribuiscono nomi a tecnologie già in uso, la creazione di una terminologia comune per il concetto ha contribuito a stimolare il mercato dell'archiviazione dati a sviluppare più prodotti RAID array.
Secondo Katz, il termine poco costoso nell'acronimo è stato presto sostituito da indipendente dai fornitori del settore a causa delle implicazioni dei bassi costi.
Il futuro del RAID
Alternative come la codifica di cancellazione offrono una migliore protezione dei dati (anche se a un prezzo più alto) e sono state sviluppate con l'intenzione di affrontare i punti deboli del RAID. Con l'aumentare della capacità dell'unità, aumenta anche la possibilità di errore con un array RAID e le capacità aumentano costantemente.
L'aumento delle unità a stato solido (SSD) è anche visto come alleviare la necessità di RAID. Gli SSD non hanno parti mobili e non si guastano tanto spesso quanto i dischi rigidi. Gli array SSD spesso utilizzano tecniche come il livellamento dell'usura invece di fare affidamento su RAID per la protezione dei dati. L'elaborazione iperscalabile elimina anche la necessità di RAID utilizzando server ridondanti invece di unità ridondanti.
Tuttavia, RAID rimane una parte radicata dell'archiviazione dei dati per ora e i principali fornitori di tecnologia rilasciano ancora prodotti RAID. IBM ha rilasciato IBM Distributed RAID con Spectrum Virtualize V7.6, che promette di aumentare le prestazioni RAID. L'ultima versione della tecnologia Intel Rapid Storage supporta RAID 0, RAID 1, RAID 5 e RAID 10 e il software di gestione NetApp ONTAP utilizza RAID per proteggere da un massimo di tre guasti simultanei delle unità. La piattaforma Dell EMC Unity supporta anche RAID 1/0, RAID 5 e RAID 6.
Metti al sicuro la tua azienda
Scopri i nostri dispositivi configurati in base alle esigenze specifiche e monitorati costantemente da tecnici esperti.