Che cos'è il RAID?

RAID sta per Redundant Array of Inexpensive Disks o Redundant Array of Independent Disks. È una soluzione di virtualizzazione dell'archiviazione dei dati che tratta più unità fisiche come una singola unità fisica. Lo scopo del RAID è fornire ridondanza dei dati, miglioramenti delle prestazioni o entrambi a seconda del livello RAID utilizzato.

Concetti RAID

I tre concetti principali in RAID sono "mirroring", "striping" e "parity".

In RAID, rispecchiando è la replica dei dati su più dischi, questo consente un livello di ridondanza a scapito della capacità di archiviazione ridotta. Ad esempio, se un'unità si guasta, nessun dato viene perso, poiché tutti i dati sull'unità guasta si trovano anche su una seconda unità. A questo punto, l'unità guasta può essere sostituita e l'array RAID può essere ricostruito dalle unità esistenti.

RAID strisce è il concetto di diffusione dei dati su più unità. Ciò consente di disporre della piena capacità di tutte le unità per l'uso e di prestazioni superiori poiché i dati vengono scritti o letti da più unità contemporaneamente. Lo svantaggio è che la perdita di qualsiasi unità danneggia l'intero array.

RAID parità è un processo di tolleranza agli errori che esegue un processo logico tra ciascun bit su due unità e memorizza il risultato su una terza unità. Se una delle unità si guasta, l'array può essere ricostruito dalle altre due. La parità può essere aggiunta solo ad altri stati raid.

Livelli RAID comuni

RAID 0 è una semplice implementazione dello striping. Nell'array sono inclusi due o più dischi, che combinano le loro capacità complessive e le velocità di lettura/scrittura. Questo livello raid offre prestazioni elevate ma comporta il rischio della perdita di tutti i dati in caso di guasto di un'unità. Le prestazioni di un array RAID 0 aumentano man mano che si aggiungono più unità, tuttavia, aumenta anche la probabilità che una delle unità si guasti e danneggi l'intero array.

Suggerimento: RAID 0 è diverso dalla semplice estensione di più dischi insieme. Entrambe le tecniche consentono l'utilizzo della piena capacità delle unità. Spanning i dischi insieme non fornisce l'aumento delle prestazioni che deriva dallo striping dei dati, ma preserva i dati salvati sui dischi funzionanti in caso di guasto di un disco con spanning.

RAID 1 è un'implementazione del mirroring, con il mirroring dei dati da un'unità a una seconda unità. Se una delle unità si guasta, nessun dato viene perso. Negli array più grandi, ogni disco contiene ancora esattamente le stesse informazioni. Finché un disco RAID 1 è in funzione, i dati possono essere letti e l'array ricostruito.

I livelli RAID 4 e 5 utilizzano lo striping per aumentare le prestazioni, ma includono anche la parità, per consentire i guasti delle unità. RAID 4 dedica una singola unità alla parità, questo può causare velocità di scrittura ridotte poiché tutti i dati di parità vengono scritti solo su un disco. RAID 5 distribuisce i dati di parità su tutte le unità dell'array. Il collo di bottiglia derivante dalla scrittura dei dati di parità su un disco viene rimosso, tuttavia, l'elaborazione della parità deve ancora essere eseguita riducendo un po' le prestazioni rispetto a RAID 0. I livelli RAID 4 e 5 richiedono entrambi almeno tre unità nell'array e consentono il guasto di una sola unità.

RAID 6 è identico a RAID 5 ma memorizza due blocchi di parità su tutti i dischi dell'array. Questa parità aggiuntiva raddoppia l'elaborazione di parità richiesta, riducendo così le prestazioni più di RAID 5, ma ancora meno di RAID 4. RAID 6 richiede almeno quattro unità nell'array ma può gestire fino a due unità in errore.

RAID 0+1 è un array RAID nidificato, crea prima un array RAID 0 di dischi con striping, quindi un mirror RAID 1 di quell'array. L'annidamento di questi due tipi di array RAID fornisce sia la ridondanza del mirroring che l'aumento di velocità dello striping. Gli svantaggi di questo metodo sono che sono necessarie almeno quattro unità e che se un'unità si guasta, un intero mirror si guasta. Se un'unità si guasta, danneggia il suo array RAID 0. In un array RAID 0+1 a quattro dischi, la perdita di un singolo disco corromperebbe il disco associato lasciando gli altri due dischi senza la protezione di un mirror.

RAID 10 è un altro tipo di array RAID nidificato, crea un array RAID 1 di dischi con mirroring, quindi uno stripe RAID 0 di quell'array. L'annidamento degli array in questo modo fornisce anche la stessa ridondanza e aumento delle prestazioni di RAID 0+1. Con questa implementazione, tuttavia, puoi perdere molte unità purché ogni mirror disponga di almeno un disco funzionante. Inoltre, è necessario meno tempo per ricostruire l'array in caso di guasto di un'unità, poiché è necessario ricostruire solo un set di unità con mirroring.