Raid
La gestione dei dischi denominata RAID (Redundant Array of Independent Disks) mira a prevenire i danni e a favorire il recupero automatico dei dati.
RAID indica un complesso meccanismo di memorizzazione che utilizza più dischi fissi per aumentare le prestazioni della memoria di massa in termini di velocità e/o di affidabilità. In particolare i miglioramenti di affidabilità consentono in alcuni tipi di RAID di recuperare automaticamente e in modo trasparente alcuni errori hardware
Le tecniche RAID possono essere realizzate via hardware, con appositi controllerer che gestiscono le singole azioni di lettura e di scrittura implementando una strategia RAID, oppure via software, attraverso il sistema operativo che può definire politiche di gestione dell'hardware che attuano metodiche RAID
Le diverse tipologie RAID
combinano alcuni meccanismi base:
- striping: migliora la velocità di lettura/scrittura "spalmando" i dati di un blocco in più dischi. Il blocco viene diviso in n sottoblocchi, ognuno dei quali è memorizzato su un disco diverso e ogni lettura innesca n letture (da n dischi), riducendo il tempo di trasferimento e di latenza. Non incide sull'affidabilità dei dischi poiché non inserisce informazioni di controllo.
-
mirroring: ogni disco viene duplicato e dunque esiste una copia di sicurezza di ogni informazione. Il mirroring, oltre ad aumentare l'affidabilità, consente l'uso in parallelo dei dischi in lettura. Non migliora invece le prestazioni in scrittura. Le copie vengono gestite direttamente dal sistema per cui utente e amministratore vedono una sola istanza del file. Il mirroring prevede una ridondanza totale delle informazioni che dimezza la resa dei dischi.
- blocchi di parità: consentono di ricostruire porzioni di informazioni andate perse a causa di errori. I blocchi di parità sono utilizzati per memorizzare informazioni riassuntive (calcolate da apposite funzioni matematiche) sugli n blocchi precedenti e non possono quindi garantire ridondanza totale. Per questo motivo non recuperano qualunque tipo di difetto, ma solo errori circoscritti. La ridondanza incide però molto meno del mirroring poiché prevede l'inserimento di un blocco di parità ogni n blocchi dati e dunque una perdita in termini di spazio di un (n+1 )-esimo.
Tipologie RAID
Combinando striping, mirroring e blocchi di parità si ottengono sistemi RAID differenti che offrono diversi gradi di affidabilità e l'aumento delle prestazioni in lettura/scrittura. In particolare:
- RAID 0: usa striping per migliorare le prestazioni in lettura e scrittura. È tipicamente utilizzato su dischi di uguali dimensioni in modo da non avere perdite di capacità complessiva. Se si utilizzano 5 dischi da 10 GB ciascuno, si riescono ad usare tutti i 50 GB disponibili, visti come un unico disco, e si velocizzano le letture e le scritture di 5 volte. RAID O non prevede ridondanza e se si verifica un guasto su un disco vengono compromesse anche le informazioni contenute in stripe sugli altri dischi.
- RAID 1: usa mirroring per aumentare l'affidabilità del sistema. Recupera da situazioni di danno totale dei dischi. Se si utilizzano 4 dischi da 10 GB si usano effettivamente solamente 20 GB.
- RAID 1+0: utilizza striping e mirroring combinati nel modo seguente: i dischi vengono messi in mirror, ovvero metà dei dischi sono predisposti per essere copia dell'altra metà. Sono dunque visibili n/2 unità che vengono messe in striping per migliorare le prestazioni. È sia molto affidabile che molto veloce. Se si utilizzano 8 dischi da 10 GB si possono velocizzare le letture e le scritture di 4 volte usando però effettivamente solo 40 GB, visti come un'unica unità.
- RAID 5: utilizza striping e blocchi di parità combinati per ottenere un miglioramento di prestazioni e di affidabilità. È meno affidabile rispetto a RAID 1+0, ma rende disponibile all'utente una quantità maggiore di memoria. Se sono disponibili 5 dischi da 10 GB, ne usa uno per la parità e 4 per i dati effettivi, col risultato che si usano 40 GB e si velocizzano le letture e le scritture di 4 volte. Rispetto alla soluzione con RAID 1+0 si ottengono risultati analoghi con 30 GB in meno. È tollerante rispetto al guasto di un solo disco.
![]() |