|
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
- Un gioco (di dischi) a sei livelli
- RAID Livello 0
- RAID Livello 1
- RAID Livello 2
- RAID Livello 3
- RAID Livello 4
- RAID Livello 5
- RAID per scelta e non per amore.
- Ho capito, ho un tipico caso da Livello 3!
- Bibliografia & Link
- Copyright e Licenza
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).

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!
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.
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.
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.
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.

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.
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).

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.

Bibliografia & Link
- 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.
|