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

20

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

Es scheint, dass dies meine RAID-Optionen sind:

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

Meine Fragen:

  • Besteht für eine dieser Konfigurationen das Risiko eines Datenverlusts oder einer Beschädigung aufgrund eines Stromausfalls?
  • Welche Konfiguration sollte ich für die beste Schreibleistung erwarten?
  • Gibt es weitere Vorteile eines NV-Caches, die ich nicht berücksichtigt habe?

Verwandte Fragen:

M. Dudley
quelle
1
Gegen die Intuition könnten von SSDs gesicherte Hardware-RAID-Controller-Setups mit weniger als dem erwarteten maximalen Durchsatz ausgeführt werden, wenn das Write-Back-Caching aktiviert ist. Aber ich sehe, dass Sie nur über ein Durchschreiben nachdenken, also scheinen Sie sich dessen bewusst zu sein.
the-wabbit

Antworten:

16

Bei Verwendung mit SSDs ohne verlustgeschützten Schreibcache ist der NVCACHE-Wert des RAID-Controllers für eine gute Leistung äußerst wichtig.

Da Sie jedoch SSDs mit durch Stromausfall geschützten Schreibcaches verwenden, sollte die Leistung zwischen den verschiedenen Optionen nicht stark variieren. Andererseits sind folgende Faktoren zu berücksichtigen:

  • Mit Hardware-RAID ist es oft einfacher, eine ausgefallene Festplatte zu identifizieren und zu ersetzen: Der Controller markiert das betroffene Laufwerk deutlich (z. B. mit einer gelben LED), und der Austausch ist im Allgemeinen so einfach wie das Ziehen des alten Laufwerks / Einsetzen des neuen Laufwerks. Bei einer Software-RAID-Lösung müssen Sie die entsprechenden Befehle eingeben, um das ausgefallene Laufwerk zu identifizieren und zu ersetzen.
  • Hardware-RAID zeigt dem BIOS ein einzelnes Volume zum Booten an, während Software-RAID die verschiedenen Gerätekomponenten anzeigt.
  • Mit dem richtigen Controller (dh H730 oder H740) und den Festplatten (SAS 4Kn) können Sie das erweiterte Datenintegritätsfeld (T10 / T13) sehr einfach aktivieren.
  • Hardware-RAID führt einen undurchsichtigen, binären Blob aus, auf den Sie keine Kontrolle haben.
  • Linux-Software-RAID ist viel flexibler als jedes Hardware-RAID, das ich jemals verwendet habe.

Trotzdem rate ich Ihnen dringend, bei einem solchen Setup die Verwendung von ZFS unter Linux in Betracht zu ziehen: Der durch Stromausfall geschützte Schreibcache bedeutet, dass Sie auf ein dediziertes ZIL-Gerät verzichten können und ZFS-Funktionen (Komprimierung, Prüfsumme usw.) sehr nützlich sein können .

So beantworten Sie Ihre Fragen direkt:

  1. Besteht für eine dieser Konfigurationen das Risiko eines Datenverlusts oder einer Beschädigung aufgrund eines Stromausfalls? Nein: Da alle Caches geschützt sind, sollten Sie keine Daten über Stromausfälle verfälschen.
  2. Welche Konfiguration sollte ich für die beste Schreibleistung erwarten? Das im Write-Back-Cache-Modus konfigurierte H740P sollte Ihnen die absolut maximale Schreibleistung bieten. Abhängig von Ihrer spezifischen Arbeitslast kann das Durchschreiben unter bestimmten Umständen jedoch schneller sein. DELL- (und LSI-) Controller verfügen sogar über einige spezifische SSD-Funktionen (z. B. CTIO und FastPath), die auf dem Durchschreiben aufbauen und die Leistung beim zufälligen Schreiben erhöhen können.
  3. Gibt es weitere Vorteile eines NV-Caches, die ich nicht berücksichtigt habe? Ja: Ein Controller mit einem ordnungsgemäßen NVCACHE lässt niemals zu, dass die beiden RAID1 / 10-Zweige unterschiedliche Daten haben. Unter bestimmten Umständen neigt Linux-Software-RAID zu (harmlosen) RAID1-Konflikten . ZFS leidet nicht unter diesem Problem.
Shodanshok
quelle
2
ZFS ist in Wirklichkeit mehr als ein RAID: Es verfügt über variable Paritätsstreifen, sodass es keine Schreib- oder Schreiblücken gibt. Anstelle eines Seiten-Caches wurde auch die ARC erweitert. Es gibt eine Sache, die es vermisst: NV RAM ... die mit NV DIMM Integration gelöst werden kann :)
BaronSamedi1958
13

F1: Besteht für eine dieser Konfigurationen das Risiko eines Datenverlusts oder einer Beschädigung aufgrund eines Stromausfalls?

A1: Sie sollten keine Probleme haben, es sei denn, Sie konfigurieren den Cache im Rückschreibemodus und ohne NV-RAM.

F2: Welche Konfiguration sollte ich für die beste Schreibleistung erwarten?

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

F3: Gibt es weitere Vorteile eines NV-Cache, die ich nicht berücksichtigt habe?

A3: Schreiben Sie Coalescing, Spoofing usw. Aber das sind wirklich Kleinigkeiten.

BaronSamedi1958
quelle
Ich war mir nicht sicher, ob der Cache helfen würde, da ich gelesen habe, dass die Neuordnung von Schreibvorgängen keine großen Auswirkungen auf SSDs hat und die SSDs ihre eigenen Schreibcaches haben.
M. Dudley
@ M.Dudley ja, sie haben Caches, aber man kann nicht so etwas wie zu viel Cache haben . Cache ist gut, je mehr Cache desto besser.
ThoriumBR
7
@M. Dudley: Der RAID-Controller verfügt über Gigabyte Cache hinter dem PCIe x4-x8-Lanes-Bus mit vergleichsweise schneller und geringer Latenz, während sich die SSD-Caches in Megabyte befinden und sich hinter SATA / SAS-Verbindungen mit 6-12 Gbit / s befinden.
BaronSamedi1958
@ BaronSamedi1958 es macht nicht so viel aus, wie es scheinen mag. "Gigabyte Cache" ist auf das gesamte von Ihnen definierte logische Volume verteilt. Die Aufteilung auf eine einzelne Festplatte kann sich auf nur wenige Megabyte pro Festplatte beschränken. Sogar das Samsung 850 Pro mit Datumsangabe enthielt 1 GB DRAM-Cache, also nur etwa die Hälfte des gesamten Caches des H730P. Last but not least: Die SAS3-Schnittstelle liefert 12 GB / s über eine einzige Verbindung und übertrifft damit die x8-PCIe-3-Lanes, an die die RAID-Controller normalerweise angeschlossen sind.
the-wabbit
2
@ the-wabbit Obwohl ich Ihnen im Allgemeinen zustimme, ist Ihre Bandbreitenberechnung falsch: SAS3 hat maximal 12 Gbit / s oder 1,5 GB / s pro Richtung. Ein PCI-E 8x hat eine maximale Bandbreite von 128 Gbit / s oder 16 GB / s pro Richtung. Darüber hinaus hängt der SAS-Controller selbst im Allgemeinen wie der RAID-Controller von einer vorgelagerten PCI-E-Verbindung.
Shodanshok
0

Möglicherweise möchten Sie Bonnie ++ verwenden, um Tests auf Server-RAID-Karten / Perc vs SSD durchzuführen. Die Festplattengeschwindigkeiten 5k / 10 / 16k / min oder Hybrid-Laufwerke variieren die Statistiken und die Cache-Nutzung.

Ein weiterer Befürworter von ZFS. Ich habe Mitte der 90er Jahre angefangen, die Server von SGI zu verwenden, und ZFS hat alle mit UFS / ext2 / 3 in Verbindung stehenden Punkte beseitigt. Es ist bombensicher.

Munkeh72
quelle
0

Neben den guten Antworten oben: ein Element oft vergessen , aber für die erweiterte Integrität der erforderlichen beliebigen RAID ist Daten Schrubben aka Medien Streife oder Lese Patrouille . Dies stellt sicher, dass alle Daten auf allen Festplatten über einen längeren Zeitraum hinweg 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 sehr lange nicht mehr verwendet wurden, nicht mehr lesbar sind. Im normalen Betriebsmodus ist dies kein Problem, da der fehlerhafte Sektor unter Verwendung von Redundanzdaten rekonstruiert werden kann. Wenn jedoch ein Datenträger ausfällt Sie bereits die Redundanz verloren (mit Ausnahme von RAID 6 oder verschachtelten RAID-Levels), und wenn während des Wiederaufbaus ein fehlerhafter Sektor auftritt, sind Sie nicht mehr im Wasser.

Aktivieren Sie daher immer die Datenbereinigung, es sei denn, Sie möchten unangenehme Überraschungen erleben.

Zac67
quelle