Alle Artikel unter dem Schlagwort Flash Read Cache

Seit kurzem hat VMware eine sogenannte Walkthrough Serie / Website veröffentlicht. Worum geht’s? In kurzen Screenshotanleitungen wird erläutert, wie man die neuen Features der Version vSphere 5.5 innerhalb von wenigen Minuten konfigurieren kann.

Getreu dem Motto: Keep it simle and get it running very fast 😉 Welche Walkthroughs sind veröffentlicht, wo finde ich diese und was ist beinhaltet?

Weiterlesen

Autor: Benjamin Ulsamer
Benjamin Ulsamer ist seit Januar 2011 für die Firma Proact Deutschland GmbH tätig. Im Oktober 2015 wurde er zum Manager Professional Services Region South ernannt. Seit Juni 2017 ist er zudem verantwortlich für die Ausbildung zum Fachinformatiker/in für Systemintegration. In den Jahren 2015, 2016 und 2017 hat er für sein Engagement bzgl. Blogging & Wissensvermittlung von VMware die Auszeichnung zum vExpert erhalten.

Der Gedanke ist verlockend: Einfach nur eine PCI-Karte in die vorhandene FAS stecken, und schon bekommt man mehr Performance aus seiner NetApp-Maschine!

Eine solche Beschleuniger-Karte existiert, sie ist bestellbar (ja, sogar bezahlbar!). Wir haben uns eine Karte gekauft und sie getestet. Wie sie funktioniert und was sie tatsächlich leistet stellen wir diese Woche vor!

Anstatt aus Performancegründen viele Platten zu kaufen, können NetApp Kunden künftig besser auf eine oder mehrere der PAM Karten zurückgreifen. Sie sparen durch die Reduktion der Shelves Platz und Strom im Rechenzentrum.

Die Idee

Die meisten Sizing-Tools und Berater haben eines gemeinsam: Sie empfehlen „viele Spindeln für viel Performance“. Diese Aussage ist grundsätzlich richtig – doch warum eigentlich? Ganz einfach: Jede weitere Platte in einer Raid-Gruppe oder einem Aggregat kann zusätzliche Lese-Schreibaufträge (IOPS) abarbeiten. Dies geschieht parallel zu den anderen Platten, der Performance-Zuwachs kann der Einfachheit halber fast linear angenommen werden. Beispiel: Schafft eine einzelne Datenplatte im RAID 150 Operationen pro Sekunde, so schaffen 10 Platten grob das 10-fache.

Was bedeutet das in der Praxis? Wenn wir ein Sizing für eine Datenbank durchführen, welche maximal 4500 IOs vom Storage-System abverlangt, so brauchen wir ca. 30 Spindeln. (4500 / 150 ). Einkaufsliste: 3 Stück der guten MK4 NetApp Diskshelves, voll bestückt mit 15krpm Festplatten. Dann stehen 3x 14 Platten zur Verfügung, abzüglich 1x HotSpare, 2x Parity, 2x DoubleParity. Macht 37 Datenplatten, sollte also grob reichen.

Allerdings stimmt die Rechnung in der Praxis nicht ganz, da wir eine der wichtigsten Komponenten eines Storagesystems ausser Acht gelassen haben: Den Cache. Die Rechnung oben geht von der Annahme aus, dass im schlimmsten Fall alle Operationen auf der Disk landen und der Cache garnicht existiert. Doch das ist praxisfern, da Cache sogar einen sehr grossen Beitrag zur Performance eines Speichersystems beitragen.

Und genau an diesem Punkt setzt die PAM Karte an: Sie vergrössert den Read-Cache des NetApp Systems. Das ist revolutionär da man bisher den RAM der Maschinen nicht aufrüsten konnte, man war gezwungen ein grösseres Modell zu kaufen. Ausserdem kaufen viele Kunden mehr Shelves als nötig, da sie die Performance brauchen – aber nicht unbedingt die Kapazität der Platten. Somit verschwenden sie wichtige Ressourcen im Rechenzentrum: Platz, Strom und Klimatisierung.

Die PAM Karte (Teilenummer X1936) ist eine PCIe Steckkarte mit einem ASIC und 16GB RAM. Die Karte wird ab der FAS3040 unterstützt. Die 2020, 2050 und auch die 3020 sind nicht freigegeben. Ab der 3140 darf der Kunde zwei der Beschleunigerkarten einbauen. Mit steigender NetApp Modellnummer werden immer mehr Karten erlaubt, bis hin zu 5 Stück in einer FAS6080. Das ist beachtlich – immerhin resultiert das in einer Erweiterung des Caches um 80 GB! Das ist genug RAM, um eine grosse Menge der Datenbanken gesamt aus dem Cache zu bedienen und die Disks nur noch für Schreibaufträge zu verwenden!

Was sagt die Konkurenz? NetApps Markbegleiter haben keine solche Karte. Dafür verfolgen sie ähnliche Ziele: Durch Verwendung von Solid-State-Disks die Antwortzeiten der Speichersysteme zu senken. Der wichtige Unterschied zu NetApp ist: NetApp verwendet den Speicher nicht als Festplattenersatz, sondern als Cache-Erweiterung. Damit kommt die Performance dem gesamten System zu gute und somit immer den Daten, die am häufigsten gebraucht werden. Völlig selbst-tunend. Bei dem Systemen der Konkurenz muss man die SSDs direkt als RAID-Gruppe definieren – folglich nutzen nur jene Applikationen die Geschwindigkeit, welche auch auf diesem RAID liegen.

Funktionsweise

Die PAM Karte vergrössert genaugenommen nicht direkt den System-RAM, sondern nur einen speziellen Arbeitsbereich des RAMs, nämlich den WAFL Extended Cache. Den System-RAM kann so eine Karte nicht adäquat ersetzen, da die Zugriffsgeschwindigkeit auf eine PCI-Karte immernoch langsamer ist als der Zugriff auf das System-RAM einer NetApp. Dennoch ist der Zugriff auf die PAM Karte mehrere hundert Mal schneller als Leseaufträge von der Platte zu holen.

Die PAM-Karte ist ein sogenannter „Victim-Cache“. Also ein Opfer-Cache. Alle Nutz- und Meta-Daten, welche aufgrund ihres Alters oder Zugriffsmusters aus dem normalen System-RAM verdrängt werden landen mit einer PAM-Karte nicht mehr im Nirvana, sondern im RAM der PAM-Karte. Somit stehe Daten noch mit annähernder RAM-Geschwindigkeit zur Verfügung, welche ohne den Einsatz der Karte erneute Lese-Aufträge der Disk hervorgerufen hätten.

Wenn man diese einfache Funktionsweise genauer betrachtet merkt man, dass die Geschwindigkeit nicht nur direkt durch besseres Caching steigt, sondern auch dadurch, dass die Festplatten insgesamt weniger genutzt werden. Somit stehen auch mehr IOPS für andere Leseaufträge zur Verfügung welche noch nicht im Cache sind.

Der Administrator kann grob Einfluss auf der Verhalten der Karte nehmen, indem er einstellt, welche Art von Daten im Cache bleiben sollen: Nur Metadaten, auch Userdaten oder gar Bulk-Userdaten, also z.B. grosse sequentielle Reads. Das entsprechende Verhalten erreicht man durch setzen der options flexscale.*

Es ist des Weiteren möglich das Verhalten der Karte genauer zu steuern, indem man die neue Flexscale-Funktionalität mit der bekannten FlexShare Funktion kombiniert. FlexShare erlaubt Priorisierung von verschiedenen Flexiblen Volumes und des Caching Verhaltens einzelner Volumes. So kann der Kunde als einfaches Beispiel folgenden Wunsch umsetzen: CIFS Daten werden mit niedrigerer Priorität verarbeitet als die Datenbank-IOs. Diese Priorisierung kann man mit PAM-Karten auf deren Cache ausdehnen.

Praxis

Die Verwendung der Karte erweist sich in der Praxis als denkbar einfach. Man nehme:
– eine PAM Karte
– eine FlexScale Software Lizenz für ONTAP
– mind. FAS 3040
– ONTAP 7.3

In unserem Beispiel testen wir FAS6030 und ONTAP 7.3 GA und nur einer einzigen PAM-Karte. Wir spielen das neue ONTAP auf und prüfen im System Configuration Guide den korrekten Slot für die PAM Karte: Für eine 6030 ist es der Slot 5. Spannung: Der Bootvorgang meldet:

[iomem.card.enable:info]: Accelerator card in slot 5 has been enabled.

Also gleich los, nach dem Login werfen wir einen Blick auf die Hardware:

sysconfig:

slot 5: Performance Accelerator Module I
State: Enabled
Memory Size: 16 GB

slot 5: Performance Accelerator Module I
State: Enabled
Memory Size: 16 GB
Model Name: X1936A-R5
Serial Number: 200205
Part Number: 111-00360
Board Revision: B1
FPGA Release: 1.0
FPGA Build: 200706131558
DIMM Size Part Number Serial Number Status
1: 4 GB VR5JA127214EPSN1 40-01-0812-01066681 Enabled
2: 4 GB VR5JA127214EPSN1 40-01-0807-01066627 Enabled
3: 4 GB VR5JA127214EPSN1 40-01-0743-00066674 Enabled
4: 4 GB VR5JA127214EPSN1 40-01-0811-01066677 Enabled

Die Karte wird also erkannt, in ihrer ganzen Pracht mit 16 GB.

Also weiter, die Lizenz einspielen:

na6031> license add XXXXXXX
A flex_scale site license has been installed.
Enabling FlexScale type: IOMEM
FlexScale Option enabled.
Wed Sep 3 09:40:11 MEST [rc:notice]: flex_scale licensed

Mit FlexScale stehen neue Statistik Optionen zur Verfügung:

na6031> stats show -p flexscale
FlexScale Configuration
ext_cache:ext_cache:state-string:Active
ext_cache:ext_cache:cache_objects:1
ext_cache:ext_cache:block_checksums:1
ext_cache_obj:ec0:type:IOMEM
ext_cache_obj:ec0:blocks:4194304
ext_cache_obj:ec0:usage:0%

na6031> stats show -p flexscale-access

(Statistiken folgen!)

Gerade das flexscale-access Statistik Profil zeit sehr schön, wann Anfragen aus dem RAM der Karte kommen und wann sie von Disk geholt werden müssen.

Benchmarks von NetApp besagen, dass man pro PAM Karte ca 150000 IOs/s mit 4k Größe zusätzlich aus einem Storagesystem bekommen kann.

Nächstes Mal zeigen wir die genauen Statistiken und noch ein weiteres Schmankerl: Wie man ohne eine PAM Karte herausfinden kann, um wieviel schneller die NetApp mit einer Karte wäre!

Autor: mynetapp.de
MyNetApp war unsere deutschsprachige NetApp Community Plattform, welche wir von 2007 bis 2019 betrieben haben. Im Zuge der Konsolidierung von Plattformen haben wir die Artikel in unser Proact Blog integriert.