Wie effektiv ist das LSI CacheCade SSD Storage Tiering?

22

LSI bietet die CacheCade Storage Tiering-Technologie an, mit der SSD-Geräte als Lese- und Schreib-Caches verwendet werden können, um herkömmliche RAID-Arrays zu erweitern.

Andere Anbieter haben ähnliche Technologien übernommen. HP SmartArray-Controller haben ihren SmartCache . Adaptec hat MaxCache ... Ganz zu schweigen von einer Reihe softwarebasierter Beschleunigungstools ( sTec EnhanceIO , Velobit , FusionIO ioTurbine , Intel CAS , Facebook Flashcache ?) .

Ich komme aus einem ZFS- Hintergrund und verwende verschiedene Arten von SSDs , um die Aufgaben des Lese-Caching (L2ARC) und des Schreib-Caching (ZIL) zu erledigen. Für die jeweilige Arbeitsbelastung sind unterschiedliche Merkmale erforderlich. Geringe Latenz und Ausdauer für das Caching von Schreibvorgängen. Hohe Lesekapazität.

  • Welchen Zweck erfüllt der integrierte NVRAM des RAID-Controllers, da CacheCade-SSDs zum Schreiben und Lesen von Caches verwendet werden können?
  • Welche Gefahr besteht für die CacheCade-SSDs bei Verwendung als Schreibcache in Bezug auf die Schreibdauer? Der Einsatz von Consumer-SSDs scheint empfohlen.
  • Gehen Schreibvorgänge direkt zur SSD oder werden sie zuerst im Cache des Controllers abgelegt?
  • Wie intelligent ist der Lese-Caching-Algorithmus? Ich verstehe, wie die ZFS ARC und L2ARC funktioniert . Gibt es einen Einblick in den CacheCade-Tiering-Prozess?
  • Welche Metriken gibt es, um die Effektivität des CacheCade-Setups zu überwachen? Gibt es eine Methode zur Beobachtung der Cachetrefferquote oder des Prozentsatzes ? Wie können Sie feststellen, ob es wirklich funktioniert?

Ich bin an Meinungen und Rückmeldungen zur LSI-Lösung interessiert. Irgendwelche Vorbehalte? Tipps?

ewwhite
quelle
2
Adaptec hat das gleiche. Sehr gute Frage.
TomTom

Antworten:

9

Welchen Zweck erfüllt der integrierte NVRAM des RAID-Controllers, da CacheCade-SSDs zum Schreiben und Lesen von Caches verwendet werden können?

Wenn Sie die Schreib-Caching-Funktion des Controllers aktiviert lassen, wird der NVRAM weiterhin hauptsächlich verwendet. Der SSD-Schreibcache wird normalerweise nur für größere Mengen von Schreibdaten verwendet, bei denen der NVRAM allein nicht ausreicht, um Schritt zu halten.

Welche Gefahr besteht für die CacheCade-SSDs bei Verwendung als Schreibcache in Bezug auf die Schreibdauer? Der Einsatz von Consumer-SSDs scheint empfohlen.

Dies hängt davon ab, wie oft Ihre Schreibvorgänge tatsächlich dazu führen, dass der SSD-Schreibcache erforderlich wird. Ob Ihre Laufwerke in der Lage sind, die Schreiblast schnell genug zu bewältigen, damit der NVRAM nicht voll wird. In den meisten Szenarien, die ich gesehen habe, wird der Schreibcache die meiste Zeit kaum bis gar nicht aktiv. Daher würde ich nicht erwarten, dass dies einen großen Einfluss auf die Schreibdauer hat. Die meisten Schreibvorgänge auf die SSDs sind wahrscheinlich Teil Ihres Lesevorgangs Caching.

Gehen Schreibvorgänge direkt zur SSD oder werden sie zuerst im Cache des Controllers abgelegt?

Oben geantwortet ... Der Controller-Cache wird zuerst getroffen, der SSD-Cache ist eher eine zweite Verteidigungslinie.

Wie intelligent ist der Lese-Caching-Algorithmus? Ich verstehe, wie die ZFS ARC und L2ARC funktioniert. Gibt es einen Einblick in den CacheCade-Tiering-Prozess?

Sorry ... kein Wissen, um dazu beizutragen - hoffentlich hat jemand anderes einen Einblick?

Welche Metriken gibt es, um die Effektivität des CacheCade-Setups zu überwachen? Gibt es eine Methode zur Beobachtung der Cachetrefferquote oder des Prozentsatzes? Wie können Sie feststellen, ob es funktioniert?

Hierfür stehen anscheinend keine Überwachungstools zur Verfügung, wie dies bei anderen SAN-Implementierungen dieser Funktionsgruppe der Fall ist. Da die virtuelle CacheCade-Festplatte dem Betriebssystem nicht angezeigt wird, haben Sie möglicherweise keine Möglichkeit, sie manuell auszuführen Überwachen Sie auch die Aktivität. Dies erfordert möglicherweise nur weitere Tests, um die Wirksamkeit zu überprüfen ...

Meinung / Beobachtung: In vielen Fällen (bei richtiger Verwendung wird der Cache entsprechend der Größe des Arbeitsdatensatzes gelesen) bringt diese Funktion die Dinge zum FLIEGEN. Aber am Ende kann es ein Hit-and-Miss werden.

JimNim
quelle
1
Hey, ich wollte nur hinzufügen, dass es unter Umständen Metriken gibt, die im Betriebssystem verfügbar sind. Lesen Sie hierzu das Handbuch auf Seite 220, und sprechen Sie über die MegaCLI-Optionen (die unter Linux, Windows, Unix, Bsd usw. installiert werden können). Es heißtConvention MegaCli -perfmon -start -interval <val> -aN Description -perfmon: Specifies collection of performance data. The possible parameters are: -start: Starts the performance data collection. -interval: the time interval (in minutes) that you specified for which you want the performance data collection. The default value is 5 minutes
NickW
Hmmm, nicht zu ausführlich. Ich müsste sehen, wie das Auflistungsformat aussieht.
ewwhite
Es würde mich interessieren, welche Daten tatsächlich dadurch gesammelt / gemeldet werden, wenn jemand dies testet ...
JimNim,
1

In Bezug auf Hardwarelösungen habe ich keine Möglichkeit gefunden, die genaue Trefferquote oder so etwas zu kennen. Ich glaube, es gibt zwei Gründe dafür: Die Lautstärke hinter dem Controller wird als einzelnes Laufwerk angezeigt (und sollte daher "nur funktionieren"), und es ist schwierig, "Treffer" zu zählen, die nicht für Dateien, sondern für HDD-Sektoren gelten Selbst bei leerer Festplatte kann es zu einer gewissen Trefferquote kommen, die verwirrend sein kann. Darüber hinaus sind Algorithmen, die hinter "Hybridisierung" stehen, nicht öffentlich, so dass das Wissen um Hitrate nicht viel hilft. Man kauft es einfach und bringt es zum Laufen - niedrige Ausgaben (verglichen mit einer reinen SSD-Lösung), gute Geschwindigkeitsauswirkung.

"Buy it and Use it" -Ansatz ist eine ziemlich gute Sache, aber niemand weiß genau, wie man die schnellste Kombination erstellt: Sollten wir mehrere große Festplatten und mehrere große Cache-SSDs verwenden, oder sollten wir viele kleine Festplatten und verwenden? mehrere große SSDs usw., und was ist der Unterschied zwischen 100 oder beispielsweise 500 Gb oder 2000 Gb SSD-Cache (sogar 500 sieht übertrieben aus, wenn die heißen Volumendaten klein sind), und sollte es wie 2x64 Gb oder 8x8 Gb sein, Datenübertragung zu haben parallelisiert. Auch hier verwendet jeder Hersteller seinen eigenen Algorithmus und kann ihn beim nächsten Firmware-Update ändern.

Ich schreibe dies hauptsächlich, um zu sagen, dass meine Ergebnisse mir eine seltsame Antwort gaben: Wenn Sie einen Allzweck- und einen Server mit Profil für allgemeine Lasten verwenden, ist der h / w-Hybridcontroller auch mit relativ kleinen SSDs in Ordnung, aber wenn Ihre Aufgaben früher waren Insbesondere sollten Sie sich für eine S / W-Lösung (die Sie auswählen können, da Sie als einziger das Lastprofil kennen) oder für einige hochpreisige PCI-Kartenspeicher entscheiden.

Alexander
quelle
1

Hier sind einige Ansprüche von Dell:

Speicherleistung - E / A pro Sekunde (IOPS):

  • CacheCade lieferte eine Steigerung von 3x mehr IOPS als der Festplattenspeicher alleine
  • SAS-SSD-Speicher erzielte 8x mehr IOPS als HDD-Speicher
  • Ein Express-Flash-Laufwerk führte zu 10,5-mal mehr IOPS als 16 Festplatten

In Bezug auf IOPS scheinen ihre Zahlen gleich zu sein. Ich neige dazu, DiskSpd-Berichte von verschiedenen Servern zu speichern, und wenn ich einen der Berichte auf die Spindelanzahl skaliere, die ich im Cachecade-Server habe, sollte ich nur etwa 750.000 IOPS erhalten. Beim Testen dieses Servers kam ich jedoch auf über 2 Millionen. Es war wirklich das einzige Mal, dass ich gesehen habe, wie die CPU-Auslastung durch die diskspd-Threads zu einem Faktor wird. Normalerweise ist die CPU-Auslastung immer noch minimal, wenn die Festplatte mit dem Capping beginnt. Dies war hier jedoch nicht der Fall. Ich mache mir Mühe, weil ich nicht mit und ohne Diskspd laufe, aber na ja.

Der andere Faktor ist, dass es vollkommen transparent ist. Geben Sie ein paar hundert Dollar für eine kleinere SSD der Enterprise-Klasse aus, fügen Sie sie als Cachecade-Volume hinzu, und Sie sind fertig. Wenn Sie Geld für all-ssd-Speicher haben, spielt es keine Rolle, aber um physischen Spindeln Leben einzuhauchen, halte ich es für wert.

b_levitt
quelle
0

Ich habe es auf Dell R515 mit Dell PERC H700 Raid mit 1 GB Speicher mit ein paar 500 MB / s SSDs versucht

Ich habe mein Benchmarking einige Stunden nach der Installation und nach 48 Stunden durchgeführt

Bei der Schreibgeschwindigkeit konnte ich keine große Verbesserung feststellen, bei Read eine kleine Verbesserung. Ich habe den Test vor einem weißen Tag durchgeführt und jetzt habe ich keine Zahlen.

Aber es war nicht wichtig und ich habe die Aufbewahrungsbox letztendlich ohne diese Funktion verwendet.

Nach meiner Erfahrung sind die meisten dieser Software nur ein Scherz! Wenn Sie eine Speicherebene benötigen, bauen Sie Ihre eigene, besorgen Sie sich zuverlässige Hardware von Dell und füllen Sie die Schachtel mit SSDs

An meinem Arbeitsplatz funktioniert das Storage Tiering sehr gut. HP 3Par & Adaptive Optimization Add-On funktioniert wie angekündigt, aber diese Lösung ist ungefähr 100 KB groß :)

user1007727
quelle
11
Ich glaube nicht, dass ein SSD-Cache vor SSDs helfen würde :)
Michael Hampton