Il RAID 6 è un meccanismo di protezione dei dischi più sicuro del RAID 5 ma ancora più lento in termini di prestazioni. Il RAID 5 non è più all’altezza della situazione, questo è ormai anni che lo sentiamo dire, ma ormai con i dischi dell’ultima generazione (1 e 2TB) e i prossimi (3TB di prossimo annuncio) è veramente troppo pericoloso!
Un RAID group formato da dischi SATA da 1TB/7200RPM ha un tempo di ricostruzione, su un array tradizionale, che può facilmente superare le 24 ore! Questo tempo si allungherà ulteriormente e le previsioni non sono rosee: con i dischi da 3TB sarà di circa 96 ore. Sempre, fra l’alto, che l’array abbia degli algoritmi di ricostruzione efficienti e le IOPS richieste sul front-end non siano eccessive. Quanto tempo ti puoi permettere di rimanere senza una adeguata protezione?
La soluzione ci sarebbe, si chiama RAID 6, ma questa crea un problema di performance non indifferente. Già il RAID 5 subisce quella che in gergo si chiama “write penalty”. La penalità è dovuta al fatto che, per ogni operazione di scrittura verso l’array, il controller deve prendere il blocco, dividerlo per la lunghezza dello stripe, calcolarne la parità e, infine, scrivere tutte le parti sui dischi. Tutte queste operazioni vengono spesso fatte con un controller hardware che, per quanto veloce, ha dei limiti che spesso rallentano comunque le performance globali del sistema. Il RAID 6 non deve calcolare una parità ma due e quindi questa operazione è ancora più onerosa.
Il RAID 5 o il RAID 6 vengono spesso preferiti quando ci sono pochi dati in scrittura e molti in lettura (es. web server), in questi casi i tempi di risposta sono ottimi (se il RAID group non è degradato) ma, per i DB e le applicazioni molto “write intensive” vengono preferite ancora oggi configurazioni in RAID 1.
Le implementazioni di RAID 6 sono le più disparate e alcune eliminano, almeno in parte, la write penalty. Alcuni vendor, infatti, hanno messo a punto alcune sofisticazioni che posso attenuare il peso del calcolo della doppia parità.
NetApp, ad esempio, ha implementato una sua versione di RAID 6 che si chiama RAID-DP. Il RAID-DP è una evoluzione del RAID 4 (altro sistema di protezione simile al RAID 5 sempre utilizzato negli array NetApp). Il RAID-DP non aggiunge molto a quanto già conosciuto in precedenza con il RAID 4 ma, distribuendo i blocchi scritti in maniera differente da quanto fatto con il RAID a singola parità (diagonalmente) si ottiene un meccanismo molto più resiliente. Inoltre, l’implementazione specifica di questo particolare tipo di RAID 6 permette dei tempi di ricostruzioni molto rapidi.
Compellent, ha invece un approccio diverso e basato sulla sua funzionalità principe: la data progression. Il RAID 6 ha una implementazione più tradizionale (quindi lenta in scrittura) ma i singoli blocchi vengono sempre scritti in RAID 10 e poi convertiti, in modo asincrono e in background. Anche questo approccio risulta molto efficiente e garantisce al cliente adeguata protezione e performance.