RAID (array ridondante di dischi indipendenti) è una tecnologia di archiviazione che combina più componenti di unità disco in un'unica unità logica in modo che si comporti come un'unità quando connessa a qualsiasi altro hardware. RAID 1 offre ridondanza tramite il mirroring, ovvero i dati vengono scritti in modo identico su due unità. RAID 0 non offre ridondanza e utilizza invece lo striping, ovvero i dati sono suddivisi su tutte le unità. Ciò significa che RAID 0 non offre tolleranza agli errori; se una qualsiasi delle unità costituenti ha esito negativo, l'unità RAID non funziona.
RAID 0 | RAID 1 | |
---|---|---|
Caratteristica fondamentale | Striping | Mirroring |
Striping | Sì; i dati vengono striati (o divisi) in modo uniforme su tutti i dischi nell'impostazione RAID 0. | No; i dati sono completamente memorizzati su ciascun disco. |
Mirroring, ridondanza e tolleranza ai guasti | No | sì |
Prestazione | In teoria, RAID 0 offre velocità di lettura e scrittura più elevate rispetto a RAID 1. | RAID 1 offre velocità di scrittura più basse, ma potrebbe offrire le stesse prestazioni di lettura di RAID 0 se il controller RAID utilizza il multiplexing per leggere i dati dai dischi. |
applicazioni | Dove l'affidabilità dei dati è meno preoccupante e la velocità è importante. | Dove la perdita di dati è inaccettabile per es. Archiviazione dati |
Numero minimo di dischi fisici richiesti | 2 | 2 |
Disco di parità? | Non usato | Non usato |
vantaggi | Velocità: letture e scritture molto veloci; nessun overhead per il calcolo della parità. 100% di utilizzo del disco. | Ottime prestazioni, anche se le scritture sono un po 'più lente rispetto a RAID 0. Tolleranza ai guasti con ripristino facilitato (copia semplicemente il contenuto di un'unità su un'altra) |
svantaggi | Nessuna ridondanza o tolleranza d'errore. Se un disco nel RAID non funziona, tutti i dati vengono persi. | La capacità di archiviazione viene dimezzata in modo efficace poiché vengono memorizzate due copie di tutti i dati. Il ripristino da un guasto richiede l'arresto del RAID in modo che i dati non siano accessibili durante il ripristino. |
RAID 0 offre striping senza parità o mirroring. Striping significa che i dati sono "divisi" in modo uniforme su due o più dischi. Ad esempio, in una configurazione RAID 0 a due dischi, i primi, i terzi, i quinti (e così via) blocchi di dati verrebbero scritti sul primo disco rigido e i blocchi secondo, quarto, sesto (e così via) sarebbero scritto sul secondo disco rigido. Uno svantaggio di questo approccio è che se anche uno dei dischi si blocca, l'intera configurazione RAID 0 fallisce perché i dati diventano irrecuperabili. In termini tecnici, questo è descritto come una mancanza di tolleranza d'errore.
Archiviazione dei dati in un'impostazione RAID 0 Archiviazione dei dati in una configurazione RAID 1Una configurazione RAID 1 è diversa. Non ci sono strisce; l'intero dato è rispecchiato su ogni disco. Ciò si traduce in più copie di dati (ridondanza). E se uno dei dischi fallisce, i dati possono ancora essere recuperati perché sono intatti sul secondo disco (la maggior parte delle configurazioni RAID 1 usano solo 2 dischi, anche se alcuni potrebbero usarne di più), il che significa che RAID 1 è tollerante ai guasti.
Ecco un buon video che spiega la differenza tra gli array RAID 0 e RAID 1 (un video più breve della stessa persona è su YouTube qui):
RAID 1 offre maggiore affidabilità a causa della ridondanza; anche se una delle unità non funziona correttamente, i dati sono ancora disponibili sull'altro. Tuttavia, gli array RAID non proteggono i dati dal bit-rot, il decadimento graduale dei supporti di memorizzazione che causano il ribaltamento dei bit casuali sul disco rigido, corrompendo i dati. I moderni file system come ZFS e Btrfs proteggono contro il bit-put tramite checksum per blocco, e dovrebbero essere utilizzati per proteggere seriamente i loro dati da diversi anni:
È un errore comune pensare che il RAID protegga i dati dalla corruzione poiché introduce ridondanza. La realtà è esattamente l'opposto: il RAID tradizionale aumenta la probabilità di corruzione dei dati poiché introduce più dispositivi fisici con più cose da non funzionare. Ciò che RAID ti protegge da è la perdita di dati a causa del guasto istantaneo di un disco. Ma se l'unità non è così premurosa da doverti morire educatamente e invece inizia a leggere e / o scrivere dati sbagliati, otterrai comunque quei dati errati. Il controller RAID non ha modo di sapere se i dati non sono corretti poiché la parità è scritta su base stripe e non su base per blocco. In teoria (in pratica, la parità non è sempre controllata rigorosamente ad ogni lettura), un controller RAID potrebbe dirti che i dati in una striscia erano corrotti, ma non avrebbe modo di sapere se i dati corruttivi effettivi si trovavano su un dato dato guidare.
RAID 0 offre tempi di scrittura molto rapidi perché i dati vengono suddivisi e scritti su più dischi in parallelo. Le scritture su un'unità RAID 1 sono più lente rispetto a quelle di RAID 0, ma lo stesso che scrivere su un singolo disco. Questo perché l'intero dato è scritto su due dischi, ma in parallelo.
Anche le letture sono molto veloci in RAID 0. Negli scenari ideali, la velocità di trasferimento dell'array è la velocità di trasferimento di tutti i dischi sommati e limitata solo dalla velocità del controller RAID. Le letture da RAID 1 potrebbero o meno offrire un tale aumento di prestazioni, a seconda del controller RAID. I controller "intelligenti" suddividono l'attività di lettura in modo da sfruttare la ridondanza dei dati e leggere blocchi diversi da dischi diversi. Questo offre un aumento delle prestazioni simile a RAID 0 ma per i controller che non sono in grado di tale multiplexing, velocità di lettura e sono circa lo stesso di un singolo disco rigido.
La memoria totale disponibile per l'unità RAID 0 è semplicemente la somma delle capacità di archiviazione dei singoli dischi poiché non esiste ridondanza. Nel caso di un array RAID 1, tuttavia, vi è la replica dei dati, il che significa che la capacità di memorizzazione totale dell'unità è la stessa di quella di un disco rigido.
RAID 1 è una scelta migliore se l'affidabilità è un problema e si desidera evitare la perdita di dati. Un tipico esempio sono le esigenze di archiviazione dei dati. RAID 0 è una scelta migliore in scenari in cui è necessario un grande volume di archiviazione ad alta velocità. Ad esempio, catturare video HD non compressi su HDSDI e registrarli direttamente su un disco rigido richiede scritture molto veloci e una grande capacità. Un altro esempio sono i database di grandi dimensioni che contengono registri o altre informazioni con un volume elevato di operazioni di lettura.
I livelli RAID 0 e 1 possono essere combinati per creare una striscia di mirror - RAID 10 - o una configurazione mirror of stripes (RAID 01). Questi sono chiamati livelli RAID nidificati.
Configurazione nidificata RAID 01 Configurazione RAID 10RAID 10 è più tollerante ai guasti di RAID 01, quindi è ampiamente utilizzato; Il RAID 01 non viene quasi mai usato perché RAID 10 è superiore ad esso mentre utilizza lo stesso numero di dischi.