Suggerimenti pratici per la creazione di array RAID sui PC domestici. Cosa sono gli array RAID e perché sono necessari

RAID(Inglese) array ridondante di dischi indipendenti - array ridondante di dischi rigidi indipendenti)- un array di più dischi controllati da un controller, interconnessi da canali ad alta velocità e percepiti da un sistema esterno come un tutto unico. A seconda del tipo di array utilizzato, può fornire vari gradi di tolleranza agli errori e prestazioni. Serve ad aumentare l'affidabilità della memorizzazione dei dati e/o ad aumentare la velocità di lettura/scrittura delle informazioni. Inizialmente, tali array sono stati costruiti come backup su supporti di archiviazione su memoria ad accesso casuale (RAM), che a quel tempo era costosa. Nel tempo, l'abbreviazione ha acquisito un secondo significato: l'array era già composto da dischi indipendenti, il che implica l'uso di più dischi, non le partizioni di un singolo disco, nonché l'alto costo (ora relativamente pochi dischi) del attrezzature necessarie per costruire proprio questo array.

Considera cosa sono gli array RAID. Per prima cosa, diamo un'occhiata ai livelli presentati dagli scienziati di Berkeley, quindi alle loro combinazioni e modalità insolite. Vale la pena notare che se vengono utilizzati dischi di dimensioni diverse (cosa non consigliata), funzioneranno in base al volume più piccolo. Il volume extra di dischi di grandi dimensioni semplicemente non sarà disponibile.

Array di dischi con striping RAID 0 senza errore/parità (stripe)

È un array in cui i dati vengono divisi in blocchi (la dimensione del blocco può essere impostata durante la creazione dell'array) e quindi scritti su dischi separati. Nel caso più semplice, ci sono due dischi, un blocco viene scritto sul primo disco, l'altro sul secondo, quindi di nuovo sul primo e così via. Questa modalità è anche chiamata "striping" perché quando vengono scritti i blocchi di dati, i dischi su cui vengono scritti vengono intercalati. Di conseguenza, anche i blocchi vengono letti uno per uno. Pertanto, le operazioni di I/O vengono eseguite in parallelo, il che porta a prestazioni maggiori. Se prima potessimo leggere un blocco per unità di tempo, ora possiamo farlo da più dischi contemporaneamente. Il principale vantaggio di questa modalità è proprio l'elevata velocità di trasferimento dei dati.

Tuttavia, i miracoli non accadono e, se lo fanno, raramente. Le prestazioni continuano a crescere non N volte (N è il numero di dischi), ma meno. Innanzitutto, il tempo di accesso al disco aumenta di N volte, che è già elevato rispetto ad altri sottosistemi di computer. La qualità del controller non ha meno impatto. Se non è la migliore, la velocità potrebbe differire leggermente dalla velocità di un singolo disco. Ebbene, l'interfaccia con cui il controller RAID è collegato al resto del sistema ha una notevole influenza. Tutto ciò può portare non solo ad un aumento della velocità di lettura lineare inferiore a N, ma anche ad un limite al numero di dischi, impostando al di sopra del quale non ci sarà alcun aumento. O, al contrario, ridurrà leggermente la velocità. Nelle attività reali, con un gran numero di richieste, la possibilità di incontrare questo fenomeno è minima, perché la velocità è molto limitata dal disco rigido stesso e dalle sue capacità.

Come puoi vedere, in questa modalità non c'è ridondanza in quanto tale. Viene utilizzato tutto lo spazio su disco. Tuttavia, se uno dei dischi si guasta, ovviamente tutte le informazioni vanno perse.

Mirroring RAID 1

L'essenza di questa modalità RAID è creare una copia (mirror) di un disco per aumentare la tolleranza agli errori. Se un disco si guasta, il lavoro non si interrompe, ma continua, ma con un disco. Questa modalità richiede un numero pari di unità. L'idea di questo metodo è vicina al backup, ma tutto avviene al volo, così come il ripristino dopo un errore (che a volte è molto importante) e non è necessario dedicarci tempo.

Contro: elevata ridondanza, poiché è necessario il doppio dei dischi per creare un tale array. Un altro svantaggio è che non vi è alcun miglioramento delle prestazioni: dopotutto, una copia dei dati del primo viene semplicemente scritta sul secondo disco.

Array RAID 2 che utilizza un robusto codice Hamming.

Questo codice consente di correggere e rilevare doppi errori. Utilizzato attivamente nella memoria di correzione degli errori (ECC). In questa modalità, i dischi sono divisi in due gruppi: una parte viene utilizzata per l'archiviazione dei dati e funziona in modo simile a RAID 0, suddividendo i blocchi di dati su diversi dischi; la seconda parte serve per memorizzare i codici ECC.

Tra i vantaggi, si può individuare la correzione degli errori al volo, lo streaming di dati ad alta velocità.

Lo svantaggio principale è l'elevata ridondanza (con un numero ridotto di dischi è quasi il doppio, n-1). All'aumentare del numero di dischi, il numero specifico di dischi per la memorizzazione dei codici ECC diminuisce (la ridondanza specifica diminuisce). Il secondo svantaggio è la bassa velocità di lavoro con file di piccole dimensioni. A causa dell'ingombro e dell'elevata ridondanza con un numero ridotto di dischi, questo livello RAID non è attualmente utilizzato, avendo perso terreno a livelli superiori.

RAID 3. Array a tolleranza di errore con bit striping e parità.

Questa modalità scrive i dati blocco per blocco su dischi diversi, come RAID 0, ma utilizza un altro disco per l'archiviazione di parità. Pertanto, la ridondanza è molto inferiore rispetto a RAID 2 ed è solo un'unità. In caso di guasto di un singolo disco, la velocità rimane praticamente invariata.

Tra i principali svantaggi, va notato la bassa velocità quando si lavora con file di piccole dimensioni e molte query. Ciò è dovuto al fatto che tutti i codici di controllo sono memorizzati su un disco e devono essere riscritti durante le operazioni di I/O. La velocità di questa unità limita la velocità dell'intero array. I bit di parità vengono scritti solo quando vengono scritti i dati. E durante la lettura, vengono controllati. Per questo motivo, c'è uno squilibrio nella velocità di lettura/scrittura. La lettura singola di file di piccole dimensioni è inoltre caratterizzata da una bassa velocità, dovuta all'impossibilità di accedere in parallelo da dischi indipendenti, quando dischi diversi eseguono richieste in parallelo.

RAID 4

I dati vengono scritti in blocchi su dischi diversi, un disco viene utilizzato per memorizzare i bit di parità. La differenza rispetto a RAID 3 è che i blocchi non sono divisi per bit e byte, ma per settori. I vantaggi sono l'elevata velocità di trasferimento quando si lavora con file di grandi dimensioni. Anche la velocità di lavoro con un gran numero di richieste di lettura è elevata. Tra le carenze, si può notare ereditato dal RAID 3: uno squilibrio nella velocità delle operazioni di lettura/scrittura e l'esistenza di condizioni che impediscono l'accesso parallelo ai dati.

RAID 5. Array di dischi con striping e parità distribuita.

Il metodo è simile al precedente, ma non alloca un disco separato per i bit di parità, ma questa informazione è distribuita tra tutti i dischi. Cioè, se vengono utilizzati N dischi, sarà disponibile la quantità di N-1 disco. Il volume di uno verrà allocato per i bit di parità, come in RAID 3.4. Ma non sono memorizzati su un disco separato, ma sono separati. Ciascun disco ha (N-1)/N quantità di informazioni e 1/N della quantità è riempito con bit di parità. Se un disco nell'array si guasta, rimane integro (i dati archiviati su di esso vengono calcolati in base alla parità e ai dati di altri dischi al volo). Cioè, l'errore è trasparente per l'utente e talvolta anche con un calo minimo delle prestazioni (a seconda della capacità di calcolo del controller RAID). Tra i vantaggi si segnalano le elevate velocità di lettura e scrittura dei dati, sia con grandi volumi che con un gran numero di richieste. Svantaggi: recupero dati complesso e velocità di lettura inferiore rispetto a RAID 4.

RAID 6. Array di dischi con striping con doppia parità distribuita.

L'intera differenza sta nel fatto che vengono utilizzati due schemi di parità. Il sistema tollera due guasti dell'unità. La difficoltà principale è che per implementarlo devi fare più operazioni quando esegui una scrittura. Per questo motivo, la velocità di scrittura è estremamente lenta.

Livelli RAID combinati (nidificati).

Poiché gli array RAID sono trasparenti per il sistema operativo, è giunto il momento di creare array i cui elementi non sono dischi, ma array di altri livelli. Di solito sono scritti con un segno più. Il primo numero indica quale livello di array sono inclusi come elementi e il secondo numero indica quale organizzazione ha il livello superiore, che combina gli elementi.

RAID 0+1

Una combinazione che è un array RAID 1 costruito da array RAID 0. Come con un array RAID 1, sarà disponibile solo la metà della capacità del disco. Ma, come in RAID 0, la velocità sarà maggiore rispetto a una singola unità. Per implementare tale soluzione sono necessari almeno 4 dischi.

RAID 1+0

Conosciuto anche come RAID 10, è una striscia di mirror, ovvero un array RAID 0 costruito da array RAID 1. Quasi uguale alla soluzione precedente.

RAID 0+3

Un array con parità allocata su striping. È un array di 3° livello, in cui i dati sono divisi in blocchi e scritti in array RAID 0. Le combinazioni, ad eccezione dei più semplici 0 + 1 e 1 + 0, richiedono controller specializzati, spesso piuttosto costosi. L'affidabilità di questo tipo è inferiore a quella dell'opzione successiva.

RAID 3+0

Conosciuto anche come RAID 30. È uno stripe (array RAID 0) di array RAID 3. Ha una velocità di trasferimento dati molto elevata, unita a una buona tolleranza agli errori. I dati vengono prima divisi in blocchi (come in RAID 0) e vengono inseriti in elementi-array. Lì vengono nuovamente divisi in blocchi, viene considerata la loro parità, i blocchi vengono scritti su tutti i dischi tranne uno, su cui vengono scritti i bit di parità. In questo caso, uno dei dischi di ciascuno degli array RAID 3 potrebbe guastarsi.

RAID 5+0 (50)

Creato combinando array RAID 5 in un array RAID 0. Ha un'elevata velocità di trasferimento dei dati e di elaborazione delle query. Ha una velocità media di recupero dei dati e una buona tolleranza ai guasti. Esiste anche una combinazione di RAID 0+5, ma più in teoria, in quanto fornisce troppi pochi vantaggi.

RAID 5+1 (51)

Una combinazione di mirroring e interleaving con parità distribuita. Anche un'opzione è RAID 15 (1+5). Ha una tolleranza ai guasti molto alta. Un array 1+5 può sopravvivere a tre guasti dell'unità, mentre un array 5+1 può gestire cinque degli otto guasti dell'unità.

RAID 6+0 (60)

Interleaving a doppia parità distribuita. In altre parole, uno stripe da RAID 6. Come già accennato in relazione a RAID 0+5, RAID 6 da stripe non è molto utilizzato (0+6). Trucchi simili (strisce da array con parità) consentono di aumentare la velocità dell'array. Un altro vantaggio è che è facile aumentare il volume in questo modo senza complicare le situazioni con i ritardi necessari per calcolare e scrivere più bit di parità.

RAID 100 (10+0)

RAID 100, chiamato anche RAID 10+0, è uno stripe di RAID 10. È sostanzialmente lo stesso di un array RAID 10 più ampio che utilizza il doppio dei dischi. Ma è proprio una tale struttura a "tre piani" che ha una sua spiegazione. Molto spesso, RAID 10 è realizzato in hardware, ovvero dal controller, e la loro striscia è già eseguita a livello di codice. Si ricorre a un tale trucco per evitare il problema menzionato all'inizio dell'articolo: i controller hanno i propri limiti di scalabilità e se si collega un numero doppio di dischi in un controller, non è possibile vedere la crescita sotto certe condizioni. Il software RAID 0 consente di crearlo sulla base di due controller, ognuno dei quali contiene a bordo RAID 10. Quindi, evitiamo il "collo di bottiglia" di fronte al controller. Un altro punto utile è aggirare il problema con il numero massimo di connettori su un controller: raddoppiando il loro numero, raddoppiamo il numero di connettori disponibili.

Modalità RAID non standard

doppia parità

Un'aggiunta comune ai livelli RAID elencati è la doppia parità, a volte implementata e quindi chiamata "parità diagonale". La doppia parità è già implementata in RAID 6. Ma, a differenza di ciò, la parità è considerata rispetto ad altri blocchi di dati. Recentemente, la specifica RAID 6 è stata estesa in modo che la parità diagonale possa essere considerata RAID 6. Mentre per RAID 6, la parità è considerata aggiunta modulo di 2 bit di fila (ovvero, la somma del primo bit sul primo disco, il primo bit sul secondo, ecc.), quindi c'è uno spostamento della parità diagonale. Non è consigliabile operare in modalità di guasto dell'unità (a causa della difficoltà di calcolare i bit persi dai checksum).

È uno sviluppo di un array RAID NetApp con doppia parità e rientra nella definizione aggiornata di RAID 6. Utilizza uno schema di registrazione dei dati diverso dall'implementazione RAID 6 classica. La registrazione viene eseguita prima nella cache NVRAM, che è dotata di un gruppo di continuità per prevenire la perdita di dati durante un'interruzione di corrente. Il software del controller, se possibile, scrive solo interi blocchi sui dischi. Questo schema fornisce maggiore protezione rispetto a RAID 1 ed è più veloce del normale RAID 6.

RAID 1.5

È stato proposto da Highpoint, ma ora è usato molto spesso nei controller RAID 1, senza alcuna enfasi su questa caratteristica. La linea di fondo si riduce a una semplice ottimizzazione: i dati vengono scritti come un normale array RAID 1 (che in effetti è quello che è 1.5) e i dati vengono letti intercalati da due dischi (come in RAID 0). In un'implementazione specifica di Highpoint, utilizzata sulle schede DFI della serie LanParty basate sul chipset nForce 2, il guadagno era appena percettibile, e talvolta addirittura nullo. Ciò è probabilmente dovuto alla bassa velocità dei controller di questo produttore nel suo insieme in quel momento.

Combina RAID 0 e RAID 1. Viene creato su almeno tre dischi. I dati vengono scritti interfogliati su tre dischi e una copia viene scritta con uno spostamento di 1 disco. Se un blocco viene scritto su tre dischi, una copia della prima parte viene scritta sul secondo disco, la seconda parte sul terzo disco. Quando si utilizza un numero pari di dischi, è meglio utilizzare RAID 10, ovviamente.

Di solito, durante la creazione di RAID 5, un disco viene lasciato libero (di riserva), in modo che in caso di guasto il sistema inizi immediatamente a ricostruire (ricostruire) l'array. Durante il normale funzionamento, questa unità è al minimo. Un sistema RAID 5E utilizza questa unità come membro di un array. E il volume di questo disco libero è distribuito nell'array e si trova alla fine dei dischi. Il numero minimo di dischi è di 4 pezzi. Lo spazio disponibile è n-2, lo spazio di un disco viene utilizzato (essendo condiviso tra tutti) per la parità, lo spazio di un altro è libero. Quando un disco si guasta, l'array viene compresso in 3 dischi (usando l'esempio del numero minimo) riempiendo lo spazio libero. Si scopre un normale array RAID 5, resistente al guasto di un altro disco. Quando viene collegato un nuovo disco, l'array si espande e occupa nuovamente tutti i dischi. Vale la pena notare che durante la compressione e la decompressione, il disco non è resistente al rilascio di un altro disco. Inoltre è illeggibile/scrivibile in questo momento. Il vantaggio principale è un'operazione più rapida, poiché lo striping si verifica su un numero maggiore di dischi. Lo svantaggio è che questo disco non può essere assegnato a più array contemporaneamente, cosa possibile in un semplice array RAID 5.

RAID 5EE

Si differenzia dal precedente solo per il fatto che le aree di spazio libero sui dischi non sono riservate in un unico pezzo alla fine del disco, ma alternano blocchi con bit di parità. Questa tecnologia accelera notevolmente il ripristino dopo un errore di sistema. I blocchi possono essere scritti direttamente nello spazio libero, senza la necessità di spostarsi sul disco.

Allo stesso modo con RAID 5E, utilizza un'unità aggiuntiva per migliorare le prestazioni e il bilanciamento del carico. Lo spazio libero è condiviso tra le altre unità e si trova alla fine delle unità.

Questa tecnologia è un marchio registrato di Storage Computer Corporation. Array basato su RAID 3, 4, ottimizzato per le prestazioni. Il vantaggio principale è l'uso della cache di lettura/scrittura. Le richieste di trasferimento dei dati vengono effettuate in modo asincrono. La build utilizza dischi SCSI. La velocità è superiore alle soluzioni RAID 3.4 di circa 1,5-6 volte.

Intel Matrix RAID

È una tecnologia introdotta da Intel nei southbridge a partire da ICH6R. La linea di fondo è la possibilità di combinare array RAID di diversi livelli su partizioni del disco, piuttosto che su dischi separati. Diciamo che due partizioni possono essere organizzate su due dischi, due di esse memorizzeranno il sistema operativo su un array RAID 0 e le altre due, lavorando in modalità RAID 1, memorizzeranno copie di documenti.

Linux MD RAID 10

Questo è un driver RAID del kernel Linux che offre la possibilità di creare una versione più avanzata di RAID 10. Quindi, se RAID 10 è limitato a un numero pari di dischi, questo driver può funzionare con un numero dispari. Il principio per tre dischi sarà lo stesso di RAID 1E, in cui i dischi vengono sottoposti a striping uno per uno per creare una copia e i blocchi vengono sottoposti a striping, come in RAID 0. Per quattro dischi, questo sarà equivalente a un normale RAID 10. In Inoltre, puoi specificare quale area del disco manterrà una copia. Diciamo che l'originale sarà nella prima metà del primo disco e la sua copia sarà nella seconda metà del secondo. Con la seconda metà dei dati - al contrario. I dati possono essere duplicati più volte. La memorizzazione di copie su parti diverse del disco consente di ottenere una maggiore velocità di accesso a causa dell'eterogeneità del disco rigido (la velocità di accesso varia a seconda della posizione dei dati sulla lastra, solitamente la differenza è di due volte).

Sviluppato da Kaleidescape per l'uso nei propri dispositivi multimediali. Simile a RAID 4 che utilizza la doppia parità ma utilizza un metodo di tolleranza agli errori diverso. L'utente può facilmente espandere l'array semplicemente aggiungendo dischi e, se contiene dati, i dati verranno semplicemente aggiunti ad esso, invece di essere rimossi, come normalmente richiesto.

Sviluppato da Sun. Il problema più grande con RAID 5 è la perdita di informazioni a causa di un'interruzione di corrente, quando le informazioni dalla cache del disco (che è memoria volatile, cioè non memorizza i dati senza elettricità) non hanno avuto il tempo di essere archiviate su piatti magnetici. Questa discrepanza tra le informazioni nella cache e su disco è chiamata incoerenza. L'organizzazione stessa dell'array è associata al file system di Sun Solaris - ZFS. Viene utilizzata la scrittura forzata del contenuto della cache del disco, è possibile ripristinare non solo l'intero disco, ma anche il blocco "al volo" quando il checksum non corrisponde. Un altro aspetto importante è l'ideologia di ZFS: non modifica i dati se necessario. Scrive invece i dati aggiornati e poi, dopo essersi accertato che l'operazione sia già andata a buon fine, modifica il puntatore su di essi. Pertanto, è possibile evitare la perdita di dati durante la modifica. I file di piccole dimensioni vengono duplicati invece di generare checksum. Questo viene fatto anche dal file system, poiché ha familiarità con la struttura dei dati (array RAID) e può allocare spazio per questo scopo. C'è anche RAID-Z2, che, come RAID 6, è in grado di sopravvivere a due guasti dell'unità utilizzando due checksum.

Qualcosa che non è RAID in linea di principio, ma viene spesso utilizzato con esso. Tradotto letteralmente come "solo un mucchio di dischi" La tecnologia combina tutti i dischi installati nel sistema in un unico grande disco logico. Cioè, invece di tre dischi, ne sarà visibile uno grande. Viene utilizzato l'intero volume totale dei dischi. L'accelerazione non è né affidabilità né prestazioni.

Estensione dell'unità

Una funzionalità integrata in Windows Home Server. Combina JBOD e RAID 1. Se è necessario creare una copia, non duplica immediatamente il file, ma inserisce un'etichetta sulla partizione NTFS che indica i dati. Quando è inattivo, il sistema copia il file in modo che lo spazio sui dischi sia massimo (è possibile utilizzare dischi di dimensioni diverse). Consente di ottenere molti dei vantaggi del RAID: tolleranza agli errori e capacità di sostituire facilmente un disco guasto e ripristinarlo in background, trasparenza della posizione del file (indipendentemente dal disco su cui si trova). È anche possibile eseguire l'accesso parallelo da diversi dischi utilizzando le etichette sopra, ottenendo prestazioni simili a RAID 0.

Sviluppato da Lime Technology LLC. Questo schema differisce dagli array RAID convenzionali in quanto consente di combinare unità SATA e PATA in un array e unità di dimensioni e velocità diverse. Un disco dedicato viene utilizzato per il checksum (parità). I dati non vengono sottoposti a striping sui dischi. Se un disco si guasta, solo i file archiviati su di esso vengono persi. Tuttavia, con l'aiuto della parità, possono essere recuperati. UNRAID è implementato come componente aggiuntivo per Linux MD (multidisco).

La maggior parte dei tipi di array RAID non ha ricevuto la distribuzione, alcuni sono utilizzati in aree di applicazione ristrette. RAID 0, 1, 0+1/10, 5 e 6 sono diventati i più popolari, dagli utenti ordinari ai server entry-level.Se hai bisogno di un array raid per le tue attività dipende da te. Ora sai come differiscono l'uno dall'altro.

Matrice RAID. Che cos'è questo? Per che cosa? E come creare?

Nel corso dei lunghi decenni di sviluppo dell'industria informatica, i supporti di memorizzazione delle informazioni per i computer hanno attraversato un serio percorso evolutivo di sviluppo. Nastri perforati e schede perforate, nastri magnetici e tamburi, dischi magnetici, ottici e magneto-ottici, unità a semiconduttore: questo è solo un breve elenco di tecnologie già testate. Al momento, nei laboratori del mondo si stanno tentando di creare dispositivi di archiviazione olografici e quantistici che consentiranno di aumentare molte volte la densità di registrazione e l'affidabilità della sua conservazione.

Nel frattempo, i dischi rigidi sono stati a lungo il mezzo più comune per archiviare informazioni in un personal computer. Altrimenti, possono essere chiamati unità disco rigido (unità disco rigido), dischi rigidi, dischi rigidi, ma l'essenza del cambio di nome non cambia: si tratta di unità con un pacchetto di dischi magnetici in un unico caso.

Il primo disco rigido, chiamato IBM 350, fu assemblato il 10 gennaio 1955 nel laboratorio dell'azienda americana IBM. Con le dimensioni di un buon cabinet e il peso di una tonnellata, questo disco rigido conteneva cinque megabyte di informazioni. Da un punto di vista moderno, un volume del genere non può nemmeno essere definito ridicolo, ma durante l'uso massiccio di schede perforate e nastri magnetici con accesso sequenziale, questa è stata una colossale svolta tecnologica.


Scaricare il primo disco rigido IBM 350 da un aeroplano

Sono trascorsi meno di sei decenni da quel giorno, ma ora non sorprenderai nessuno con un disco rigido dal peso inferiore ai duecento grammi, lungo dieci centimetri e con un volume di informazioni di un paio di terabyte. Allo stesso tempo, la tecnologia per la registrazione, l'archiviazione e la lettura dei dati non è diversa da quella utilizzata nell'IBM 350: le stesse piastre magnetiche e le stesse testine di lettura/scrittura che scorrono sopra di esse.


L'evoluzione dei dischi rigidi sullo sfondo di un righello in pollici (foto da " Wikipedia " )

Purtroppo, proprio le peculiarità di questa tecnologia sono la causa di due problemi principali che sono associati all'uso dei dischi rigidi. Il primo di questi è la velocità troppo bassa di scrittura, lettura e trasferimento di informazioni dal disco al processore. In un computer moderno, è il disco rigido il dispositivo più lento, spesso determinando le prestazioni dell'intero sistema nel suo insieme.

Il secondo problema è l'insufficiente sicurezza delle informazioni memorizzate sul disco rigido. Se il disco rigido si guasta, puoi perdere irrimediabilmente tutti i dati che sono stati memorizzati su di esso. Ed è positivo se le perdite si limitano alla perdita di un album fotografico di famiglia (anche se in realtà non è abbastanza buono). La distruzione di importanti informazioni finanziarie e di marketing può essere la causa del crollo dell'azienda.

In parte, aiuta a proteggere le informazioni archiviate eseguendo regolarmente il backup (backup) di tutti o solo i dati importanti sul disco rigido. Ma anche in questo caso, se si rompe, quella parte dei dati che è stata aggiornata dall'ultimo backup andrà persa.

Fortunatamente, ci sono metodi che aiutano a superare gli svantaggi di cui sopra dei dischi rigidi tradizionali. Uno di questi metodi è la creazione di RAID - array di diversi dischi rigidi.

Cos'è il RAID

Su Internet e anche nella moderna letteratura informatica, è possibile trovare spesso il termine "RAID array", che in realtà è una tautologia, poiché l'abbreviazione RAID (redundant array of independent disks) sta già per "redundant array of independent disks".

Il nome rivela completamente il significato fisico di tali array: è un insieme di due o più dischi rigidi. Il lavoro congiunto di questi dischi è controllato da un controller speciale. Come risultato del funzionamento del controller, tali array sono percepiti dal sistema operativo come un disco rigido e l'utente potrebbe non pensare alle sfumature del controllo del funzionamento di ciascun disco rigido separatamente.

Esistono diversi tipi di base di RAID, ognuno dei quali ha un effetto diverso sull'affidabilità e sulla velocità complessive dell'array rispetto alle singole unità. Sono designati da un numero condizionale da 0 a 6. Una designazione simile con una descrizione dettagliata dell'architettura e del principio di funzionamento degli array è stata proposta da specialisti dell'Università della California a Berkeley. Oltre ai sette principali tipi di RAID, sono possibili anche varie combinazioni. Consideriamoli ulteriormente.

Questo è il tipo più semplice di array di dischi rigidi, il cui scopo principale è aumentare le prestazioni del sottosistema del disco del computer. Ciò si ottiene dividendo i flussi di informazioni scritte (lette) in diversi flussi secondari, che vengono scritti (letti) contemporaneamente su più dischi rigidi. Di conseguenza, la velocità totale di scambio delle informazioni, ad esempio, per gli array a due dischi aumenta del 30-50% rispetto a un disco rigido dello stesso tipo.

Il volume totale di RAID 0 è uguale alla somma dei volumi dei dischi rigidi inclusi in esso. Le informazioni sono suddivise in blocchi di dati di lunghezza fissa, indipendentemente dalla lunghezza dei file registrati.

Il principale vantaggio di RAID 0 è un aumento significativo della velocità di scambio di informazioni tra il sistema del disco senza perdere il volume utile dei dischi rigidi. Lo svantaggio è una diminuzione dell'affidabilità complessiva del sistema di archiviazione. Se uno qualsiasi dei dischi RAID 0 si guasta, tutte le informazioni registrate nell'array vanno irrimediabilmente perse.

Simile a quello discusso sopra, questo tipo di array è anche il più facile da organizzare. È costruito sulla base di due dischi rigidi, ognuno dei quali è un riflesso esatto (a specchio) dell'altro. Le informazioni vengono scritte su entrambi i dischi dell'array in parallelo. I dati vengono letti contemporaneamente da entrambi i dischi in blocchi sequenziali (parallelizzazione delle richieste), grazie al quale si ottiene un leggero aumento della velocità di lettura rispetto a un singolo disco rigido.

Il volume totale di RAID 1 è uguale al volume del disco rigido più piccolo nell'array.

Vantaggi del RAID 1: elevata affidabilità di archiviazione delle informazioni (i dati sono intatti finché almeno uno dei dischi inclusi nell'array è intatto) e un certo aumento della velocità di lettura. Svantaggio: acquistando due dischi rigidi, ottieni il volume utilizzabile di uno solo. Nonostante la perdita della metà del volume utile, gli array "mirror" sono piuttosto popolari grazie alla loro elevata affidabilità e al costo relativamente basso: un paio di dischi è ancora più economico di quattro o otto.

Durante la costruzione di questi array, viene utilizzato un algoritmo di recupero delle informazioni utilizzando i codici di Hamming (un ingegnere americano che ha sviluppato questo algoritmo nel 1950 per correggere gli errori nel funzionamento dei computer elettromeccanici). Per garantire il funzionamento di questo controller RAID, vengono creati due gruppi di dischi: uno per la memorizzazione dei dati, il secondo gruppo per la memorizzazione dei codici di correzione degli errori.

Questo tipo di RAID non è ampiamente utilizzato nei sistemi domestici a causa dell'eccessiva ridondanza del numero di dischi rigidi: ad esempio, in un array di sette dischi rigidi, solo quattro verranno allocati per i dati. Con un aumento del numero di dischi, la ridondanza diminuisce, come si riflette nella tabella seguente.

Il principale vantaggio di RAID 2 è la capacità di correggere gli errori emergenti "al volo" senza ridurre la velocità di scambio dei dati tra l'array di dischi e il processore centrale.

RAID 3 e RAID 4

Questi due tipi di array di dischi sono molto simili nel loro schema di costruzione. Entrambi utilizzano diversi dischi rigidi per memorizzare le informazioni, una delle quali viene utilizzata esclusivamente per il posizionamento dei checksum. Tre dischi rigidi sono sufficienti per creare RAID 3 e RAID 4. A differenza di RAID 2, il ripristino dei dati "al volo" è impossibile: le informazioni vengono ripristinate dopo aver sostituito un disco rigido guasto per un po' di tempo.

La differenza tra RAID 3 e RAID 4 è il livello di partizionamento dei dati. In RAID 3, le informazioni vengono suddivise in byte separati, il che porta a un grave rallentamento durante la scrittura/lettura di un numero elevato di file di piccole dimensioni. In RAID 4, i dati sono divisi in blocchi separati, la cui dimensione non supera la dimensione di un settore sul disco. Di conseguenza, viene aumentata la velocità di elaborazione dei file di piccole dimensioni, che è fondamentale per i personal computer. Per questo motivo, RAID 4 è diventato più diffuso.

Uno svantaggio significativo degli array in esame è l'aumento del carico sul disco rigido destinato alla memorizzazione dei checksum, che ne riduce notevolmente le risorse.

Gli array di dischi di questo tipo sono in realtà uno sviluppo dello schema RAID 3/RAID 4. Una caratteristica distintiva è che non viene utilizzato un disco separato per memorizzare i checksum: sono distribuiti uniformemente su tutti i dischi rigidi dell'array. La distribuzione ha comportato la possibilità di scrittura parallela su più dischi contemporaneamente, il che aumenta leggermente la velocità di scambio dei dati rispetto a RAID 3 o RAID 4. Tuttavia, questo aumento non è così significativo, poiché vengono utilizzate risorse di sistema aggiuntive per calcolare i checksum utilizzando l'operazione XOR. Allo stesso tempo, la velocità di lettura aumenta notevolmente, poiché è possibile una semplice parallelizzazione del processo.

Il numero minimo di dischi rigidi per creare RAID 5 è tre.

Gli array costruiti secondo lo schema RAID 5 presentano uno svantaggio molto significativo. Se un disco si guasta dopo la sua sostituzione, sono necessarie diverse ore per ripristinare completamente le informazioni. Durante questo periodo, i dischi rigidi dell'array non danneggiati funzionano in una modalità ultra-intensiva, che aumenta notevolmente la probabilità di guasto di un secondo disco e la completa perdita di informazioni. Anche se raro, questo accade. Inoltre, durante la riconciliazione RAID 5, l'array è quasi completamente occupato da questo processo e le operazioni di scrittura/lettura correnti vengono eseguite con grandi ritardi. Se per la maggior parte degli utenti ordinari questo non è critico, nel settore aziendale tali ritardi possono portare a determinate perdite finanziarie.

In larga misura, il problema di cui sopra viene risolto costruendo array secondo lo schema RAID 6. In queste strutture, alla memorizzazione dei checksum, che sono anche distribuiti ciclicamente e uniformemente su diversi dischi, viene allocata una quantità di memoria pari al volume di due dischi rigidi. Invece di uno, vengono calcolati due checksum, che garantiscono l'integrità dei dati in caso di guasto simultaneo di due dischi rigidi nell'array contemporaneamente.

I vantaggi di RAID 6 sono un elevato grado di sicurezza delle informazioni e una minore perdita di prestazioni rispetto a RAID 5 durante il ripristino dei dati durante la sostituzione di un disco danneggiato.

Lo svantaggio di RAID 6 è una diminuzione del tasso complessivo di scambio dei dati di circa il 10% a causa di un aumento della quantità di calcoli di checksum necessari, nonché un aumento della quantità di informazioni scritte/lette.

Tipi di RAID combinati

Oltre ai tipi principali discussi sopra, sono ampiamente utilizzate varie combinazioni di essi, che compensano alcune carenze del RAID semplice. In particolare è diffuso l'uso degli schemi RAID 10 e RAID 0+1. Nel primo caso, una coppia di array di mirror vengono combinati in RAID 0, nel secondo caso, due array RAID 0 vengono combinati in un mirror. In entrambi i casi, le prestazioni migliorate di RAID 0 si aggiungono alla sicurezza delle informazioni RAID 1.

Spesso, per aumentare il livello di protezione di informazioni importanti, vengono utilizzati schemi di costruzione RAID 51 o RAID 61: il mirroring di array già altamente protetti garantisce un'eccezionale sicurezza dei dati in caso di guasti. Tuttavia, non è pratico implementare tali array a casa a causa dell'eccessiva ridondanza.

Costruire una serie di dischi - dalla teoria alla pratica

Un controller RAID specializzato è responsabile della creazione e della gestione del funzionamento di qualsiasi RAID. Con grande sollievo dell'utente medio di PC, nella maggior parte delle moderne schede madri questi controller sono già implementati a livello di chipset southbridge. Quindi, per costruire un array di dischi rigidi, è sufficiente occuparsi di acquisirne il numero richiesto e determinare il tipo di RAID desiderato nella sezione corrispondente del setup del BIOS. Successivamente, nel sistema, invece di diversi dischi rigidi, ne vedrai solo uno, che può essere suddiviso in sezioni e unità logiche, se lo desideri. Tieni presente che se stai ancora utilizzando Windows XP, dovrai installare un driver aggiuntivo.

Controller RAID esterno con quattro porte SATA

Si noti che i controller integrati sono generalmente in grado di creare RAID 0, RAID 1 e loro combinazioni. Per creare array più complessi, è comunque necessario acquistare un controller separato.

E infine, un altro consiglio: per creare un RAID, acquistare dischi rigidi della stessa dimensione, dello stesso produttore, dello stesso modello e preferibilmente dello stesso lotto. Quindi saranno dotati degli stessi set di logica e il funzionamento dell'array di questi dischi rigidi sarà il più stabile.

  • interfaccia SCSI
  • 3.2. Dispositivi di archiviazione su dischi ottici
  • 3.2.1. Dischi ottici 3.2.2. Organizzazione dei dati su dischi ottici
  • 3.2.3. Unità disco ottico
  • 3.2.1. Dischi ottici
  • 3.2.2. Organizzazione dei dati su dischi ottici
  • 3.2.3. Unità disco ottico
  • 3.3. Dispositivi di memoria con supporto magnetico rimovibile
  • 3.3.1. Unità floppy 3.3.2. Dispositivi di memoria con dischi magnetici e magneto-ottici estraibili 3.3.3. Unità a nastro
  • 3.3.1. Unità floppy
  • 3.3.2. Contenitori con dischi magnetici e magneto-ottici estraibili
  • 3.3.3. Unità a nastro
  • capitolo 4
  • 4.1. Metodi per valutare le caratteristiche temporali della memoria 4.2. Metodi per migliorare le prestazioni della memoria del computer 4.3. Zu indicazioni di sviluppo
  • 4.1. Metodi per stimare le caratteristiche temporali di una memoria
  • 4.1.1. Metodi di valutazione sperimentale 4.1.2. Metodi di valutazione teorici
  • 4.1.1. Metodi di valutazione sperimentale
  • 4.1.2. Metodi di valutazione teorici
  • 4.2. Metodi per migliorare le prestazioni della memoria del computer
  • 4.2.1. Utilizzo della memoria cache 4.2.2. Dispacciamento (gestione dell'ordine) richieste di service 4.2.3. Organizzazione di array di dischi (raid)
  • 4.2.1. Utilizzo della cache
  • 4.2.2. Chiamate di servizio di spedizione (gestione degli ordini).
  • 4.2.3. Organizzazione di array di dischi (raid)
  • 4.3. Zu indicazioni di sviluppo
  • Letteratura e riferimenti
  • 4.2.3. Organizzazione di array di dischi (raid)

    Un altro modo per aumentare le prestazioni della memoria su disco è stato quello di creare array di dischi, sebbene ciò sia mirato non solo (e non tanto) a ottenere prestazioni più elevate, ma anche una maggiore affidabilità dei dispositivi di archiviazione su disco.

    Tecnologia RAID ( Array ridondante di dischi indipendenti Redundant Array of Independent Disks) è stato concepito come la combinazione di diversi dischi rigidi a basso costo in un unico array di dischi per aumentare le prestazioni, la capacità e l'affidabilità rispetto a un singolo disco. In questo caso, il computer dovrebbe vedere tale array come un disco logico.

    Se si combinano semplicemente più dischi in un array (non ridondante), il tempo medio tra gli errori (MTTF) sarà uguale all'MTEF di un disco diviso per il numero di dischi. Questa cifra è troppo piccola per le applicazioni critiche per i guasti hardware. Può essere migliorato utilizzando la ridondanza implementata in vari modi durante la memorizzazione delle informazioni.

    Nei sistemi RAID, per migliorare l'affidabilità e le prestazioni, vengono utilizzate combinazioni di tre meccanismi principali, ognuno dei quali è ben noto separatamente: - l'organizzazione dei dischi “mirror”, ovverosia duplicazione completa delle informazioni memorizzate; - conteggio dei codici di controllo (parità, codici Hamming), che consentono di recuperare informazioni in caso di guasto; - distribuzione delle informazioni su diversi dischi dell'array nello stesso modo in cui si esegue l'interleaving degli accessi ai blocchi di memoria (vedi interleave), il che aumenta la possibilità di operazioni parallele dei dischi durante le operazioni sulle informazioni archiviate. Quando si descrive RAID, questa tecnica è chiamata "dischi con striping", che letteralmente significa "dischi con striping" o semplicemente "dischi con striping"..

    Riso. 43. Partizionamento dei dischi in blocchi alternati - "strisce".

    Inizialmente sono stati definiti cinque tipi di disk array, denominati RAID 1 - RAID 5, diversi per caratteristiche e prestazioni. Ciascuno di questi tipi, a causa di una certa ridondanza delle informazioni in scrittura, forniva una maggiore tolleranza agli errori rispetto a un singolo drive. Inoltre, un array di dischi che non ha ridondanza, ma consente prestazioni migliorate (a causa dello striping degli accessi), è stato spesso definito RAID 0.

    I principali tipi di array RAID possono essere brevemente descritti come segue.

    RAID 0. In genere, questo tipo di array è definito come un gruppo di dischi con striping senza parità e senza ridondanza dei dati. Le dimensioni delle strisce (strisce o blocchi) possono essere grandi in un ambiente multiutente o piccole in un sistema a utente singolo per l'accesso sequenziale a record lunghi.

    L'organizzazione del RAID 0 corrisponde proprio a quella mostrata in Fig. 43. Le operazioni di scrittura e lettura possono essere eseguite contemporaneamente su ciascuna unità. Il numero minimo di unità per RAID 0 è due.

    Questo tipo è caratterizzato da prestazioni elevate e dall'uso più efficiente dello spazio su disco, tuttavia, il guasto di uno dei dischi rende impossibile lavorare con l'intero array.

    RAID 1. Questo tipo di array di dischi (Fig. 44, un) è anche noto come unità con mirroring ed è semplicemente una coppia di unità che duplicano i dati archiviati ma appaiono al computer come una singola unità. E sebbene lo striping non venga eseguito all'interno di una singola coppia di dischi con mirroring, lo striping dei blocchi può essere organizzato per diversi array RAID 1, che insieme formano un grande array di diverse coppie di dischi con mirroring. Questa variante dell'organizzazione si chiama RAID 1 + 0. Esiste anche una variante inversa.

    Tutte le operazioni di scrittura vengono eseguite contemporaneamente su entrambi i dischi di una coppia con mirroring in modo che le informazioni in essi contenute siano identiche. Ma durante la lettura, ciascuno dei dischi della coppia può funzionare in modo indipendente, il che consente di eseguire due operazioni di lettura contemporaneamente, raddoppiando così le prestazioni di lettura. In questo senso, RAID 1 offre le migliori prestazioni di tutte le opzioni di array di dischi.

    RAID 2. In questi array di dischi, i settori blocchi - dati sono intercalati da un gruppo di dischi, alcuni dei quali sono utilizzati solo per memorizzare informazioni di controllo - codici ECC (codici di correzione degli errori). Ma poiché tutte le unità moderne hanno il controllo ECC integrato, RAID 2 fa poco rispetto ad altri tipi di RAID e ora viene utilizzato raramente.

    RAID 3. Come in RAID 2, in questo tipo di disk array (Fig. 44, B) i settori dei blocchi sono intercalati in un gruppo di dischi, ma uno dei dischi del gruppo è riservato per la memorizzazione delle informazioni sulla parità. In caso di guasto dell'unità, il ripristino dei dati viene effettuato in base al calcolo dei valori della funzione "OR esclusivo" (XOR) dai dati registrati sui restanti dischi. Le registrazioni di solito occupano tutti i dischi (perché le strisce sono corte), il che aumenta la velocità di trasferimento dei dati complessiva. Poiché ogni operazione di I/O richiede l'accesso a ciascun disco, un array RAID 3 può soddisfare solo una richiesta alla volta. Pertanto, questo tipo offre le migliori prestazioni per un singolo utente in un ambiente ad attività singola con scritture lunghe. Quando si lavora con registrazioni brevi, è necessaria la sincronizzazione dei mandrini di azionamento per evitare il degrado delle prestazioni. In termini di caratteristiche, RAID 3 è vicino a RAID 5 (vedi sotto).

    RAID 4. Questa organizzazione, mostrata in fig. 35, v) è simile a RAID 3, con l'unica differenza che utilizza blocchi (strisce) di grandi dimensioni in modo che i record possano essere letti da qualsiasi unità nell'array (tranne l'unità che memorizza i codici di parità). Ciò consente di combinare operazioni di lettura su dischi diversi. Le operazioni di scrittura aggiornano sempre il disco di parità, quindi non possono essere unite. In generale, questa architettura non presenta particolari vantaggi rispetto ad altre opzioni RAID.

    RAID 5. Questo tipo di disk array è simile al RAID 4, ma i codici di parità non sono memorizzati su un disco dedicato, ma in blocchi posizionati alternativamente su tutti i dischi. Questa organizzazione è talvolta chiamata anche array con "parità rotante" (si può notare qualche analogia con l'assegnazione delle linee di interrupt per gli slot del bus PCI o con la priorità ciclica del controller di interrupt nei processori di linea x86). Questa distribuzione evita la limitazione delle scritture simultanee dovuta alla memorizzazione dei codici di parità su un solo disco, caratteristica tipica del RAID 4. In fig. 44, G) mostra un array composto da quattro unità, con ogni tre blocchi di dati c'è un blocco di parità (questi blocchi sono ombreggiati), la cui posizione per ogni tripla di blocchi di dati cambia, spostandosi ciclicamente attraverso tutte e quattro le unità.

    Le operazioni di lettura possono essere eseguite in parallelo per tutti i dischi. Le operazioni di scrittura che richiedono due unità (per i dati e per la parità) di solito possono anche essere combinate, poiché i codici di parità sono distribuiti su tutte le unità.

    Un confronto tra varie opzioni per l'organizzazione degli array di dischi mostra quanto segue.

    RAID 0 è l'opzione più veloce ed efficiente, ma non fornisce tolleranza agli errori. Richiede un minimo di 2 unità. Le operazioni di scrittura e lettura possono essere eseguite contemporaneamente su ciascuna unità.

    L'architettura RAID 1 è più adatta per applicazioni ad alte prestazioni e altamente affidabili, ma anche le più costose. È anche l'unica opzione a tolleranza di errore se vengono utilizzate solo due unità. Le operazioni di lettura possono essere eseguite contemporaneamente per ciascuna unità, le operazioni di scrittura sono sempre duplicate per una coppia di unità con mirroring.

    L'architettura RAID 2 è usata raramente.

    È possibile utilizzare un array di dischi RAID 3 per accelerare il trasferimento dei dati e aumentare la tolleranza agli errori in un ambiente a utente singolo con accesso sequenziale a record lunghi. Ma non consente di combinare le operazioni e richiede la sincronizzazione della rotazione dei mandrini di azionamento. Sono necessarie almeno tre unità: 2 per i dati e una per i codici di parità.

    L'architettura RAID 4 non supporta operazioni simultanee e non presenta vantaggi rispetto a RAID 5.

    RAID 5 è efficiente, tollerante ai guasti e funziona bene. Ma le prestazioni durante le scritture e in caso di guasto dell'unità sono peggiori del RAID 1. In particolare, poiché il blocco dei codici di parità si riferisce all'intero blocco in fase di scrittura, quindi se ne viene scritta solo una parte, è necessario prima leggere il precedente dati scritti, quindi calcola i nuovi valori dei codici di parità e solo dopo scrivi nuovi dati (e parità). Anche le operazioni di ricostruzione richiedono più tempo a causa della necessità di generare codici di parità. Questo tipo di RAID richiede almeno tre unità.

    Inoltre, sulla base delle varianti più comuni di RAID: 0, 1 e 5, si possono formare le cosiddette architetture a due livelli, che combinano i principi dell'organizzazione di vari tipi di array. Ad esempio, più array RAID dello stesso tipo possono essere combinati in un gruppo di array di dati o in un array di parità.

    Grazie a questa organizzazione a due livelli, è possibile ottenere l'equilibrio richiesto tra l'aumento dell'affidabilità di archiviazione dei dati caratteristica degli array RAID 1 e RAID 5 e l'elevata velocità di lettura inerente allo striping dei blocchi sui dischi in un array RAID 0. Questi due gli schemi a livello sono talvolta chiamati RAID 0 + 1 o 10 e 0+5 o 50.

    Il funzionamento degli array RAID può essere controllato non solo dall'hardware, ma anche dal software, la cui possibilità è prevista in alcune versioni server dei sistemi operativi. Sebbene sia chiaro che una tale implementazione avrà caratteristiche prestazionali significativamente peggiori.

    Fare una richiesta

    Si prega di compilare i campi di contatto del modulo


    Ricevi notizie IT

    I campi contrassegnati da * sono obbligatori

    Descrizione degli array RAID ( , )

    Descrizione RAID 0


    Array di dischi ad alte prestazioni senza tolleranza di errore
    Array di dischi con striping senza tolleranza ai guasti

    RAID 0 è il più veloce e il meno sicuro di tutti i RAID. I dati sono divisi in blocchi in proporzione al numero di dischi, con conseguente maggiore throughput. Le elevate prestazioni di questa struttura sono garantite dalla scrittura parallela e dall'assenza di copiature ridondanti. Il guasto di qualsiasi unità nell'array comporta la perdita di tutti i dati. Questo livello è chiamato striping.

    vantaggi:
    - · la massima produttività per le applicazioni che richiedono un'elaborazione intensiva di richieste di input/output e dati di grande volume;
    - facilità di attuazione;
    - basso costo per unità di volume.
    Screpolatura:
    - soluzione non fail-safe;
    - · Un singolo guasto del disco comporta la perdita di tutti i dati nell'array.

    Descrizione del RAID 1


    Array di dischi con duplicazione o mirroring
    Duplex e mirroring
    RAID 1 - mirroring - immagine speculare di due dischi. La ridondanza della struttura di questo array garantisce la sua elevata tolleranza ai guasti. L'array è caratterizzato da costi elevati e basse prestazioni.

    vantaggi:
    - facilità di attuazione;
    - facilità di ripristino dell'array in caso di guasto (copia);
    - prestazioni sufficientemente elevate per applicazioni con elevata intensità di richiesta.
    Screpolatura:
    - elevato costo per unità di volume - ridondanza del 100%;
    - bassa velocità di trasferimento dati.

    Descrizione del RAID 2


    Array di dischi tollerante ai guasti che utilizza il codice di Hamming
    Codice Hamming ECC
    RAID 2 utilizza Hamming Code ECC. I codici consentono di correggere guasti singoli e di rilevare doppi guasti.

    vantaggi:
    - correzione rapida degli errori ("al volo");
    - · altissima velocità di trasmissione dati di grandi volumi;
    - · con l'aumento del numero dei dischi si riducono le spese generali;
    - attuazione piuttosto semplice.
    Screpolatura:
    - costo elevato con un numero ridotto di dischi;
    - bassa velocità di elaborazione delle query (non adatta per sistemi orientati alle transazioni).

    Descrizione del RAID 3


    Array a tolleranza di errore con trasferimento dati parallelo e parità
    Dischi di trasferimento paralleli con parità

    RAID 3: i dati vengono archiviati secondo il principio dello striping a livello di byte con un checksum (CS) su uno dei dischi. L'array non ha il problema di una certa ridondanza come in RAID 2. I dischi di checksum utilizzati in RAID 2 sono necessari per rilevare la carica errata. Tuttavia, la maggior parte dei controller moderni è in grado di rilevare quando un'unità si è guastata utilizzando segnali speciali o una codifica aggiuntiva delle informazioni scritte sull'unità e utilizzate per correggere errori casuali.

    vantaggi:
    - velocità di trasferimento dati molto elevata;
    - Il guasto del disco ha scarso effetto sulla velocità dell'array;
    - basso overhead per l'implementazione della ridondanza.
    Screpolatura:
    - difficile attuazione;
    - basse prestazioni ad alta intensità di richieste di dati di piccolo volume.

    La tecnologia RAID consente di combinare diversi dispositivi del disco fisico (dischi rigidi o partizioni su di essi) in un array di dischi. I dischi inclusi nell'array sono gestiti centralmente e sono presentati nel sistema come un dispositivo logico, adatto per organizzare su di esso un unico file system.

    Esistono due modi per implementare RAID:

    • hardware;
    • programma.

    Un array di dischi hardware è costituito da diverse unità disco rigido gestite da una scheda controller RAID dedicata.

    Vantaggi del RAID hardware:

    • maggiore affidabilità (rispetto al software);
    • carico minimo sul processore e sul bus di sistema;

    Il software RAID viene implementato utilizzando un driver speciale. Le partizioni del disco sono organizzate in un array software, che può occupare sia l'intero disco che una sua parte, e la gestione avviene tramite apposite utilità.

    Vantaggi del software RAID:

    • maggiore velocità di elaborazione dei dati;
    • indipendenza dai formati dei dati sul disco (compatibilità con diversi tipi e dimensioni di partizioni);
    • risparmio sull'acquisto di attrezzature aggiuntive.

    Livelli RAID

    Esistono diversi tipi di array RAID, i cosiddetti livelli.

    RAID0

    Per creare un array di questo livello, sono necessari almeno due dischi della stessa dimensione. La registrazione viene eseguita secondo il principio alternanza: i dati vengono suddivisi in porzioni di dati della stessa dimensione e distribuiti uno per uno su tutti i dischi inclusi nell'array. Poiché la registrazione viene eseguita su tutti i dischi, se uno di essi si guasta, il tutto dati memorizzati nell'array. Questo è il prezzo della scelta di aumentare la velocità di lavoro con i dati: la scrittura e la lettura su dischi diversi avviene in parallelo e, di conseguenza, più velocemente.

    RAID1

    Gli array di questo livello sono costruiti secondo il principio rispecchiarsi, in cui tutti i dati registrati su un disco vengono duplicati su un altro. Per creare un tale array sono necessari due o più dischi della stessa dimensione. Ridondanza fornisce la tolleranza ai guasti dell'array: in caso di guasto di uno dei dischi, i dati sull'altro rimangono intatti. Il vantaggio per l'affidabilità è l'effettivo dimezzamento dello spazio su disco. La velocità di lettura e scrittura rimane al livello di un disco rigido convenzionale.

    RAID4

    Gli array RAID4 implementano il principio parità, che combina le tecnologie di striping e mirroring. Uno dei tre (o più) dischi viene utilizzato per memorizzare le informazioni di parità sotto forma di blocchi con checksum di blocchi di dati distribuiti in sequenza sui dischi rimanenti (come in RAID0).

    I vantaggi di questo livello sono la tolleranza agli errori del livello RAID1 con una minore ridondanza (indipendentemente dal numero di dischi di cui è composto l'array, solo uno di essi viene utilizzato per le informazioni di controllo). Se uno dei dischi si guasta, i dati persi possono essere recuperati dai blocchi di controllo e se l'array ha un disco di riserva, la ricostruzione dei dati si avvierà automaticamente. L'ovvio svantaggio, tuttavia, è la riduzione della velocità di scrittura, poiché le informazioni sulla parità devono essere calcolate ad ogni nuova scrittura sul disco.

    RAID5

    Questo livello è simile a RAID4, tranne per il fatto che i blocchi con informazioni sulla parità non si trovano su un disco separato, ma sono distribuiti uniformemente su tutti i dischi dell'array insieme ai blocchi di dati. Di conseguenza, c'è un aumento della velocità di lavoro con i dati e un'elevata tolleranza ai guasti.

    Condividere