Was ist eigentlich Storage-Virtualisierung und was hat Windows 8 damit zu tun?

Windows 8 „Drive Extender“ oder „Storage Spaces“ für flexiblen Speicher:


„Über die Funktion lassen sich mehrere physische Datenträger in einem Pool organisieren. Ein solcher Pool stellt dann "Spaces" zur Verfügung.“ Quelle: http://winfuture.de/news,67489.html

Dieses neue/alte Feature von Windows 8 und Olis Artikel über COW haben mich auf die Idee gebracht den Begriff „Storage-Virtualisierung“ mal etwas näher zu beleuchten.

Wenn Sie 5 verschiedene Leute fragen was „Storage-Virtualisierung“ ist bekommen Sie wahrscheinlich mindestens 3 verschiedene Antworten. Der eine definiert Storage-Virtualisierung als Möglichkeit, mehrere physische Arrays unterschiedlicher Hersteller zu einem virtuellen Array zusammenzufassen. Der andere sagt, Storage-Virtualisierung ist die Entkoppelung der physischen Festplatte von logischen Volumes. Ein dritter sagt, dass RAID5 schon virtualisierter Storage ist. Nun, wer hat Recht? Im Prinzip haben alle Recht. Storage-Virtualisierung gibt es eben auf unterschiedlichen Ebenen. Im Laufe meiner 15 Jahre  in der Storage Industrie habe ich mir mein eigenes Modell zurechtgelegt, um die Begrifflichkeit besser fassen zu können. Vielleicht hilft es ja auch dem einen oder anderen Leser einfach besser „durchzublicken“. Lassen Sie es mich kurz, Schritt für Schritt, erklären:

1.)    Level 0: Die Basis für alle Storage-Systeme ist und bleibt wahrscheinlich noch für sehr lange die einzelne Festplatte. Da ist erst mal nix virtualisiert. Ich weiß in meinem Laptop genau, dass alle Daten auf C:\ abgelegt sind. Wenn diese HD den Geist aufgibt, muss ich auf einen Backup zurückgreifen.

2.)    Level 1: Eine einzelne Festplatte konnte aber schon sehr bald nicht mehr mit den I/O Anforderungen moderner Applikationen mithalten. Was hat man gemacht: Einen SCSI basierten RAID Controller eingesetzt. Damit habe ich zum ersten Mal Storage virtualisiert. Aus bis zu 7 einzelnen Festplatten (8Bit SCSI) wurde 1 große virtuelle Festplatte auf Basis von z.B. RAID5, die durch die Bündelung der I/O Power und dem Parity Prinzip wesentlich performanter und zuverlässiger war.

3.)    Level 2: Auch dieses Prinzip, welches übrigens in der einen oder anderen Variation immer noch in Storage-Systemen zu finden ist, hat mittlerweile das Limit der Leistungsfähigkeit erreicht. Der logische nächste Schritt ist also die Virtualisierung von mehreren RAID Einheiten. Im Prinzip genau das, was NetApp mit dem Aggregat-Konzept umgesetzt hat. Mehrere RAID-DP Einheiten werden zusammengefasst und ein großes virtuelles Aggregat erzeugt. Damit war die Grundlage für Thin Provisioning geboren. Man war plötzlich nicht mehr an die Limits eines RAID Verbundes gebunden, sondern konnte jetzt aus dem Vollen schöpfen und Volumes innerhalb eines Aggregates beliebig vergrößern und verkleinern. Dabei hat selbst das kleinste Volume die Power aller HDs eines Aggregates zur Verfügung. D.h., man muss eben nicht mehr nur aus I/O Gründen Giga/Terabytes an Plattenplatz beim Sizing von z.B. DB Log Volumes verschwenden.

4.)    Level 3: Der nächste Schritt war die Virtualisierung, oder Konsolidierung ?? von mehreren unterschiedlichen Storage-Systemen. Dadurch kann man die Verwaltung und die Funktionalitäten mehrerer proprietärer Systeme unter einem Dach vereinheitlichen.

5.)    Level 4: Jetzt wird es langsam spannend. Alles Bisherige ist eigentlich schon ein „alter Hut“. Meiner Meinung nach fällt eine Technologie wie NetApp MultiStore auch unter die Kategorie Storage Virtualisierung. Ich nenne es immer „VMware für FAS Storage“. Damit kann man einen physischen Storage Controller in mehrere virtuelle Partitionen aufteilen, die alle völlig unabhängig voneinander agieren. Das ist die Grundlage für eine sichere Mandantenfähigkeit und somit gerade in Shared IT Infrastrukturen ein Muss, um das Potential wirklich vollständig auszunutzen.

6.)    Level 5: Wir sind noch nicht am Ende liebe Leser. ONTAP 8 Cluster-Mode virtualisiert mehrere Storage Controller und macht damit eine Scale-out Storage Architektur möglich. Der eine oder andere mag sich jetzt fragen, was eigentlich dabei der Unterschied zu Level 3 ist? Nun, lassen Sie es mich am Beispiel der Skalierbarkeit erklären: Scale-out Storage skaliert mit der Anzahl der Knoten/Systeme, die in einem Cluster-Verbund integriert sind, und kennt dabei theoretisch keine Grenzen. Beim Level 3 wird man früher oder später ein Bottleneck bei der Virtualisierungsappliance haben. Dort laufen alle I/Os zusammen und es liegt schlichtweg in der Natur der Sache, dass dabei die Skalierbarkeit begrenzt ist. Das Scale-out Storage-Modell bietet dahingegen z.B. auch die Möglichkeit, Volumes über Controller-Grenzen hinweg zu generieren, und damit werden alle derzeitig bekannten Grenzen bzgl. Performance und Kapazität gesprengt. Was an Performance heute schon möglich ist, zeigt ein vor kurzem veröffentlichter Benchmark: 35% mehr Performance als das seinerzeit schnellste System, mit der Hälfte der Infrastruktur. http://www.spec.org/sfs2008/results/sfs2008nfs.html 1.512.784 Operationen/Sek. bei einer Antwortzeit von 1,53 ms. Effizienz und höchste Performance unter einen Hut zu bringen, das ist die Kür in der Storage-Branche. Und derzeit kenne ich keinen anderen Hersteller, der diese beiden Punkte so perfekt miteinander vereint wie NetApp.

Ganz ehrlich, ich war beim Schreiben des Artikels selber überrascht wie viele verschiedene Varianten es von Storage Virtualisierung gibt. Wären Sie auf Anhieb auf 6 gekommen? Themen wie File-Virtualisierung etc. habe ich dabei noch überhaupt nicht betrachtet. Darum sollten Sie immer genau hinterfragen was gemeint ist wenn es um dieses Thema geht.

Anbei noch eine kleine Grafik um meine Theorie zu veranschaulichen: