ATTIVITÀ : Utilizzare : Hardware : Miscellanee : Sistema RAID

Sistema RAID

Il RAID, i dischi ed i vostri dati non solo NON li ammazza stecchiti, ma evita che a fare questa fine siate voi, se "sedete" ai sistemi informativi di una struttura dei cui dati dovete garantire l'integrità. Alcuni ARMs hanno espresso dubbi sulla collocazione della pagina del Raid nel Settore dell'Hardware, ma è vero che se il prodotto è sostanzialmnete una software (ed una filosofia di gestione), è vero anche che spesso lo troviamo "bruciato" nelle ROM di schede dedicate, che, specie per alcuni aspetti del Raid, sono indispensabili per garantire non solo l'integrità dei dati, ma soprattutto il loro raggiungimento in tempi accettabili.

Indice

  1. Un gioco (di dischi) a sei livelli
  2. RAID Livello 0
  3. RAID Livello 1
  4. RAID Livello 2
  5. RAID Livello 3
  6. RAID Livello 4
  7. RAID Livello 5
  8. RAID per scelta e non per amore.
  9. Ho capito, ho un tipico caso da Livello 3!
  10. Bibliografia & Link
  11. Copyright e Licenza
Inizio

Un gioco (di dischi) a sei livelli

RAID (non è un insetticida) è un acronimo che stranamente contiene quettro lettere, invece di essere ammalato di TLA, e significa Redundant Array of Inexpensive (Independent) Disks, cioé un lotto ridondante di dischi poco costosi (indipendenti);
Ridondante, significa che ogni componente (disco rigido o scheda) viene installato in numero maggiore al necessario e che questa eccedenza diviene operativa qualora vi siano dei malfunzionamenti, dunque un materiale "di scorta" impiegato per fare la stessa cosa indipendentemente dagli altri omologhi, utile in emergenza. Non è come attaccare tre dischi ad un controller che invii le stesse operazioni a tutti e tre, è un sistema, quindi un insieme di regole che concorrono e controllano il funzionamento di questa batteria (o lotto) di dischi.
Il Sistema RAID organizza la sua funzionalità in livelli (sono sei, da 0 a 5) o, se preferite in sei modi diversi, di sicurezza via via crescente. È infatti la sicurezza il motivo inspiratore del Sistema RAID.
Per la cronaca, il sistema RAID è stato descritto da un gruppo di ricercatori dell'Università di Berkeley (CA).

Inizio

RAID Livello 0

Il Livello 0 significa in sostanza che la funzionalità del Sistema RAID è disattiva. Dunque, due o più dischi sono utilizzati contemporaneamente ma non in maniera ridondante e l'unica sicurezza dei dati è la fortuna che quello che vi serve di più sia finito sul disco rimasto sano dopo un guasto :-)
In inglese il RAID di livello 0 viene detto "Striping Mode" cioé suddivisione dei dati (su più dischi) Ovviamente un Sistema RAID di Livello 0 a tre dischi da 1MByte offre una capacità di memorizzazione di 3MBytes!

Inizio

RAID Livello 1

Il Livello 1 (detto di Mirroring o duplicazione, letteralmente "riflessione" o "specchio") offre la ridondanza minima richiesta ad un Sistema RAID degno di questo nome: tutto ciò che viene scritto su un disco viene scritto identicamente e contemporaneamente su almeno un altro. Ne segue che un RAID di Livello 1 è composto da almeno due dischi.
Ovviamente un Sistema RAID di Livello 1 a due dischi da 1MByte offre una capacità di memorizzazione di 1MByte.

Inizio

RAID Livello 2

Usa un Sistema di rivelazione degli errori di nome Hamming, valido (valido poi...) per quei dischi che non hanno una sistema di rilevamento dell' errore nel firmware del controller. Alcuni sistemi di memorizzazione come lo SCSI, supportano il FH (Fault Handling - rilevamento dell'errore) costituzionalmente e quindi non traggono alcun vantaggio dal RAID di Livello 2; sistemi disco come l'IDE, traggono un blando vantaggio di sicurezza da questa applicazione del RAID. Ovviamente un Sistema RAID a un disco da 1MByte configurato a Livello 2 offre una capacità di memorizzazione di meno di un 1MByte visto che una parte della memoria verrà marcata come 'non attendibile' dal software di sicurezza mano a amano che l'uso riempirà il disco.

Inizio

RAID Livello 3

Il Livello 3 del RAID è nuovamente un sistema di striping, ma il livello di dettaglio al quale viene applicata la suddivisione è il Byte; quindi un byte sul disco 1, un byte sul disco 2, ecc...
Se avete 'n' dischi l'(n-1)-esimo conterrà il risultato di una operazione effettuata tra i bytes scritti su gli altri dischi.
Se, realisticamente, un RAID di Livello 3 è fatto di tre dischi, ed io ho una informazione lunga due bytes, il primo byte verrà scritto sul disco 1, il secondo verrà scritto sul disco 2 e sul terzo verrà scritta la somma logica (bit a bit) dei due bytes scritti sugli altri dischi, proprio come se l'operazione di addizione avvenisse in colonna come alle scuole elementari.
Ovviamente il fallimento nella lettura su uno dei due dischi contenenti i dati (primo e secondo) verrà recuperato con una operazione inversa eseguita tra quello rimasto funzionante ed il terzo. Esempio:

Disco

Dato

Guasto

Dato

Guasto

Recuperato

1

3

No

3

No

 

2

5

No

*

Si

8-3=5

3

8

No

8

No

 

Ecco perchè la funzione (che qui abbiamo esemplificato con il concetto di somma) viene detta invertibile, poiché produce un risultato dal quale, con la sua funzione inversa, si può ottenere un operando conosciuti gli altri.
Ovviamente un Sistema RAID di Livello 3 a tre dischi da 1MByte offre una capacità di memorizzazione di 2MByte con un buon livello di sicurezza. È tuttavia richiesta una scheda hardware che effettui l'operazione di codifica con la funzione invertibile di cui abbimo detto, per evitare un rallentamento percepibile delle prestazione del sistema pensato con RAID di terzo Livello.

Inizio

RAID Livello 4

Ancora striping, ma al livello dei blocchi (le unità atomiche di memorizzazione in cui un disco viene suddiviso con la formattazione). Analogamente a quanto visto per il Livello 3, un Livello 4 scrive un blocco su ogni disco a sua disposizione (ancora il minimo è tre) ed il risultato di una funzione invertibile sul disco 'ennesimo'. Ancora una volta, anzi ancor di più, la codifica del disco ennesimo deve essere effettuata da una scheda dedicata, visto che la funzione aumenta di complessità all'aumentare del numero dei dischi.
Inoltre per un numero di dischi maggiore di tre (in realtà questa è pura teoria, di fatto l'industria non produce sistemi RAID di Livello maggiore di 2 con più di tre dischi) la capacità del sistema diminuisce rispetto al teorico ma aumenta enormemente la sua resistenza all'errore.
Infatti un sistema (teorico) a cinque dischi in RAID Livello 4, dischi da 1 MByte e dunque con una capacità apparente di 4MBytes (il quinto non riceve informazione utile alla memorizzazione dell'informazione ma solo al suo recupero), incontra una difficoltà aggiuntiva: non è detto che il risultato della funzione invertibile sia lungo un blocco! ne segue che il limite ricettivo (di spazio utile, insomma) dei quattro dischi dati è dato dal limite di memorizzazione del quinto, che si riempe più velocemente rispetto al singolo disco dati. Siccome il blocco è l'unità atomica del disco (anche di quelli a Livello 3 che, a proposito, 'strappano' ogni byte e non 'strippano' nessuno!), un dato di un blocco e due decimi occupa due blocchi!
Per evitare che la capcità di memorizzazione del sistema decada rapidamente (al limite geometricamente od esponenzialmente) si potrebbe adottare un algoritmo di compressione sul risultato dell'operazione scritta nel quinto disco e la scheda dedicata dovrebbe calcolare il risultato e poi comprimerlo...
Possibile e fico, ma l'industria non lo fa. Di fatto, assumiamo che la capcità di un sistema RAID di Livello 4 da tre dischi da 1 MByte è di 2MBytes. Il Raid 4 è veloce in lettura come un disco normale e rapido abbastanza in scrittura se supportato da un hardware dedicato piuttosto potente.

Inizio

RAID Livello 5

Il livello di massima sicurezza del Sistema RAID è anche il meno applicato/abile! Infatti il Livello 5 non è null'altro che un Livello 4 in cui le funzioni del disco 'ennesimo' (quello con i risultati della funzione invertibile, per intenderci) viene a sua volta 'strappato' (striped) su tutti gli enne dischi in giuoco. Questo, se da un lato evita il limite per dischi in numero maggiore di tre che rendono praticamente antieconomico l'applicare il RAID a lotti di dischi di questa numerosità dall'altro richiede un hardware ancora più potente.
Inoltre (come inoltre?!) la lettura da un RAID 5 risulta lenta di diversi ordini di grandezza rispetto agli altri Livelli (considerato che lo 0 sia un implementazione anch'esso del RAID) e considerevolmente più lento dello stesso RAID 4 anche in scrittura sebbene la capacità di memorizzazione è indentica e dunque costa (in termini di soldi, intendo) ugualmente.

Inizio

RAID per scelta e non per amore.

Premesso quanto sopra e considerato che il RAID premia la sicurezza dei dati a spese della loro capacità di essere memorizzati, della velocità con la quale vengono raggiunti o scritti e del costo di un sistema di pari capacità ma di non confrontabile sicurezza, la domanda allora diviene:
Quale RAID scelgo?
La risposta, manco a dirlo, è: dipende.
Dipende da cosa dovete fare con i dati che (questo lo diamo per scontato) necessitano di sicurezza; vediamo:

  • Livello 0 (striping o suddivisione fra dischi) Se utilizzate applicazioni che hanno bisogno di una velocità molto alta di accesso ai dischi in entrambe le direzioni (lettura e scrittura) ma non della ridondanza a garantirne la sicurezza; un esempio sono i Temporary Items di Photoshop.
  • Livello 1 (mirroring o duplicazione) Applicazioni che richiedono sia ridondanza che velocità di accesso ai dischi; un caso tipico è quello di File Servers con limitato traffico e/o solo due dischi a disposizione.
  • Livello 2 (algoritmo Hamming di FH) Se le vostre applicazioni (tipicamente servers) richiedono la conoscenza dello stato di efficienza dei supporti di memorizzazione.
  • Livello 3 (striping di Byte) Applicazioni che lavorano piccoli files in grossi quantitativi senza necessità di accessi fulminei ai dati; tipicamente servers di archiviazione SOHO (Small Office Home Office).
  • Livello 4 (striping di blocco) applicazioni che richiedono la ridondanza ottenuta a costi bassi ovvero necessitano di lettura veloce senza particolare interesse per la velocità di scrittura; Tipicamente serventi di archiviazione di grossi files o File Servers per FTP di distribuzione (quelli che ad esempio usa Apple per le sue distribuzioni on-line come http://asu.info.apple.com per Apple Software Updates ovvero http://til.info.apple.com per la Tech Informazioni Library).
  • Livello 5 (striping di blocco a parità distribuita (parity striping)) similmente al RAID di Livello 4 ma per files medio/piccoli (tipicamente DataBase e Web Servers DB-based, cioé con le pagine generate al volo da un database).
Inizio

Ho capito, ho un tipico caso da Livello 3!

Nossignore, non si ha mai un tipico caso da Livello N, si hanno N casi, uno o più per ogni Livello.
Una caratteristica del Sistema RAID è proprio quella di aver previsto che a diverse partizioni logiche e/o fisiche si possano applicare Livelli diversi, per andare incontro a diverse necessità con lo stesso hardware (spendendo il meno possibile).
Se avete davvero capito lo spirito del RAID, troverete di facile comprensione il principio per il quale, ad esempio, in un sistema a due dischi (un caso davvero assai diffuso) una partizione usa il Livello 0 per le migliori performance con i files temporanei ed una seconda partizione usa un Livello 1 per la sicurezza di importanti applicazioni (vedi quelle a noleggio che costano molto per una eventuale reinstallazione) o per i dati correnti.
Altro caso (quello del RAID nell'immaginario collettivo) a tre dischi in cui una partizione va a Livello 0 per i temporanei (tipicamente lo swap), la partizione di boot al Livello 1 (tipicamente un server) e gli archivi su una terza partizione a Livello 4.

Inizio

Bibliografia & Link

  1. Adaptec Una fornte inesauribile di ottime informazioni su dischi e sistemi di memorizzazione, parti di questa pagina sono © e riportate da questo documento di Adaptec Inc.

Inizio

Home | Programmare | Utilizzare | Aiutarsi | Regalare | Software | Dizionario
Eventi | Roma | Vantaggi | Oggetti | Informazioni | Novità | Link | Mappa


Copyright © Roam - Conoscere Possibile.
Il sito è Documentazione Libera sotto FDL 1.2 o successiva.
La copia letterale e la distribuzione del materiale qui raccolto nella sua integrità sono permesse con qualsiasi mezzo, a condizione che questa nota sia riprodotta (se non diversamente indicato).
[J] Informazioni Legali