È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

Ciao Habr! In questo articolo ti diremo se vale la pena organizzare array RAID basati su soluzioni a stato solido SSD SATA e SSD NVMe e ci sarà un serio profitto da questo? Abbiamo deciso di esaminare questo problema considerando i tipi e i tipi di controller che consentono ciò, nonché l'ambito di applicazione di tali configurazioni.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

In un modo o nell'altro, ognuno di noi almeno una volta nella vita ha sentito definizioni come "RAID", "RAID-array", "RAID-controller", ma difficilmente abbiamo attribuito seria importanza a questo, perché tutto questo è improbabile per un normale boiardo PC. Interessante. Ma tutti vogliono velocità elevate dalle unità interne e funzionamento senza problemi. Dopotutto, non importa quanto sia potente l’hardware del computer, la velocità dell’unità diventa un collo di bottiglia quando si tratta delle prestazioni combinate di PC e server.

Questo era esattamente il caso fino a quando i tradizionali HDD non sono stati sostituiti dai moderni SSD NVMe con capacità comparabili di 1 TB o più. E se prima nei PC c'erano spesso combinazioni di SSD SATA + un paio di capienti HDD, oggi iniziano a essere sostituite da un'altra soluzione: SSD NVMe + un paio di capienti SSD SATA. Se parliamo di server aziendali e “cloud”, molti sono già passati con successo agli SSD SATA, semplicemente perché sono più veloci dei tradizionali “barattoli di latta” e sono in grado di elaborare un numero maggiore di operazioni I/O contemporaneamente.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

Tuttavia, la tolleranza agli errori del sistema è ancora a un livello piuttosto basso: non possiamo, come nella "Battaglia di sensitivi", prevedere con una precisione anche fino a una settimana quando un particolare disco a stato solido morirà. E se gli HDD “muoiono” gradualmente, permettendoti di cogliere i sintomi e agire, gli SSD “muoiono” immediatamente e senza preavviso. E ora è il momento di capire perché tutto questo è necessario? Vale la pena organizzare array RAID basati su soluzioni a stato solido SSD SATA e SSD NVMe e ci sarà un serio profitto da questo?

Perché hai bisogno di un array RAID?

La stessa parola "array" implica già che per crearlo vengono utilizzate diverse unità (HDD e SSD), che vengono combinate utilizzando un controller RAID e riconosciute dal sistema operativo come un unico archivio dati. Il compito globale che gli array RAID possono risolvere è quello di ridurre al minimo il tempo di accesso ai dati, aumentando la velocità di lettura/scrittura e l'affidabilità, risultato ottenuto grazie alla capacità di ripristinare rapidamente in caso di guasto. A proposito, non è affatto necessario utilizzare RAID per i backup domestici. Ma se hai il tuo server domestico, al quale hai bisogno di un accesso costante 24 ore su 7, XNUMX giorni su XNUMX, la questione è diversa.

Esistono oltre una dozzina di livelli di array RAID, ognuno dei quali differisce per il numero di unità utilizzate e presenta vantaggi e svantaggi: ad esempio, RAID 0 consente di ottenere prestazioni elevate senza tolleranza agli errori, RAID 1 consente di rispecchia automaticamente i dati senza aumentare la velocità e RAID 10 combina contiene le possibilità di cui sopra. RAID 0 e 1 sono i più semplici (poiché non richiedono calcoli software) e, di conseguenza, i più popolari. In definitiva, la scelta a favore dell'uno o dell'altro livello RAID dipende dai compiti assegnati all'array di dischi e dalle capacità del controller RAID.

RAID domestico e aziendale: qual è la differenza?

La base di qualsiasi azienda moderna sono grandi volumi di dati che devono essere archiviati in modo sicuro sui server aziendali. Inoltre, come abbiamo notato sopra, deve essere garantito loro un accesso costante 24 ore su 7, XNUMX giorni su XNUMX. È chiaro che, insieme all'hardware, è importante anche la parte software, ma in questo caso parliamo pur sempre di apparecchiature che garantiscono l'archiviazione e l'elaborazione affidabile delle informazioni. Nessun software salverà un'azienda dalla rovina se l'hardware non soddisfa i compiti ad esso assegnati.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

Per questi compiti, qualsiasi produttore di hardware offre i cosiddetti dispositivi aziendali. Kingston offre potenti soluzioni a stato solido sotto forma di modelli SATA Kingston 450R (DC450R) и Serie DC500, così come i modelli NVMe DC1000M U.2 NVMe, DCU1000 U.2 NVMe e DCP-1000 PCI-e, destinati all'uso nei data center e nei supercomputer. Gli array di tali unità vengono solitamente utilizzati insieme ai controller hardware.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

Per il mercato consumer (ovvero per PC domestici e server NAS), unità come Kingston KC2000 NVMe PCIe, ma in questo caso non è necessario acquistare un controller hardware. Puoi limitarti a un PC o un server NAS integrato nella scheda madre, a meno che, ovviamente, non prevedi di assemblare tu stesso un server domestico per compiti atipici (avviare un piccolo hosting domestico per gli amici, ad esempio). Inoltre, gli array RAID domestici, di norma, non richiedono centinaia o migliaia di unità, essendo limitati a due, quattro e otto dispositivi (solitamente SATA).

Tipi e tipi di controller RAID

Esistono tre tipi di controller RAID basati sui principi di implementazione degli array RAID:

1. Software, in cui la gestione dell'array ricade sulla CPU e sulla DRAM (ovvero, il codice del programma viene eseguito sul processore).

2. Integrato, cioè integrato nella scheda madre di un PC o server NAS.

3. Hardware (modulare), ovvero schede di espansione discrete per connettori PCI/PCIe sulle schede madri.

Qual è la loro differenza fondamentale l'uno dall'altro? I controller RAID software sono inferiori a quelli integrati e hardware in termini di prestazioni e tolleranza agli errori, ma non richiedono apparecchiature speciali per funzionare. Tuttavia, è importante garantire che il processore del sistema host sia sufficientemente potente da eseguire il software RAID senza influire negativamente sulle prestazioni delle applicazioni in esecuzione anche sull'host. I controller integrati sono solitamente dotati di una propria memoria cache e utilizzano una certa quantità di risorse della CPU.

Ma quelli hardware hanno sia la propria memoria cache che un processore integrato per l'esecuzione di algoritmi software. In genere, consentono di implementare tutti i tipi di livelli RAID e supportare diversi tipi di unità contemporaneamente. Ad esempio, i moderni controller hardware di Broadcom possono connettere contemporaneamente dispositivi SATA, SAS e NVMe, il che consente di non cambiare controller durante l'aggiornamento dei server: in particolare, quando si passa da SSD SATA a SSD NVMe, i controller non devono essere cambiati.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

In realtà con questa nota arriviamo alla tipologia dei controller stessi. Se ce ne sono quelli a tre modalità, dovrebbero essercene altri? In questo caso, la risposta a questa domanda sarà affermativa. A seconda delle funzioni e delle capacità, i controller RAID possono essere suddivisi in diversi tipi:

1. Controller ordinari con funzione RAID
Nell'intera gerarchia, questo è il controller più semplice che consente di combinare HDD e SSD in array RAID di livello “0”, “1” o “0+1”. Questo è implementato a livello di programmazione a livello di firmware. Tuttavia, tali dispositivi difficilmente possono essere consigliati per l'uso nel segmento aziendale, perché non dispongono di cache e non supportano array di livelli “5”, “3”, ecc. Ma per un server domestico entry-level sono abbastanza adatti.

2. Controller che funzionano in tandem con altri controller RAID
Questo tipo di controller può essere accoppiato con controller integrati nella scheda madre. Questo viene implementato secondo il seguente principio: un controller RAID discreto si occupa di risolvere i problemi "logici" e quello integrato assume le funzioni di scambio di dati tra le unità. Ma c'è una sfumatura: il funzionamento parallelo di tali controller è possibile solo su schede madri compatibili, il che significa che il loro campo di applicazione è seriamente limitato.

3. Controller RAID autonomi
Queste soluzioni discrete contengono a bordo tutti i chip necessari per funzionare con server di classe enterprise, dotati di BIOS, memoria cache e processore per una rapida correzione degli errori e calcoli del checksum. Inoltre, soddisfano elevati standard di affidabilità in termini di produzione e dispongono di moduli di memoria di alta qualità.

4. Controller RAID esterni
Non è difficile intuire che tutti i controller sopra elencati sono interni e ricevono alimentazione tramite il connettore PCIe della scheda madre. Cosa significa questo? E quel guasto della scheda madre può portare a errori nel funzionamento dell'array RAID e alla perdita di dati. I controller esterni sono liberati da questo malinteso, poiché sono alloggiati in un case separato con un alimentatore indipendente. In termini di affidabilità, tali controller forniscono il massimo livello di archiviazione dei dati.

Broadcom, Microsemi Adaptec, Intel, IBM, Dell e Cisco sono solo alcune delle aziende che attualmente offrono controller RAID hardware.

Modalità operative dei controller RAID SAS/SATA/NVMe

Lo scopo principale dei controller HBA e RAID tri-mode (o dei controller con funzionalità Tri-Mode) è creare RAID hardware basato su NVMe. I controller della serie 9400 di Broadcom possono farlo: ad esempio, MegaRAID9460-16i. Appartiene ad una tipologia di controller RAID indipendente, è dotato di quattro connettori SFF-8643 e, grazie al supporto Tri-Mode, consente di collegare contemporaneamente unità SATA/SAS e NVMe. Inoltre, è anche uno dei controller più efficienti dal punto di vista energetico sul mercato (consuma solo 17 Watt di energia, con meno di 1,1 Watt per ciascuna delle 16 porte).

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

L'interfaccia di connessione è PCI Express x8 versione 3.1, che consente un throughput di 64 Gbit/s (i controller per PCI Express 2020 dovrebbero apparire nel 4.0). Il controller a 16 porte si basa su un chip a 2 core SAS3516 e SDRAM DDR72-4 a 2133 bit (4 GB), oltre alla possibilità di connettere fino a 240 unità SATA/SAS o fino a 24 dispositivi NVMe. In termini di organizzazione degli array RAID, sono supportati i livelli “0”, “1”, “5” e “6”, nonché “10”, “50” e “60”. A proposito, memoria cache MegaRAID9460-16i e altri controller della serie 9400 sono protetti da interruzioni di tensione tramite il modulo opzionale CacheVault CVPM05.

La tecnologia a tre modalità si basa sulla funzione di conversione dei dati SerDes: conversione della rappresentazione seriale dei dati nelle interfacce SAS/SATA in forma parallela in PCIe NVMe e viceversa. Cioè, il controller negozia velocità e protocolli per funzionare perfettamente con uno qualsiasi dei tre tipi di dispositivi di archiviazione. Ciò fornisce un modo semplice per scalare le infrastrutture dei data center: gli utenti possono utilizzare NVMe senza apportare modifiche significative ad altre configurazioni di sistema.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

Tuttavia, quando si pianificano configurazioni con unità NVMe, vale la pena considerare che le soluzioni NVMe utilizzano 4 corsie PCIe per la connessione, il che significa che ciascuna unità utilizza tutte le linee di porte SFF-8643. Risulta che solo quattro unità NVMe possono essere collegate direttamente al controller MegaRAID 9460-16i. Oppure limitati a due soluzioni NVMe collegando contemporaneamente otto unità SAS (vedi schema di collegamento di seguito).

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

La figura mostra l'utilizzo del connettore “0” (C0 / Connettore 0) e del connettore “1” per le connessioni NVMe, nonché dei connettori “2” e “3” per le connessioni SAS. Questa disposizione può essere invertita, ma ciascuna unità NVMe x4 deve essere collegata utilizzando corsie adiacenti. Le modalità operative del controller vengono impostate tramite le utilità di configurazione StorCLI o Human Interface Infrastructure (HII), che operano nell'ambiente UEFI.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

La modalità predefinita è il profilo "PD64" (supporta solo SAS/SATA). Come abbiamo detto sopra, ci sono tre profili in totale: la modalità “SAS/SATA only mode” (PD240 / PD64 / PD 16), la modalità “NVMe only mode” (PCIe4) e una modalità mista in cui tutti i tipi di unità può funzionare: "PD64 -PCIe4" (supporto per 64 dischi fisici e virtuali con 4 unità NVMe). In modalità mista, il valore del profilo specificato deve essere "ProfileID=13". A proposito, il profilo selezionato viene salvato come master e non viene ripristinato nemmeno quando si ripristinano le impostazioni di fabbrica tramite il comando Set Factory Defaults. Può essere modificato solo manualmente.

Vale la pena creare un array RAID su un SSD?

Quindi, abbiamo già capito che gli array RAID sono la chiave per ottenere prestazioni elevate. Ma vale la pena creare RAID da SSD per uso domestico e aziendale? Molti scettici affermano che l'aumento della velocità non è così significativo da spendere in lusso sulle unità NVMe. Ma è davvero così? Difficilmente. La limitazione più grande all'utilizzo degli SSD in RAID (sia a livello domestico che aziendale) potrebbe essere proprio il prezzo. Qualunque cosa si possa dire, il costo di un gigabyte di spazio su un HDD è molto più economico.

Il collegamento di più "unità" a stato solido a un controller RAID per creare un array SSD può avere un enorme impatto sulle prestazioni in determinate configurazioni. Tuttavia, non dimenticare che le prestazioni massime sono limitate dalla velocità effettiva del controller RAID stesso. Il livello RAID che offre le migliori prestazioni è RAID 0.

È necessario creare un array RAID da un SSD e quali controller sono necessari per questo?

Un RAID 0 convenzionale con due SSD, che utilizza un metodo di suddivisione dei dati in blocchi fissi e di loro striping sullo storage a stato solido, si tradurrà in prestazioni doppie rispetto a un singolo SSD. Tuttavia, un array RAID 0 con quattro SSD sarà già quattro volte più veloce dell'SSD più lento dell'array (a seconda della limitazione della larghezza di banda a livello del controller SSD RAID).

Basandosi su una semplice operazione aritmetica, un SSD SATA è circa 3 volte più veloce di un tradizionale HDD SATA. Le soluzioni NVMe sono ancora più efficienti: 10 volte o più. A condizione che due dischi rigidi in un RAID a livello zero mostrino il doppio delle prestazioni, aumentandole del 50%, due SSD SATA saranno 6 volte più veloci e due SSD NVMe saranno 20 volte più veloci. In particolare, una singola unità Kingston KC2000 NVMe PCIe può raggiungere velocità di lettura e scrittura sequenziali fino a 3200 MB/s, che nel formato RAID 0 raggiungeranno ben 6 GB/s. Inoltre, la velocità di lettura/scrittura di blocchi casuali di 4 KB passerà da 350 IOPS a 000 IOPS. Ma... allo stesso tempo, il RAID “zero” non ci fornisce ridondanza.

Si può dire che negli ambienti domestici la ridondanza di archiviazione di solito non è necessaria, quindi la configurazione RAID più adatta per gli SSD diventa davvero RAID 0. Questo è un modo affidabile per ottenere miglioramenti significativi delle prestazioni come alternativa all'utilizzo di tecnologie come quelle basate su Intel Optane. SSD. Ma di come si comportano le soluzioni SSD nei tipi RAID più diffusi (“1”, “5”, “10”, “50”) parleremo nel nostro prossimo articolo.

Questo articolo è stato preparato con il supporto dei nostri colleghi di Broadcom, che forniscono i loro controller agli ingegneri Kingston per i test con unità SATA/SAS/NVMe di classe enterprise. Grazie a questa simbiosi amichevole, i clienti non devono dubitare dell'affidabilità e della stabilità delle unità Kingston con HBA e controller RAID dalla produzione. Broadcom.

Per ulteriori informazioni sui prodotti Kingston, visitare il sito sul sito ufficiale azienda.

Fonte: habr.com

Aggiungi un commento