[DE] FVP – Die Grundlagen


Mit diesem Artikel möchte ich einen ersten Überblick über die FVP Software geben. In den darauffolgenden Post werde ich entsprechend näher auf Einzelheiten eingehen.

FVP als Softwarelösung hat ganz allgemein gesprochen das Ziel, die Schreib- und Lese-Operationen virtualisierter Applikationen zu beschleunigen und so erstmals die Storage Performance von der Storage Kapazität zu entkoppeln.

Um besser zu verstehen was FVP genau tut, hole ich kurz aus und erkläre kurz das Problem. Mit der wachsenden Anzahl an virtuellen Maschinen, steigen stetig auch die Anforderungen an das zentrale Storage System welches die virtuelle Infrastruktur bedient. Es müssen immer mehr IOPS und mehr Durchsatz geliefert und dabei besteht die eigentliche Schwierigkeit darin, dies in möglichst kurzer Zeit zu tun, also mit möglichst geringer Latenzen. Je nach Applikation bedeutet eine hohe Latenz einen extrem negativen Einfluss auf den dahinterliegenden Geschäftsprozess, oder auf die Zufriedenheit der User. Ein gutes Beispiel dafür sind virtuelle Desktops oder Datenbanken.

Jedoch ist ein Hypervisor nicht dafür bekannt, Daten in einem für das Storage System freundlichen „Format“ zu schreiben. Allgemein ist das Problem als der „I/O Blender“ Effekt bekannt und beschreibt das Problem, dass durch das „Scheduling“ des Hypervisors hauptsächlich zufällige Schreib- & Leseoperationen Richtung Storage gesendet werden. Dies führt wiederum dazu, dass man entsprechend schnell an die physikalischen Grenzen bzw. die maximale Leistungsmäßigkeit von drehenden Spindeln stößt.

Hier kommt Flash als Medium sehr gelegen um dem Problem zu entgegnen. Über die Zeit haben sich viele Möglichkeiten entwickelt an verschiedensten Stellen der Infrastruktur Flash einzusetzen. Da Flash jedoch noch immer nicht zu den günstigsten Optionen zählt, ist ein möglichst effizierter Umgang mit möglichst hohem Kosten/Nutzen Verhältnis wünschenswert und genau hier setzt FVP an.

Die Software FVP besteht im Herzen aus einem Kernel Modul (VIB), welches sich direkt in den ESXi Hypervisor integriert. Dabei wird der Hypervisor nicht modifiziert, sondern allgemein zugängliche Schnittstellen genutzt um neue Funktionalitäten hinzuzufügen. Damit ist schon einmal ein wichtiger Punkt geklärt. Wo wird die FVP Software installiert und eingesetzt? Direkt im Hypervisor.

Um I/Os beschleunigen zu können, benötigt FVP natürlich auch entsprechend schnelle Medien direkt im Host, in Form von Flash oder RAM. Ja auch RAM, dass sei an dieser Stelle nochmal explizit erwähnt, warum das wichtig ist erkläre ich in einem extra Post. Folgende Erklärungen lassen sich erst einmal gleichermaßen anwenden, unabhängig davon, welches Medium zum Einsatz kommt. Wichtig ist, dass es somit möglich wird, extrem schnelle Medien, ganz nahe an die virtualisierten Applikationen zu bringen. Somit wäre ein weiterer Punkt geklärt. Welche Medien werden für den Einsatz von FVP benötigt? Flash und RAM direkt im Hypervisor.

FVP_Grundlagen2

Jetzt gilt es noch beide Punkte zu kombinieren. Durch die Integration direkt in den Hypervisor, ist FVP in der Lage Schreib- & Leseoperationen von virtuellen Maschinen zu übernehmen und diese fehlertolerant auf die lokalen Medien als auch auf die Medien anderer Hosts zu schreiben bzw. entsprechend davon zu lesen. Welche Vorteile ergeben sich daraus? Plötzlich haben virtuellen Maschinen die Möglichkeit das Potential von SSDs, PCIe Flash Karten oder gar RAM zu nutzen. Sprich viele IOPS, ein enorm hoher Durchsatz, aber vor allem die extrem niedrige Latenz.

Jetzt kommt noch ein wichtiger Punkt um den Basisteil abzurunden. FVP stellt selbst keine Kapazität zur Verfügung. Dann stellt man sich natürlich die Frage, wo werden die Daten final gespeichert?

Die Antwort ist dabei recht simpel, auf genau dem gleichen zentralen Storage System wie bisher. Dieses kann in seiner aktuellen Form exakt so bestehen bleiben, völlig unabhängig des Herstellers und des verwendeten Storage Protokolls. FVP bildet ein Beschleunigungs-Schicht zwischen VMs und dem Storage System und kümmert sich entsprechend um das ordnungsgemäße wegschreiben der Daten.

Damit ist es erstmal möglich Performance und Kapazität voneinander zu entkoppeln und vor allem unabhängig voneinander zu skalieren. Das heißt ganz einfach gesagt, keine HDDs mehr zu erweitern, nur, weil mehr IOPS benötigt werden. Auch besteht so die Möglichkeit, sich gegen eine oft stark variierende Storage Performance abzusichern. Egal ob Probleme im Storage Netzwerk oder direkt im Storage System, mit FVP erhalten die virtuellen Maschinen so einen Puffer gegen externe Einflüsse.

FVP integriert sich transparent in virtuelle Umgebungen, was bedeutet das bestehende Infrastrukturen in ihrer Form nicht verändert werden müssen. Um die Erklärung abzukürzen, FVP unterstützt allgemein die Hardwarekomponenten welche auch auf der VMware HCL zu finden sind. Daher ist FVP als Lösung auch komplementär zu bestehenden Umgebungen zu sehen, welche durch die Software & den Einsatz entsprechende Medien ganz einfach beschleunigt werden können.

Die Lösung erfordert keinen RAID Schutz der lokalen Flash Ressourcen, da die Fehlertoleranz anderweitig sichergestellt wird, entsteht hier auch kein Verlust an IOPS oder nutzbarer Kapazität für die Beschleunigung von VMs. Mit jedem zusätzlichen Flash Device oder RAM Ressource, steigt direkt auch die Leistung der Infrastruktur. Mal ein ganz einfaches Rechenbeispiel zum Abschluss dieses Posts: Drei Hosts mit je einer durchschnittlichen Enterprise 800GB SSD und rund 60k IOPS, ergeben sich in Summe 180k IOPS und 2,4 TB nutzbare Flash Kapazität.

Wie gesagt, werden noch einige deutsche Artikel zum Thema FVP & Architect folgen, in denen ich noch auf viele weitere Details eingehen werde.

Print Friendly, PDF & Email

Related Post

It's only fair to share...Tweet about this on TwitterShare on LinkedInEmail this to someone

Leave a comment

Your email address will not be published. Required fields are marked *