Frage Verbessert ein RAID-Controller mit einem NV-Cache die Leistung oder Integrität eines SSD-Arrays?


Ich plane, einen Server (Dell PowerEdge R740) mit SSDs in RAID 10 zu kaufen, und meine Prioritäten sind Schreibleistung und Datenintegrität. Es wird Linux laufen. Die SSDs verfügen über Schreibcaches mit Verlustleistungsschutz.

Es scheint, dass dies meine RAID-Optionen sind:

  • PERC H330 (kein Cache), Software-RAID (Pass-Through)
  • PERC H330 (kein Cache), Hardware-RAID (Durchschreiben)
  • PERC H730P (2 Gb NV-Cache), Hardware-RAID (Durchschreibe)
  • PERC H740P (8 Gb NV-Cache), Hardware-RAID (Durchschreiben)

Meine Fragen:

  • Besteht bei einer dieser Konfigurationen ein Risiko für Datenverlust oder Beschädigung bei Stromausfall?
  • Welche Konfiguration sollte die beste Schreibleistung haben?
  • Gibt es andere Vorteile für einen NV-Cache, die ich nicht berücksichtigt habe?

Verwandte Fragen:


19
2017-10-03 20:00


Ursprung


Hardware-RAID-Controller-Setups, die von SSDs unterstützt werden, können mit weniger als dem erwarteten maximalen Durchsatz ausgeführt werden, wenn Write-Back-Caching aktiviert ist. Aber ich sehe, dass Sie nur den Durchschreibvorgang bereits in Erwägung ziehen, also scheinen Sie sich dessen bewusst zu sein. - the-wabbit


Antworten:


Bei Verwendung mit SSDs ohne Durch den Powerloss-geschützten Schreib-Cache ist der NVCACHE des RAID-Controllers extrem wichtig, um eine gute Leistung zu erzielen.

Wie Sie jedoch SSDs verwenden mit Powerloss-geschützte Schreib-Caches, die Performance sollte zwischen den verschiedenen Optionen nicht viel variieren. Auf der anderen Seite gibt es andere Faktoren zu beachten:

  • Mit Hardware-RAID ist es oft einfacher, eine ausgefallene Festplatte zu identifizieren und zu ersetzen: Der Controller markiert das betroffene Laufwerk eindeutig (z. B. mit einem gelben Licht), und das Ersetzen ist in der Regel so einfach wie das alte Laufwerk / das neue Laufwerk einzusetzen. Bei einer Software-RAID-Lösung müssen Sie die entsprechenden Befehle eingeben, um das fehlerhafte Laufwerk zu identifizieren und zu ersetzen.
  • Hardware-RAID präsentiert dem BIOS ein einzelnes Volume zum Booten, während Software-RAID die verschiedenen Komponentengeräte anzeigt;
  • Mit dem richtigen Controller (zB: H730 oder H740) und Festplatten (SAS 4Kn) können Sie sehr einfach das erweiterte Datenintegritätsfeld (T10 / T13) aktivieren;
  • Hardware-RAID führt ein opakes, binäres Blob aus, auf das Sie keinen Einfluss haben.
  • Linux-Software-RAID ist viel flexibler als jedes Hardware-RAID, das ich jemals benutzt habe.

In diesem Zusammenhang rate ich Ihnen dringend, ZFS unter Linux zu verwenden: Die Powerloss-geschützten Schreib-Caches bedeuten, dass Sie ohne ein dediziertes ZIL-Gerät arbeiten können und ZFS-hinzugefügte Funktionen (Komprimierung, Prüfsummen, usw.) sehr nützlich sein können .

Um direkt auf Ihre Fragen zu antworten:

  1. Besteht bei einer dieser Konfigurationen ein Risiko für Datenverlust oder Beschädigung bei Stromausfall? Nein: Da Caches geschützt sind, sollten Sie keine Daten über Stromverluste korrumpieren.
  2. Welche Konfiguration sollte die beste Schreibleistung haben? Das H740P wurde in konfiguriert Zurückschreibe-Cache-Modus sollte Ihnen die absolute maximale Schreibleistung geben. Unter bestimmten Umständen kann das Durchschreiben jedoch schneller vonstatten gehen. DELL- (und LSI-) Controller haben sogar einige spezifische SSD-Funktionen (zB CTIO und FastPath), die auf Durchschreibefunktionen aufbauen und Ihre Schreibleistung erhöhen können.
  3. Gibt es andere Vorteile für einen NV-Cache, die ich nicht berücksichtigt habe?Ja: Ein Controller mit einem richtigen NVCACHE wird noch nie Lass die beiden RAID1 / 10-Zweige unterschiedliche Daten haben. Unter bestimmten Umständen ist Linux Software RAID anfällig für (harmlose) RAID1 stimmt nicht überein. ZFS leidet nicht unter diesem Problem.

16
2017-10-03 21:25



Einige gute praktische Überlegungen, danke! - M. Dudley
ZFS ist mehr als nur ein RAID: es hat variable Paritätsstreifen, so dass es keine Ready-Modify-Write oder "Write Hole" gibt. Anstelle eines Seitencaches hat es auch ARC erweitert. Es gibt eine Sache, die es vermisst: NV RAM ... die mit NV-DIMM-Integration gelöst werden kann :) - BaronSamedi1958


Q1: Besteht eine dieser Konfigurationen aus Risiko für Datenverlust oder?   Korruption bei Stromausfall?

A1: Sie sollten keine Probleme haben, es sei denn, Sie konfigurieren den Cache im Write-Back-Modus und ohne NV-RAM.

Q2: Welche Konfiguration sollte ich erwarten, um den besten Schreibvorgang zu haben   Performance?

A2: Einer hat offensichtlich die größte Menge an Cache! ... und kein Parity-RAID, aber natürlich RAID10.

F3: Gibt es andere Vorteile für einen NV-Cache, die ich nicht habe?   berücksichtigt?

A3: Schreibe Verschmelzen, Spoofing usw. Aber das sind wirklich kleine.


12
2017-10-03 20:39



Ich war mir nicht sicher, ob der Cache helfen würde, weil ich gelesen habe, dass die Neuordnung von Schreibvorgängen keine großen Auswirkungen auf SSDs hat und weil die SSDs eigene Schreib-Caches haben. - M. Dudley
@ M.Dudley ja, sie haben Caches, aber so etwas kann man nicht haben zu viel Cache. Cache ist gut, je mehr Cache, desto besser. - ThoriumBR
@M. Dudley: RAID-Controller verfügt über Gigabytes an Cache, die hinter PCIe-x4-x8-Lanes-Bus mit vergleichsweise schneller und niedriger Latenz liegen, während SSD-Caches in Megabyte liegen und hinter 6-12 Gbps SATA / SAS-Links liegen. - BaronSamedi1958
@ BaronSamedi1958 ist es nicht so viel wie es scheint es würde. "Gigabyte an Cache" ist auf das gesamte von Ihnen definierte logische Volume verteilt, so dass es auf eine einzelne Festplatte heruntergebrochen werden kann, die auf nur einige Megabyte pro Festplatte herunterkommt. Auch das datierte Samsung 850 Pro kam mit 1 GB DRAM-Cache, knapp die Hälfte des gesamten Cache des H730P. Last but not least: Die SAS3-Schnittstelle liefert 12 GB / s über eine einzelne Verbindung und übertrifft damit die x8 PCIe 3-Lanes, an die die RAID-Controller normalerweise angeschlossen sind. - the-wabbit
@ the-wabbit Während ich generell mit Ihnen übereinstimme, ist Ihre Bandbreitenberechnung falsch: SAS3 hat 12 Gb / s oder 1,5 GB / s pro Richtungsmaximum. Ein PCI-E 8x hat eine maximale Bandbreite von 128 Gb / s oder 16 GB / s pro Richtung. Darüber hinaus hängt der SAS-Controller im Allgemeinen von einer vorgeschalteten PCI-E-Verbindung, ebenso wie der RAID-Controller. - shodanshok


Vielleicht möchten Sie Bonnie ++ verwenden, um Tests auf Server Raid-Karten / Perc vs SSD zu machen. die Festplatte Geschwindigkeiten von 5k / 10 / 16k rpm oder Hybrid-Laufwerke variieren die Statistiken und Cache-Nutzung.

ein anderer Befürworter für ZFS .. Ich begann Mitte der 90er Jahre damit, SGIs Server zu benutzen und ZFS löste die Punkte von allem, was mit UFS / ext2 / 3 zusammenhing.


0
2017-10-04 11:02





Zusätzlich zu den guten Antworten oben: ein Gegenstand oft vergessen, aber für die erweiterte Integrität von irgendein RAID ist Datenschrubben aka Medienpatrouille oder Patrouille lesen. Dies stellt sicher, dass alle Daten auf allen Festplatten über einen längeren Zeitraum lesbar sind.

Ohne Scrubbing ist es möglich - und nach längerer Zeit und einer großen Anzahl von Sektoren sogar wahrscheinlich -, dass Datensektoren, die seit sehr langer Zeit nicht mehr genutzt werden, nicht mehr lesbar sind. Im normalen Betriebsmodus ist dies kein Problem, da der fehlerhafte Sektor unter Verwendung von Redundanzdaten rekonstruiert werden kann. Wenn jedoch eine Festplatte schlägt fehl Sie haben bereits Redundanz verloren (mit Ausnahme von RAID 6 oder verschachtelten RAID-Levels) und wenn ein fehlerhafter Sektor während der Wiederherstellung auftaucht, sind Sie tot im Wasser.

So, Aktivieren Sie immer das Daten-Scrubbing es sei denn du magst böse Überraschungen.


0
2017-10-04 11:20