RAID in informatica è sinonimo di archiviazione. Originariamente il termine faceva riferimento a una serie ridondante di dischi poco costosi (Redundant Array of Inexpensive Disks). In seguito, l’acronimo è stato aggiornato e oggi la definizione fa riferimento a Redundant Array of Independent Disks, ovvero una serie ridondante di dischi indipendenti. Come sottolineano gli esperti, però, lo scopo della tecnologia non è cambiato.
Che cos’è la tecnica RAID e a cosa serve
È un metodo molto comune per proteggere i dati delle applicazioni sia su unità a disco fisso che su storage allo stato solido.
A parlare per la prima volta di questa tecnica sono stati David A. Patterson, Garth A. Gibson e Randy H. Katz in un articolo pubblicato tra gli atti della SIGMOD Conference del 1988 e intitolato “A Case for Redundant Arrays of Inexpensive Disks”.
L’idea originale? Combinare una serie di dischi a basso costo in modo da ottimizzare il sistema in termini di capacità, affidabilità e velocità rispetto a un disco di ultima generazione.
Ne esistono diversi tipi che bilanciano il livello di protezione in base al loro prezzo: in sintesi, maggiore è la protezione, maggiore è il costo:
- I dischi più economici sono gli IDE (Integrated Drive Electronics), gli ATA (Advanced Technology Attachment) o i SATA (Serial Advanced Technology Attachment)
- I dischi più costosi sono gli SCSI (Small Computer System Interface)
Ridondanza e parallelismo: come funziona un sistema RAID
Raggruppando le singole unità fisiche in modo da formare un set, il RAID rappresenta tutte queste unità fisiche come un disco logico sul server. Questo disco logico è chiamato numero di unità logica (Logical Unit Number) o LUN.
I dati, dunque, vengono partizionati in sezioni (in inglese: stripes) di uguale lunghezza e trascritti su dischi differenti utilizzando un algoritmo preposto alla distribuzione.
Quando si richiede una lettura di dimensione superiore all’unità di sezionamento, questa tecnologia distribuisce il carico di lavoro su più dischi in parallelo, aumentando così le prestazioni.
I miglioramenti apportati alle prestazioni e alla disponibilità del RAID hanno confermato negli anni questo approccio anche a fronte della disponibilità di nuove tecnologie di archiviazione.
Per orientarsi tra le varie tipologie di livelli che caratterizzano le tecniche in quest’ambito è necessario capire nel dettaglio l’insieme di caratteristiche (numero minimo di dischi, capacità, numero massimo consentito di difetti al disco) e, di ogni livello, capire bene vantaggi e svantaggi. Anche perché dai tradizionali 5 livelli originari, con l’evolversi dei sistemi di archiviazione, il numero di livelli RAID è aumentato.
Quali sono i vantaggi
Il vantaggio principale dell’utilizzo di un sistema di questo tipo è la capacità di conservazione dei dati memorizzati su unità guaste.
I livelli utilizzano:
- Il mirroring dei dati, ovvero quando i dati vengono scritti su più di un disco contemporaneamente
- Lo striping, ovvero quando i dati sono distribuiti su unità a blocchi
- La parità, ovvero una metodologia che permette di avere la sicurezza che i dati siano stati scritti correttamente quando vengono spostati da un’unità all’altra.
- Una combinazione di queste tecniche
Che cosa è la parità e a cosa serve
Mentre il mirroring dei dati e lo striping sono tecnologie note ai più, la parità è un termine per addetti al settore. Si tratta, più in dettaglio, di un checksum dei dati che sono stati scritti sui dischi e che viene riportato insieme ai dati originali. Il checksum, infatti, è un valore che rappresenta il numero di bit in un messaggio di trasmissione e che viene utilizzato dai professionisti IT per rilevare errori di alto livello all’interno delle trasmissioni di dati.
Il valore di checksum in sé è in genere una lunga serie di lettere e numeri che agiscono come una sorta di impronta digitale per un file o un set di file per indicare il numero di bit inclusi nella trasmissione.
Il server che accede ai dati su un set RAID basato sull’hardware, infatti, non sa se e quale delle unità nel set possa non essere andata a buon fine. Grazie alla parità il controller ricrea i dati persi quando l’unità si guasta utilizzando le informazioni di parità memorizzate sui dischi sopravviventi nel set.
Nella maggior parte dei casi, l’aumento delle prestazioni o dell’affidabilità aumenta il costo della protezione dei dati sulle unità.
Livelli standard e non standard
L’ampio numero di livelli RAID può essere suddiviso in tre macrocategorie:
- Standard
- non standard
- nidificati
I livelli standard sono costituiti dai tipi base numerati da 0 a 6.
Un livello non standard è impostato sugli standard di una determinata azienda o associato a un progetto open source. I non standard includono RAID 7, adattativo, S e Linux md RAID 10.
Il RAID nested si riferisce a combinazioni di livelli RAID come, ad esempio, 01 – 0 + 1, 03 – 0 + 3 e 50 – 5 + 0.
Qual è il miglior RAID per la vostra organizzazione
Come spiegano gli esperti, il miglior RAID per la un’organizzazione dipende:
- dal livello di ridondanza che si sta cercando
- dalla durata del periodo di conservazione
- dal numero di dischi con cui si sta lavorando
- dall’importanza attribuita alla protezione dei dati rispetto all’ottimizzazione delle prestazioni
Per scegliere quale livello utilizzare è necessario valutare prima che tipo di applicazione gira sul server. Per capire meglio: il RAID 0 è il più veloce, il RAID 1 è il più affidabile, il RAID 5 è un buon compresso tra il RAID di livello 0 e il RAID di livello 1.
Di seguito è riportata una descrizione dei diversi livelli utilizzati più comunemente negli array di archiviazione. Non tutti i fornitori di array di archiviazione supportano ogni tipo di RAID, quindi è necessario verificare prima con i vostri fornitori i tipi disponibili e la loro memoria.
Livello 0
Corrisponde alla semplice una partizione del disco. Tutti i dati sono distribuiti in blocchi su tutti i dischi nel set.
PRO: Offre grandi prestazioni, in quanto il carico di archiviazione dei dati viene distribuito su più unità fisiche. Ha anche il costo più basso di tutti i tipi di RAID perché utilizza lo spazio su disco solo per memorizzare i dati. Poiché non è stata generata parità per RAID 0, non esiste un sovraccarico per scrivere dati su dischi RAID 0.
CONTRO: Tuttavia, questo livello ha la peggiore protezione dei dati di tutti i livelli. Quando un disco non funziona, i dati su quel disco non sono disponibili finché non possono essere riscritti da un’altra unità.
Livello 1
È il mirroring del disco, il che significa che tutti i dati vengono scritti su due dischi fisici separati.
PRO: I dischi sono essenzialmente immagini speculari l’una dell’altra. Se un disco si guasta, l’altro può essere utilizzato per recuperare i dati.
CONTRO: Il mirroring del disco è utile per operazioni di lettura veloce, ma le velocità di scrittura sono più lente perché i dati devono essere sovrascritti due volte. Un altro svantaggio di questo livello è che anche la quantità di spazio su disco richiesta raddoppia, dal momento che tutti i dati vengono archiviati due volte.
RAID 1 + 0: RAID 1 + 0, che è anche chiamato RAID 10, utilizza una combinazione di mirroring e striping del disco. I dati vengono normalmente rispecchiati prima e poi partizionati. Il mirroring di set di strip assolve lo stesso compito, ma è meno tollerante ai guasti rispetto ai set di mirroring per partizioni.
Se si perde un’unità in un set di striping, è necessario accedere ai dati dall’altra serie di striping perché i set delle partizioni non hanno parità. RAID 1 + 0 richiede un minimo di quattro dischi fisici.
Livello 2
Le partizioni dei dati a livello di bit utilizzano un codice Hamming. In questi giorni, i codici di Hamming sono già utilizzati nei codici di correzione degli errori dei dischi rigidi, quindi il non viene più utilizzato.
Livello 3
Utilizza un disco di parità per archiviare le informazioni generate da un controller RAID su un disco separato dai dischi di dati effettivi. Questa tipologia di livello richiede un minimo di tre dischi fisici.
PRO: questo livello funziona molto bene con applicazioni che richiedono un trasferimento di dati sequenziale lungo, come i server video.
CONTRO: funziona male quando ci sono molte richieste di dati come, ad esempio, nel caso di un’applicazione per la gestione di un database.
Livello 4
Utilizza un disco di parità dedicato con una modalità di partizione a livello di blocco tra dischi.
PRO: È utile in caso di accesso sequenziale ai dati
CONTRO: L’uso di un disco di parità dedicato può causare colli di bottiglia nelle prestazioni in fase di scrittura.
Potendo utilizzare alternative come il RAID 5, il livello 4 non è molto utilizzato.
Livello 5
Combina striping del disco e parità, richiedendo almeno tre dischi fisici. I dati sono partizionati su tutti i dischi nel set RAID, insieme alle informazioni di parità necessarie a ricostruire i dati in caso di guasto del disco.
È il metodo più comune perché raggiunge un buon rapporto tra prestazioni e disponibilità.
Livello 6
Aumenta l’affidabilità utilizzando due sistemi di partizione combinati alla parità, che permettono di arrivare a gestire fino a due guasti del disco all’interno del set RAID senza che i dati vengano persi.
Richiede almeno quattro unità disco e viene spesso utilizzato per unità a grande capacità come nei casi di una massiccia archiviazione o di processi di backup basati su disco. Un grosso vantaggio del RAID 6 è consentire al recupero dei dati nel caso di guasti simultanei del disco, con tempi di ricostruzione relativamente più lunghi.
Adattivo
Consente al controller RAID di capire in che modalità memorizzare la parità sui dischi. È possibile scegliere tra RAID 3 e RAID 5 a in base al tipo di set RAID più adatto alla tipologia di dati trascritti sui dischi.
Livello 7
È un livello non standard, basato su il RAID 3 e il RAID 4, che richiede hardware proprietario. Questo livello è di proprietà di quella che un tempo si chiamava Storage Computer Corp.
Unità e ricostruzioni minime per i livelli RAID: 3 cose da sapere
Il RAID richiede più unità disc, il cui numero varia in base al livello RAID prescelto. Una domanda frequente è se, una volta raggiunto il requisito minimo, ci sia un vantaggio nell’aggiungere più dischi.
Prima regola
Se si utilizza più del numero minimo di unità, si ottiene più spazio di archiviazione disponibile e più attuatori o spindle (asse di rotazione nonché motore del disco) a supporto del sistema operativo. Tuttavia, questo non significa che in ogni momento questo sia necessario. La maggior parte degli array RAID utilizza un massimo di 16 unità all’interno di un set RAID il che causa un sovraccarico maggiore e rendimenti decrescenti a livello di prestazioni quando si superano le molte unità. Una buona regola empirica è di utilizzare fino a 8 unità per RAID 5 e RAID 10. Se è necessario più spazio su disco, è possibile creare un altro set RAID con gli altri dischi.
Seconda regola
Come ulteriore regola empirica, gli esperti consigliano di mantenere diversi tipi di dati su set RAID separati. È possibile utilizzare RAID di livello 10 per ottenere le migliori prestazioni ovunque, ma la maggior parte dei budget impone l’utilizzo di RAID 5 per i volumi di dati del database, con RAID 1 o RAID 10 utilizzati nei volumi di registro del database. I volumi del database possono essere di tipo I / O molto casuale mentre i registri tendono ad essere di natura sequenziale.
Terza regola
I tempi di ricostruzione dipendono dal tipo di RAID prescelto: se si utilizza un RAID basato su software, più spindle all’interno del gruppo si traduce in tempi di ricostruzione più lunghi. Se si utilizza un RAID basato su hardware, i tempi di ricostruzione sono di solito dettati dalla dimensione delle unità stesse, in quanto l’hardware di solito fa lo sparing dentro e fuori dal set. Ecco perché è necessari analizzare beme il contesto applicativo prima di scegliere il proprio livello di riferimento. Un’unità da 146 GB, ad esempio, richiede più tempo per la ricostruzione rispetto a un’unità da 73 GB.
Come viene utilizzato oggi
Da più parti gli osservatori prendono atto che la necessità di utilizzare la tecnologia RAID sia diminuita. La codifica di cancellazione e le unità a stato solido si presentano, infatti, come alternative affidabili, anche se più costose. Senza contare che, con l’aumentare della capacità di archiviazione, aumenta anche la possibilità di errore dell’array RAID. Tuttavia, i grandi fornitori di storage continuano a supportare i livelli RAID nei propri storage array.
Focus su Raid 10, cos’é?
Combinando 2 livelli di archiviazione cioè i livelli 1 (mirroring, cioè duplicazione dei dati su più hard disk) e 0 (stripting, suddivisione in blocchi) si dà origine a Raid 10 e si sfrutta così una tecnica che ottimizza le prestazioni, consentendo al pc di utilizzare più dischi contemporaneamente.