 |
|
Ridondanza dei dati. Raid cosa sono?
Cos'è un raid hardware oppure software, le diverse tipologie e come funziona
Dati ridondanti e tolleranza ai guasti.
Il problema principale per la conservazione dei dati è la tolleranza
ai guasti. Nello specifico non vorremmo che il guasto di un disco provochi la
perdita dei nostri dati. Un modo per evitare questo è la ridondanza.
Se si hanno più dischi contenenti gli stessi dati, se si danneggia un
disco sarà possibile recuperare il suo contenuto da uno degli altri.
Esistono vari tipi di raid (ridondanza). Le differenze sono formate dal numero
di dischi utilizzati. Infatti la tipologia naturale è quella a specchio
o RAID di tipo 1. Questo tipo utilizza due dischi aventi lo
stesso contenuto. In questo caso lo spazio che sarà possibile utilizzare
è dimezzato. Avendo due dischi potenziali da 100 Gb ciascuno per un totale
di 200 Gb, il sistema vedrà l’insieme dei due dischi come un unico
supporto da 100 Gb. Il vantaggio di questo tipo di ridondanza è la forte
tolleranza ai guasti. Si ha perdita dei dati solo nel caso si abbia il guasto
di entrambi i dischi. Caso quest’ultimo assai improbabile, ma possibile
se il sistema non è stato opportunamente studiato. Un esempio è
la caduta di un fulmine. Se non si era preso in considerazione questa possibilità
nello studio del sistema, ad esempio installando un gruppo di continuità,
in questo caso si avrà una perdita totale dei dati.
Per questo non è sufficiente avere ridondanza ma è necessario
che il sistema sia accuratamente studiato.
Il secondo problema di questa soluzione è la velocità. Il sistema
non è molto veloce perchè deve leggere e scrivere ogni dato due
volte.
Per risolvere il problema del dimezzamento della capacità dei dischi
e la velocità è nato il RAID di tipo 5.
In questo caso si utilizzano un minimo di tre dischi di uguale dimensione. L’idea
è di unire la velocità di un Raid di tipo 0 con la ridondanza
del Raid di tipo 1. In un Raid di tipo 5 i dati sono memorizzati in questo modo:
partendo da due byte successivi di un dato, il primo byte è memorizzato
nel primo disco il secondo byte è memorizzato nel secondo disco e nel
terzo disco avrò l’insieme dei due dati ad esempio questo terzo
byte sarà calcolato come XOR dei due precedenti. In questo modo ho un
meccanismo veloce, in un colpo solo leggo due byte. Ho anche la ridondanza dei
dati avendo l’XOR dei dati. Nel caso si perda un disco è possibile
ricostruirlo a partire dagli altri.
La ricostruzione non è possibile se si perdono due dischi.
In termini di spazio si ha la perdita di un terzo dello spazio. Quindi se si
hanno 3 dischi da 100 Gb si avrà uno spazio a disposizione di 200 Gb.
Esiste anche il Raid di tipo 0. Non è stato indicato
per primo perchè questo tipo di RAID non offre tolleranza ai guasti,
anzi raddoppia la probabilità di un guasto. Infatti è formato
da almeno due dischi. In un Raid di tipo 0 due byte successivi sono memorizzati
uno nel disco 1 e l’altro nel disco 2. Con questo tipo di soluzione si
ha un notevole incremento di performance. Infatti quando vado a leggere o a
scrivere due byte lo faccio in un colpo solo dimezzando i tempi di accesso.
La perdita di un disco provoca la perdita dell’intero RAID.
L’implementazione del RAID può essere fatta via hardware oppure
via software. Le soluzioni via hardware è una scheda con entrambi i dischi
attaccati che si incarica della lettura e scrittura dei dati che arrivano. Un
esempio di schede di questo tipo sono le Adaptec la 1200 (solo RAID 0,1) e la
2400 (tutti i tipi di RAID) oppure le promise fasttrack.
L’implementazione via software è fatta generalmente dal sistema
operativo. Sistemi operativi che offrono questo tipo di supporto sono Linux,
BSD, Windows solo la versione server e Mac OS X in tutte le versioni.
|
|