Klaus Kupfer

Nimble OS 2.3 - All-Flash-Performance oder Volume Pinning

Blog Post created by Klaus Kupfer Employee on Jul 23, 2015

Eines der aufregendsten neuen Features in Nimble OS 2.3 ist das sog. Cache Pinning. Cache Pinning erlaubt es komplette Volumes in Flash zu legen, so dass 100% der Leseanforderungen aus den SSD beantwortet werden und es keine Cache Misses auf die Platten gibt.

Dabei wird aber weiter nur eine Kopie der Daten auf die SSD gelegt. CASL mit sequentiellem Schreiben auf Platten funktioniert unverändert weiter.

 

Das Feature selbst ist einfach in die GUI bzw. die Kommandozeile integriert und wir werden uns hier kurz anschauen wie es benutzt wird.

Das Einzige was man beachten muss ist, dass das System über ein Verhältnis von SSD zu Gesamtkapazität (netto) von größer 4 % verfügt. Wenn das nicht der Fall ist, muss man mehr oder größere SSD's hinzufügen.

 

Ansonsten legt man seine Volumes wie gewohnt in der GUI an.


Screen Shot 2015-07-15 at 08.14.57.png

Der Screenshot zeigt jetzt einen neuen Tab "Performance". Per default wird "Normal" ausgewählt, also normales CASL-Caching Verhalten.

Man kann jetzt aber auch "Pinned" auswählen.

Pinning legt eine Kopie aller Blöcke dieses Volumes in den Cache.

Vorteil:      garantierte Sub-Millisekunden Latenz für jeden Lesevorgang

Nachteil:   auch nicht genutzte Blöcke werden in den Cache gelegt und belegen damit unnötig Platz


Im Beispiel wird ein 100 GB Volume auf dem Array angelegt. Dieses belegt auch 100 GB Platz auf den SSD (Abbildung oben), da die Standard "Volume Quota" Einstellung 100% beträgt. Verringert man diese wie in der Abbildung unten auf 50% so reduziert sich auch der im Flash reservierte Platz auf 50 GB.

Screen Shot 2015-07-14 at 12.20.34.pngScreen Shot 2015-07-14 at 11.23.30.png

Eine wichtige Anmerkung: Die Quotas sind dem Server bzw. dem OS nicht bekannt und mit Quotas limitierte Volumes werden offline geschaltet, sobald die Quota erreicht ist. Daher unbedingt den "Volume Warning" Level anpassen, damit man frühzeitig gewarnt wird!

 

Die Pinning Einstellung kann jederzeit auch wieder geändert werden, d.h. man kann ein Volume erst einmal im Standard Modus betreiben und wenn man merkt, die Cache Hit Rate ist aus welchen Gründen auch immer nicht ausreichend, kann man das Feature über die Volume Einstellungen aktivieren.

Wird es aktiviert, werden alle Blöcke des Volumes aktiv in den Flash kopiert und man erreicht die All-Flash-Performance innerhalb kurzer Zeit.

Umgekehrt werden beim Deaktivieren die Blöcke abhängig von ihrer Zugriffshäufigkeit aus dem Cache wieder entfernt.

Picture1.png

Ob ein Volume gepinned ist oder nicht sieht man in den "Volume Details":

Screen Shot 2015-07-15 at 08.23.15.png


Sobald das Feature für ein bestehendes Volume aktiviert wurden, werden alle Blöcke auf SSD kopiert. In der GUI kann man sehen ob dieser Vorgang abgeschlossen ist.


Monitor -> Performance

Screen Shot 2015-07-14 at 12.05.09.png


Ein weiteres cooles Feature in Verbindung mit den All Flash Service Levels sind die Zero-Copy Clones. Dank Nimble's "thin" cloning Technologie können wir viele Volume Kopien erzeugen, die alle auf die Originalblöcke des Ausgangsvolumes referenzieren. Das bedeutet, dass jeder Clone eines gepinnten Volumes auch automatisch zu 100% auf SSD liegt ohne zusätzlichen Platz zu verbrauchen. Änderungen in den Clones unterliegen natürlich den normalen Caching Mechanismen, aber das ist meist völlig akzeptabel.

Screen Shot 2015-07-14 at 22.09.29.png

In InfoSight gibt es auch eine kleine Änderung im Performance Report. Dort wird nun angezeigt wie viel Flash Kapazität für gepinnte und nicht-gepinnte Volumes verbraucht wird.


Screen Shot 2015-07-15 at 18.13.06.png


Zusammenfassend lässt sich sagen, das die neuen All Flash Service Level in Nimble OS 2.3 es Kunden erlauben einzelnen Workloads All-Flash Performance zur Verfügung zu stellen ohne dafür eine dedizierte Hardware Plattform zur Verfügung zu stellen. Da sich das Feature auch zeitlich steuern lässt, kann man sogar die Zeit genau bestimmen, wann die All-Flash Performance zur Verfügung gestellt wird.

Natürlich ist das Ganze ist Nimble-typisch einfach zu implementieren und zu verwalten und ohne jegliche Zusatzkosten (außer für evtl. benötigte zusätzliche Flash Module).

Outcomes