Un controller RAID con una cache NV migliora le prestazioni o l'integrità di un array SSD?


20

Ho intenzione di acquistare un server (Dell PowerEdge R740) con SSD in RAID 10 e le mie priorità sono le prestazioni di scrittura e l'integrità dei dati. Eseguirà Linux. Gli SSD hanno cache di scrittura con protezione dalla perdita di potenza.

Sembra che queste siano le mie opzioni RAID:

  • PERC H330 (senza cache), RAID software (pass-through)
  • PERC H330 (senza cache), RAID hardware (write-through)
  • PERC H730P (cache NV da 2 Gb), RAID hardware (write-through)
  • PERC H740P (cache NV da 8 Gb), RAID hardware (write-through)

Le mie domande:

  • Alcune di queste configurazioni sono a rischio di perdita di dati o corruzione in caso di interruzione dell'alimentazione?
  • Quale configurazione dovrei aspettarmi per avere le migliori prestazioni di scrittura?
  • Ci sono altri vantaggi in una cache NV che non ho considerato?

Domande correlate:


1
Contro-intuitivamente, le configurazioni del controller RAID hardware supportate da SSD potrebbero funzionare con un throughput massimo previsto quando è abilitata la memorizzazione nella cache di write-back. Ma vedo che stai già prendendo in considerazione solo la scrittura, quindi sembri esserne consapevole.
the-wabbit,

Risposte:


16

Se utilizzato con SSD senza cache di scrittura protetta da perdita di potenza, NVCACHE del controller RAID è estremamente importante per ottenere buone prestazioni.

Tuttavia, poiché si utilizzano SSD con cache di scrittura protette da powerloss, le prestazioni non devono variare molto tra le varie opzioni. D'altra parte, ci sono altri fattori da considerare:

  • con hardware RAID è spesso più semplice identificare e sostituire un disco guasto: il controller contrassegna chiaramente l'unità interessata (ad es. con una luce ambra) e sostituirla è generalmente semplice come estrarre la vecchia unità / inserire quella nuova. Con una soluzione RAID software, è necessario immettere i comandi appropriati per identificare e sostituire l'unità guasta;
  • l'hardware RAID presenta al BIOS un unico volume per l'avvio, mentre il RAID software mostra i vari dispositivi componenti;
  • con il controller giusto (es: H730 o H740) e dischi (SAS 4Kn) è possibile abilitare molto facilmente il campo esteso di integrità dei dati (T10 / T13);
  • l'hardware RAID esegue un BLOB binario opaco su cui non si ha alcun controllo;
  • Il RAID software Linux è molto più flessibile di qualsiasi RAID hardware che abbia mai usato.

Detto questo, su una tale configurazione ti consiglio vivamente di prendere in considerazione l'uso di ZFS su Linux: le cache di scrittura protette da powerloss ti consentono di andare avanti senza un dispositivo ZIL dedicato e le funzionalità aggiunte di ZFS (compressione, checksum, ecc.) Possono essere molto utili .

Per rispondere direttamente alle tue domande:

  1. Alcune di queste configurazioni sono a rischio di perdita di dati o corruzione in caso di interruzione dell'alimentazione? No: poiché qualsiasi cache è protetta, non dovresti corrompere alcun dato relativo alla perdita di potenza.
  2. Quale configurazione dovrei aspettarmi per avere le migliori prestazioni di scrittura? L'H740P configurato in modalità cache write-back dovrebbe offrire le massime prestazioni di scrittura. Tuttavia, in alcune circostanze, a seconda del carico di lavoro specifico, la scrittura può essere più veloce. I controller DELL (e LSI) hanno anche alcune caratteristiche SSD specifiche (es. CTIO e FastPath) che si basano sul write-through e possono aumentare le prestazioni di scrittura casuali.
  3. Ci sono altri vantaggi in una cache NV che non ho considerato? Sì: un controller con un NVCACHE adeguato non consentirà mai ai due piedini RAID1 / 10 di avere dati diversi. In alcune circostanze, il software RAID RAID è soggetto a (innocui) disallineamenti RAID1 . ZFS non soffre di questo problema.

2
ZFS è molto più di un RAID: ha strisce di parità variabili, quindi non c'è nessun ready-edit-write o "write hole". Inoltre al posto di una cache di pagina ha ARC avanzato. C'è una cosa che manca: NV RAM ... che può essere risolta con l'integrazione NV DIMM :)
BaronSamedi1958

13

Q1: c'è una di queste configurazioni a rischio di perdita di dati o corruzione in caso di interruzione dell'alimentazione?

A1: Non dovresti avere problemi, a meno che non configuri la cache in modalità write-back e senza RAM NV.

D2: Quale configurazione devo aspettarmi per avere le migliori prestazioni di scrittura?

A2: Uno con la maggior quantità di cache ovviamente! ... e nessun RAID di parità, ma RAID10 ovviamente.

Q3: ci sono altri vantaggi in una cache NV che non ho preso in considerazione?

A3: Scrivi coalescing, spoofing ecc. Ma questi sono davvero minori.


Non ero sicuro che la cache sarebbe stata utile perché ho letto che il riordino della scrittura non influisce molto sugli SSD e perché gli SSD hanno le loro cache di scrittura.
M. Dudley,

@ M.Dudley sì, hanno cache, ma non puoi avere troppa cache . La cache è buona, più cache meglio è.
TorioBR

7
@M. Dudley: il controller RAID ha gigabyte di cache dietro bus corsie PCIe x4-x8 relativamente veloci ea bassa latenza, mentre le cache SSD sono in megabyte e si trovano dietro i collegamenti SATA / SAS a 6-12 Gbps.
Baron Samam1958,

@ BaronSamedi1958 non importa tanto come potrebbe sembrare. "Gigabyte di cache" si sviluppa su tutto il volume logico che hai definito, quindi suddiviso in un singolo disco potrebbe ridursi a pochi megabyte per disco. Inoltre, anche il Samsung 850 Pro datato veniva fornito con 1 GB di cache DRAM, circa la metà dell'intera cache dell'H730P. Ultimo ma non meno importante: l'interfaccia SAS3 fornisce 12 GB / s su un singolo collegamento, superando le corsie PCIe 3 x8 a cui sono tipicamente collegati i controller RAID.
the-wabbit,

2
@ the-wabbit mentre generalmente sono d'accordo con te, il tuo calcolo della larghezza di banda è errato: SAS3 ha 12 Gb / so 1,5 GB / s al massimo per direzione. Un PCI-E 8x ha una larghezza di banda massima di 128 Gb / so 16 GB / s per direzione. Inoltre, il controller SAS stesso pende generalmente da un collegamento PCI-E upstream, proprio come il controller RAID.
shodanshok,

0

Potresti voler usare Bonnie ++ per fare test su carte raid del server / Perc vs SSD. la velocità dell'HDD 5k / 10 / 16k rpm o le unità ibride varieranno le statistiche e l'utilizzo della cache.

un altro sostenitore di ZFS .. Ho iniziato a utilizzare i server SGI a metà degli anni '90 e ZFS ha eliminato tutti gli aspetti relativi a UFS / ext2 / 3 ... è a prova di bomba.


0

Oltre alle buone risposte di cui sopra: un elemento spesso dimenticato ma necessario per l'integrità estesa di qualsiasi RAID è la pulizia dei dati, ovvero pattugliamento dei media o pattugliamento della lettura . Questo assicura che tutti i dati su tutti i dischi siano leggibili per un tempo prolungato.

Senza ripulire è possibile - e dopo un lungo periodo di tempo e persino un gran numero di settori anche probabili - che i settori di dati che non sono stati utilizzati per molto tempo non sono più leggibili. Nella normale modalità operativa questo non è un problema in quanto il settore danneggiato può essere ricostruito utilizzando i dati di ridondanza. Tuttavia, se un disco si guasta , hai già perso la ridondanza (eccetto RAID 6 o livelli RAID nidificati) e quando un settore danneggiato si presenta durante la ricostruzione, sei morto nell'acqua.

Quindi, abilita sempre lo scrubbing dei dati a meno che non ti piacciano le spiacevoli sorprese.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.