EMC VFCache und was er leistet
Der »VFCache« rückt technisch näher an den Server heran, optimiert die Leistung des Speichersystems und weitet das Tiering auf den Server aus. speicherguide.de erklärt, wie es funktioniert und was die Konkurrenz dagegen zu bieten hat, denn auch Netapp, HP und IBM arbeiten an ähnlichen Lösungen.
EMC veröffentlicht nun die Ergebnisse seines Projektes »Lightning«, das seit der vergangenen Hausmesse im Mai 2011 mehr oder weniger öffentlich bekannt war. Der Hersteller verlässt damit die eingetretenen Pfade der Enterprise-Arrays und bringt die Daten so nah an die CPU wie nie zuvor. Das Resultat ist der »Virtual Flash Cache«, kurz »VFCache«. Er ist eine PCIe-Flash-Karte, die als Server-Flash-Zwischenspeicherlösung fungiert.
Hohe I/O-Last bedienen
Um die Möglichkeiten der Verarbeitung hoch-transaktionslastiger Daten im Vergleich zu den herkömmlichen FC-Laufwerken deutlich zu verbessern, führte der Hersteller 2008 Solid-State-Disks für seine Arrays »Symmetrix DMX4« und »CLARiiON CX4« ein. Damit ließen sich 300fach höhere I/O-Werte erreichen, so viel also wie mit noch keinem Medium vorher.Diese Leistung wurde später durch »FAST VP« (Fully Automated Storage Tiering for Virtual Provisioning) ergänzt. Virtual Provisioning fasst die in einer Leistungsklasse vorhandenen Kapazitäten in sogenannten Pools zusammen, die aus Chunks (kleinen Datenabschnitten) bestehen. Logische Laufwerke werden hier nicht mehr direkt auf RAID-Gruppen installiert, sondern aus Chunks zusammengesetzt und dem Rechner präsentiert. Je nach I/O-Belastung eines Chunks wird dieser I/O in der Leistungsklasse belassen oder automatisch jeweils eine nach oben oder nach unten befördert, so dass sich ein logisches Laufwerk mit seinen »heißen« und »kalten« Abschnitten nach geraumer Zeit in SSD-, FC- und SATA-Pools wiederfindet. Dies bringt eine wesentlich bessere Leistung des Systems bei gleichzeitig kostengünstigerer Gesamtauslegung mit sich. Das gesamte Konzept hat allerdings einen Faktor, der durch seine schiere Existenz den Aufwand eines weiteren Tunings im Speichersystem annähernd überflüssig macht - den Anschluss über ein Netzwerk und die damit einhergehenden Latenzen.
Die Leseverzögerung über ein SAN mit Anwendung, CPU, Switch, RAID-Controller und Laufwerken kann im schlimmsten Falle bis zu 8 ms betragen, die Schreibverzögerung gar bis zu 11 ms. Hier nützt das schnellste Array mit den I/O-potentesten Laufwerken nichts, diese Zeiten lassen sich auf herkömmliche Weise nicht senken. Daher kam man im Hause des Bostoner Speicherriesen auf die Idee, die Daten näher an den Ort des Geschehens zu bringen und die Netzwerk-Latenzen zu eliminieren. Hierzu wird ein PCIe-Flash-Laufwerk genutzt, das nur noch 100 Mikrosekunden Leseverzögerung erzeugt.
Der Treiber macht den Unterschied
Der eigentliche Trick bei dem nun VFCache genannten Produkt ist nicht diese Karte, sie kann ohne Software von Samsung oder anderen Herstellern bezogen werden. Eigentlicher Kern ist der VFCache-Treiber, der auf dem Rechner zwischen der Anwendung, dem HBA und dem PCIe-Flash-Laufwerk installiert wird. Will die Anwendung nun einen Block lesen, geht diese Anfrage zunächst an den einschlägigen Treiber. Dieser hält eine Kopie der Eintragstabelle des Flashlaufwerkes und kann so schnell feststellen, ob sich die angeforderten Daten bereits im PCIe-Flash-Laufwerk befinden (cache hit). Ist dies der Fall, bedient der Treiber die Anfrage direkt und muss nicht über das SAN auf das Array zugreifen. Befinden sich die Daten noch nicht im Cache (cache miss), sendet der Treiber die Anfrage über das SAN an das Array, welches dann zunächst die Anwendung versorgt und danach asynchron den Block in das PCIe-Flash-Laufwerk schreibt. Da es sich um eine reine Lese-Cache-Anwendung handelt, werden alle schreibenden Zugriffe direkt an das Array weitergeleitet (write through). Im Unterschied zu anderen Systemen wird der Inhalt des PCIe-Cache-Laufwerkes allerdings ebenfalls mit dem Inhalt des zu schreibenden Blockes aktualisiert.EMC gibt an, dass mit dieser Arbeitsweise in Oracle OLTP-Umgebungen die Leseverzögerung in 30-60 Minuten auf 50 Prozent des ursprünglichen Wertes ohne VFCache gesenkt werden kann, abhängig von der jeweiligen Transaktionsrate der Installation. Der Durchsatz selbst soll sich gleichzeitig mehr als verdreifachen.
Integriert ins Storage Tiering
Der eigentliche Clou im Vergleich zu allen bisherigen Lösungen mit PCIe-Flash-Laufwerken ist allerdings die Integration in FAST. Hiermit ist nicht nur der VFCache-Treiber im Rechner verantwortlich dafür, welche Daten im Laufwerk abgelegt werden, sondern ebenso der FAST-Algorithmus im angeschlossenen Speichersystem. Damit wird erstmals eine Synergie zwischen Computer und Array über das zwischengelagerte SAN hinaus erreicht, so dass beide Komponenten sinnvoll ergänzend funktionieren. Die einschlägigen Algorithmen von VNX und Symmetrix »wissen« von der Anwesenheit der PCIe-Steckkarte und verwenden diese als nun höchste Leistungsstufe im Speichertiering. Damit können vor allem Anwendungen mit hohem Leseanteil wesentlich beschleunigt werden, also beispielsweise CRP, ERM, OLTP, E-Mail, Reporting oder Analyse.Weitere Versionen geplant
EMC bietet VFCache mit einer 300 GByte großen PCIe-Steckkarte und der entsprechenden Software für 13.000 US-Dollar an. Es wird zunächst für Standard-x86-Hardware mit entsprechenden PCIe-Steckplätzen ausgeliefert und mit Treibern für Windows und Linux ausgestattet. Später sollen auch Versionen mit kompakten Steckkarten für Blade-Server und eventuell auch solche für Nicht-x86-Server folgen.
Geplant sind weitere Updates wie die Integration von Deduplizierung. Mit »Thunder« als nachfolgendes Projekt – nach Blitz kommt der Donner – will EMC eine Server-Netzwerk-Appliance auf Basis der VFCache-PCIe-Flash-Technik vorstellen. Diese soll für hochfrequente Lese-Schreib-Workloads mit geringer Latenz optimiert sein.