In abbiamo già esaminato la questione "È applicabile RAID su SSD" utilizzando gli elementi di memoria Kingston come esempio, ma lo abbiamo fatto solo nell'ambito del livello zero. In questo articolo, analizzeremo le opzioni per l'uso di soluzioni NVMe professionali e domestiche nei tipi di array RAID più popolari e parleremo della compatibilità dei controller con le unità di Kingston.

Perché è necessario RAID su SSD?
I vantaggi degli array di archiviazione basati su SSD rispetto agli array di archiviazione su dischi rigidi includono una riduzione del tempo di accesso ai dati sull'unità e prestazioni superiori nelle operazioni di lettura/scrittura. Tuttavia, per ottenere prestazioni ottimali del RAID basato su SSD è necessaria una combinazione ideale di CPU, cache, software e hardware. Quando tutti questi fattori funzionano perfettamente insieme, un array RAID di SSD può superare significativamente una configurazione comparabile che utilizza HDD tradizionali.
Un SSD tipico consuma meno energia rispetto ai dischi rigidi, quindi unendo un gran numero di unità a stato solido in un array RAID, il risparmio energetico rispetto a un array RAID di HDD può comportare anche una riduzione dei costi sulle bollette aziendali per l'energia elettrica.
Tuttavia, il RAID SSD ha limitazioni e svantaggi: in particolare, un costo maggiore per gigabyte di spazio rispetto ai dischi rigidi di capacità comparabile. Inoltre, la durata della memoria flash può essere limitata a un certo numero di cicli di scrittura. Ciò significa che gli SSD hanno un limite alla loro durata, che dipende dall'utilizzo: più spesso le informazioni vengono riscritte su di essi, più velocemente l'unità si guasta. D'altra parte, le unità SSD aziendali hanno una durata accettabile, comparabile a quella dei dischi rigidi meccanici.
Come vivono gli SSD Kingston in modalità RAID con i controller Broadcom
All'alba della comparsa degli SSD, le configurazioni RAID presentavano molte complessità. Questo anche a causa dell'uso di dischi HDD meno affidabili. Gli SSD sono molto più affidabili dei loro omologhi basati su dischi magnetici. Come sappiamo, nelle soluzioni SSD non ci sono elementi in movimento, quindi i danni meccanici sono praticamente nulli. È anche poco probabile che gli SSD si guastino a causa di picchi di tensione, dato che a livello di PC domestico e di qualsiasi server si è protetti da UPS, filtri di rete e persino dall'alimentatore.
Inoltre, gli SSD hanno un altro vantaggio significativo: anche se le celle di memoria si consumano durante la scrittura, è comunque possibile leggere i dati da esse, mentre nel caso di danni a un disco magnetico, purtroppo, non è così.

Oggi è assolutamente normale utilizzare soluzioni SSD in array RAID di vari livelli. L'importante è scegliere gli SSD giusti, la cui latenza è minimale. Inoltre, sarebbe ideale utilizzare SSD dello stesso produttore e dello stesso modello, per evitare di mescolare dispositivi che supportano diverse tipologie di carico e sono basati su vari tipi di memoria, controller e altre tecnologie. Quindi, se abbiamo deciso di acquistare quattro o 16 SSD NVMe della Kingston per creare un array RAID, è meglio che siano tutti della stessa serie e dello stesso modello.
A proposito, in abbiamo citato i controller Broadcom quando parlavamo degli SSD NVMe della Kingston. Il motivo è che nei manuali di questi dispositivi vengono elencati immediatamente i dispositivi compatibili (inclusi quelli dell'americano produttore di SSD sopra menzionato), con cui il controller funzionerà senza problemi. È su queste informazioni che bisogna fare affidamento nella scelta di un abbinamento "controller-SSD" per il RAID.
Analizziamo il funzionamento degli SSD Kingston nei tipi di RAID più popolari — “1”, “5”, “10”, “50”
Quindi, il livello RAID "zero" non fornisce ridondanza dei dati, ma aumenta semplicemente le prestazioni. RAID 0 non offre alcuna protezione dei dati, quindi nel contesto aziendale non lo considereremo. RAID 1, d'altro canto, offre una completa ridondanza, ma solo un modesto incremento delle prestazioni, quindi dovrebbe essere preso in considerazione solo se l'aumento delle prestazioni non è un fattore critico nella creazione di un array RAID con SSD.
RAID 1 basato su SSD Kingston e controller Broadcom
Quindi, un array RAID di primo livello basato sul controller Broadcom MegaRAID 9460-16i combina da due a 32 unità Kingston, che sono copie l'una dell'altra, e offre una completa ridondanza. Se con l'uso di HDD tradizionali la velocità di scrittura e lettura dei dati rimaneva a livello di questi HDD, con l'uso di soluzioni NVMe SSD otteniamo un incremento di prestazioni dieci volte superiore. In particolare per quanto riguarda i tempi di accesso ai dati. Ad esempio, con due SSD Kingston DC1000M U.2 NVMe in RAID 1 server, otteniamo 350.000 IOPS in lettura di dati casuali e 75.000 IOPS in scrittura.

Per quanto riguarda la velocità di lettura sequenziale, i risultati corrisponderanno alle specifiche dell'unità — 3200 MB/s. Ma, poiché entrambi gli SSD NVMe sono operativi, i dati possono essere letti da essi simultaneamente, il che rende le operazioni di lettura piuttosto rapide. Tuttavia, la velocità di scrittura (dichiarata essere 2000 MB/s) sarà più lenta, perché ogni operazione di scrittura viene eseguita due volte.

L'array RAID 1 è perfetto per piccole basi di dati o in qualsiasi altro ambiente che richiede tolleranza ai guasti ma con capacità limitata. La creazione di copie speculari delle unità è particolarmente vantaggiosa in scenari di recupero di emergenza (la prestazione in questi casi è leggermente compromessa), poiché garantisce un'immediata "rianimazione" di dati importanti, se una delle unità nell'array si guasta. Ma, poiché questo livello di protezione richiede il raddoppio della capacità per memorizzare la copia speculare dei dati (per memorizzare 100 TB è necessario disporre di 200 TB di spazio), molte aziende utilizzano opzioni di storage più economiche: RAID 5 e RAID 6.
RAID 5 basato su SSD Kingston e controller Broadcom
Per organizzare un array RAID di livello cinque, avremo bisogno di almeno tre unità di archiviazione, i cui dati vengono alternati (scritti ciclicamente su tutte le unità nell'array), ma non duplicati. Nella loro organizzazione, è necessario tenere conto della loro struttura più complessa, poiché qui compare un concetto noto come “somma di parità” (o “parità”). Con questo termine si intende una funzione algebrica logica XOR (che è anche la “O esclusiva”), che impone l'uso di un minimo di tre unità nell'array (massimo – 32). Inoltre, l'informazione sulla parità viene scritta su tutti i “dischi” nell'array.

Per un array composto da quattro SSD SATA Kingston DC500R con una capacità di 3,84 TB ciascuno, otterremo 11,52 TB di spazio e 3,84 per le somme di controllo. E se uniamo in RAID di livello cinque 16 unità NVMe Kingston DC1000M U.2 con una capacità di 7,68 TB – otteniamo 115,2 TB con una perdita di 7,68 TB. Come vedete, più unità ci sono, migliore sarà il risultato. È meglio anche perché maggiore è il numero di unità nel RAID 5, più alta sarà la prestazione complessiva nelle operazioni di scrittura. La lettura lineare raggiungerà il livello del RAID 0.

Il gruppo di dischi RAID 5 offre un'elevata larghezza di banda (specialmente per file di grandi dimensioni) e ridondanza con una minima perdita di potenza. Questo tipo di organizzazione dell'array è più indicato per le reti che eseguono molte piccole operazioni di input-output (I / O) simultaneamente. Tuttavia, non è consigliabile utilizzarlo per compiti che richiedono un gran numero di operazioni di scrittura su blocchi piccoli o minori.
C'è anche un'altra considerazione: in caso di guasto di almeno una delle unità NVMe, il RAID 5 passa in modalità degradata e il guasto di un'altra unità di archiviazione può diventare critico per tutti i dati. In caso di malfunzionamento di un'unità nell'array, il controller RAID utilizza le informazioni sulla parità per ricreare tutti i dati mancanti.
RAID 10 basato su SSD Kingston e controller Broadcom
Quindi, il RAID 0 ci offre un raddoppio della velocità e dei tempi di accesso, mentre il RAID 1 garantisce affidabilità. Idealmente, sarebbe bello combinarli e qui ci viene in aiuto il RAID 10 (o 1+0). La “decina” è composta da quattro SSD SATA o NVMe (massimo 32) e implica un array di “specchi”, il cui numero di unità deve sempre essere un multiplo di quattro. I dati in questo array vengono scritti mediante suddivisione in blocchi fissi (come nel caso del RAID 0) e alternanza tra le unità, distribuendo le copie tra i “dischi” nell'array RAID 1. E grazie alla possibilità di accesso simultaneo a più gruppi di dischi, il RAID 10 mostra prestazioni elevate.

Poiché il RAID 10 è in grado di distribuire i dati su più coppie di specchi, ciò significa che può tollerare il guasto di un'unità in una coppia. Tuttavia, in caso di guasto di entrambe le coppie di specchi (cioè di tutte e quattro le unità), ci sarà una inevitabile perdita di dati. Di fatto, otteniamo anche una buona tolleranza ai guasti e affidabilità. Ma è importante notare che, come il RAID 1, l'array di decimo livello utilizza solo la metà della capacità totale, ed è quindi una soluzione costosa. Inoltre, è complesso da configurare.
Il RAID 10 è adatto per l'uso con archiviazione di dati che richiede il 100% di ridondanza dei gruppi di dischi speculari, oltre a prestazioni di input-output elevate del RAID 0. Questa è la migliore soluzione per database di dimensioni medie o per qualsiasi ambiente che richieda una maggiore tolleranza ai guasti rispetto al RAID 5.
RAID 50 basato su SSD Kingston e controllori Broadcom
Array combinato, simile al RAID di decimo livello, che rappresenta un array di zero livello, creato da array di quinto livello. Come nel caso precedente, l'obiettivo principale di questo array è ottenere prestazioni raddoppiate mantenendo l'affidabilità dei dati negli array RAID 5. In questo modo, il RAID 50 fornisce prestazioni di scrittura migliorate e una migliore protezione dei dati rispetto al RAID 5 standard in caso di guasto di un'unità, oltre a essere in grado di un recupero più rapido in caso di guasto di una delle unità.

Il gruppo di dischi RAID 50 suddivide i dati in blocchi più piccoli e quindi li distribuisce su ciascun array RAID 5. Un gruppo di dischi RAID 5, a sua volta, suddivide anch'esso i dati in blocchi più piccoli, calcola la parità, esegue un'operazione logica OR per i blocchi e poi esegue operazioni di scrittura sui blocchi di dati e di controllo della parità per ciascun disco del gruppo di dischi.
Sebbene le prestazioni inevitabilmente diminuiscano in caso di guasto di uno dei dispositivi, questo non è così significativo come in un array RAID 5, poiché un guasto influisce solo su uno degli array, lasciando l'altro completamente funzionante. In effetti, il RAID 50 può sopportare fino a otto guasti di HDD/SSD/NVMe, a patto che ciascun disco guasto si trovi in un array RAID 5 separato.

Il RAID 50 è migliore per le applicazioni che richiedono alta affidabilità e che devono gestire un grande numero di richieste mantenendo un'alta velocità di trasferimento dati e costi di storage inferiori rispetto a un array RAID 10. Tuttavia, poiché la configurazione di un array RAID 50 richiede un minimo di sei dischi, il costo non può essere completamente trascurato come fattore. Uno degli svantaggi del RAID 50 è che, come il RAID 5, necessita di un controller complesso: come ad esempio nell'articolo precedente di Broadcom.
Vale anche la pena notare che il RAID 50 ha meno spazio disco utilizzabile rispetto al RAID 5 a causa dell'assegnazione di capacità per la registrazione delle informazioni di controllo della parità. Tuttavia, ha ancora più spazio utile rispetto agli altri livelli di RAID, specialmente quelli che utilizzano il mirroring. Con un requisito minimo di sei dischi, il RAID 50 può risultare un'opzione costosa, ma lo spazio disco aggiuntivo giustifica i costi, proteggendo i dati aziendali. Questo tipo di array è raccomandato per la gestione dei dati che richiedono un'alta affidabilità di archiviazione, un'elevata frequenza delle richieste, un'elevata velocità di trasferimento e una grande capacità di archiviazione.
RAID 6 e RAID 60: di loro non ci siamo dimenticati
Dato che abbiamo parlato degli array di quinto e cinquantesimo livello, sarebbe un peccato non menzionare tipi di organizzazione degli array come RAID 6 e RAID 60.

Le prestazioni del RAID 6 sono analoghe a quelle del RAID 5, ma qui almeno due dischi sono dedicati al controllo della parità, il che consente all'array di sopravvivere al guasto di due dischi senza perdita di dati (in RAID 5 una situazione del genere è estremamente indesiderabile). Questo garantisce una maggiore affidabilità. Per il resto, tutto è come in un array di quinto livello: in caso di guasto di uno o due dischi, il controller RAID utilizza i blocchi di parità per ricreare tutte le informazioni mancanti. In caso di guasto di due dischi, il ripristino non avviene contemporaneamente: prima viene ripristinato il primo disco, poi il secondo. In questo modo, vengono eseguite due operazioni di recupero dati.

Non è difficile intuire che, se il RAID 50 rappresenta un array di livello zero composto da array di quinto livello, il RAID 60 è un array di livello zero composto da array di sesto livello, di cui abbiamo appena parlato. In altre parole, tale organizzazione del sistema di archiviazione RAID permette di sopravvivere alla perdita di due SSD in ciascun gruppo di dischi RAID 6. Il principio di funzionamento è simile a quello che abbiamo descritto nella sezione sul RAID 50, ma il numero di guasti che può sopportare un array di sesto livello aumenta da 8 a 16 dischi. Solitamente, questi array vengono utilizzati per servizi online ai clienti che richiedono un'elevata tolleranza ai guasti.
In sintesi:
Sebbene il mirroring offra una maggiore tolleranza ai guasti rispetto al RAID 50/60, richiede anche molto più spazio. Poiché la quantità di dati raddoppia, si ottiene effettivamente solo il 50% della capacità totale dei dischi installati nel server per la scrittura e la memorizzazione delle informazioni. La scelta tra RAID 50/60 e RAID 10 dipenderà probabilmente dai budget disponibili, dalla capacità del server e dalle vostre esigenze di protezione dei dati. In particolare, il costo diventa la priorità quando parliamo di soluzioni SSD (sia di classe enterprise che consumer).
Non meno importante è che ora sappiamo con certezza che un RAID basato su SSD è una soluzione perfettamente sicura e una prassi normale per il business moderno. Anche nell'uso domestico ha senso passare a NVMe, se il budget lo consente. E se avete ancora dubbi su perché tutto ciò sia necessario, tornate all'inizio dell'articolo: abbiamo già fornito una risposta dettagliata.
Questo articolo è stato preparato con il supporto dei nostri colleghi di Broadcom, che forniscono i loro controller agli ingegneri di Kingston per il collaudo con gli storage SATA/SAS/NVMe di livello enterprise. Grazie a questa amicizia sinergica, i clienti possono essere certi dell'affidabilità e della stabilità del funzionamento degli storage Kingston con i controllori HBA e RAID. .
Ulteriori informazioni sui prodotti Kingston possono essere trovate su azienda.
Fonte: habr.com
