SMsoft – informatica e dintorni

Il raid 5 ed il controllo di parità

RAID e’ l’acronimo di Redundant Array of Inexpensive Disks ovvero array ridondante di dischi non costosi, in quanto originalmente consisteva in un sistema economico per avere la ridondanza dei dischi e la possibilità di raggiungere elevate capacita’ utilizzando dischi comuni. Ci sono diverse configurazioni RAID, ma in questo articolo ci occuperemo solo del RAID 5.

Il RAID 5 ( Block-level striping with distributed parity) distribuisce le informazioni di parità anziché su di un disco dedicato, come nel RAID 4, direttamente su tutti i dischi facenti parte dell’array in modalita’ roud robin. In questo caso devono esserci un minimo di tre dischi, ed in caso di rottura di uno dei tre, i dati contenuti in questo saranno ricostruiti partendo dalle informazioni di parità presenti negli altri due.

Il livello garantisce sicurezza e performances, ma sono necessari, come detto, un minimo di tre dischi. Lo spazio disponibile sarà  la somma delle dimensioni di tutti i dischi meno uno (che rappresenta le parità distribuite tra i dischi).
Passiamo ora ad analizzare l’oggetto di questo articolo, il funzionamento del calcolo delle parità.
La parità viene ottenuta attraverso il risultato di un’operazione di XOR sui bit che fanno parte dell’informazione. Un’operazione di XOR tra due bit fornisce risultato 0 quando i due bit hanno uguale valore (cioè sono entrambi 1 o entrambi 0), mentre restituisce 1 quando i bit hanno valori opposti (il primo 1 ed il secondo 0, o viceversa).
Si supponga che A, B e C rappresentino tre dischi impiegati in un ipotetico Raid5. Avremo una cosa del genere :

La lettera P inserita nelle varie colonne rappresenta il bit di parità. Il valore contenuto nella colonna P è il risultato delle operazioni di XOR. Nella prima riga il bit di A è 1, in XOR con il bit di B 0 che risulta 1. 1 è quindi il bit di parità della prima riga. La verifica immediata la si ottiene facendo il percorso inverso. Se si rompe un disco (C nel seguente esempio) e viene rimpiazzato, avremo la seguente situazione:

il valore del bit C sarà il seguente :

Per la prima riga ad esempio :

Detto questo si capisce come l’informazione di parità consenta di ricostruire il dato presente sul disco guasto partendo dal confronto con il dato  ancora presente sugli altri dischi.
Il blocco di parità non viene letto quando si leggono i dati dal disco, in quanto sarebbe un inutile sovraccarico che  diminuirebbe le performance. Il blocco di parità viene letto invece quando la lettura di un settore dà un errore di CRC.




Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂

Commenti

Page optimized by WP Minify WordPress Plugin