Suchen

SNW2007 Europe – Schwerpunktthema Speichervirtualisierung Ein Ziel, viele Wege – Virtualisierungsverfahren im Vergleich

Autor / Redakteur: Christian Groll, LSI Logic / Nico Litzel

Eine Virtualisierungsschicht kann auf der Server-Ebene ansetzen, auf der Ebene der Speichersubsysteme oder speicher- und serverneutral auf Netzwerkebene. Hier wiederum gibt es zwei grundlegende Ansätze: Bei der In-Band-Lösung regelt eine Appliance, die zwischen den Servern und den Speichern „sitzt“, sowohl den kompletten Datenverkehr als auch die Metadaten. Beim Out-of-Band-Ansatz übernimmt eine Appliance nur das Metadaten-Management. Vor- und Nachteile erläutert der folgende Artikel.

Firmen zum Thema

( Archiv: Vogel Business Media )

Um Speicher zu virtualisieren, kann man Speicherverwaltungssoftware einsetzen, die auf der Server-Ebene ausgeführt wird. Der Hauptvorteil besteht darin, dass mehrere Speichersubsysteme parallel mit mehreren Servern arbeiten können. Allerdings wirft dieses Verfahren das Problem auf, dass es eine vorherige Partitionierung der gesamten SAN-Ressourcen (Festplatten oder LUNs) auf den verschiedenen Servern voraussetzt. Die Virtualisierung erfolgt nur auf vorher zugewiesenem Speicher, was einen der Hauptvorteile von SANs sowie die Unabhängigkeit der Volumes von den Servern zunichte macht.

Üblicherweise werden ganze LUNs spezifischen Servern zugeordnet, was die Anzahl der Server begrenzt, die ein bestimmtes Speichersubsystem benutzen können. Außerdem lässt sich ein virtuelles Volume, das beispielsweise über den Speicherplatz von zwei LUNs erstellt wurde, nur schwer auf einen anderen Server verschieben, vor allem wenn noch andere Volumes auf denselben LUNs erstellt wurden.

Bildergalerie

Eine Virtualisierung auf Host-Ebene erfordert gewöhnlich auch erweiterte Verwaltungsfunktionen mit parallelen Verfahren für Zoning und LUN-Masking. Zudem muss eine LAN-Verbindung für die Synchronisierung zwischen den Servern vorhanden sein, welche die Zuverlässigkeit des gesamten SAN beeinträchtigen kann.

Virtualisierung auf Speichersubsystemebene

Dieses Verfahren war in den 90er-Jahren zunächst in Mainframe-Umgebungen implementiert worden und zählt heute zu den gängigsten Lösungen zur Speichervirtualisierung. Die Virtualisierung wird durch das Erstellen virtueller Volumes über den Speicherplatz des jeweiligen Speichersubsystems erreicht. Will man alle SAN-Speicherressourcen zu einem Pool zusammenfassen und virtuelle Volumes über mehrere Speichersubsysteme verwalten, muss dieses Verfahren durch zusätzliche Funktionen ergänzt werden, was im Allgemeinen nur in homogenen SAN-Umgebungen mit nur einer Art von RAID-Subsystem praktikabel ist. Durch das Erstellen virtueller Volumes auf Speichersystemebene erzielt man zwar Server-Unabhängigkeit, eine einheitliche Verwaltungsstruktur ist aber normalerweise nur für homogene Umgebungen möglich, und sie ist zudem auch nicht sehr flexibel.

Netzwerkbasierende Virtualisierung

Das ist der interessanteste und gleichzeitig aussichtsreichste Ansatz, da er speicher- und serverneutral ist. Eine entscheidende Voraussetzung für eine Speichervirtualisierung besteht darin, „heterogene Speichersysteme wie eine einheitliche Speicherressource erscheinen und reagieren zu lassen“. Eine netzwerkbasierende Virtualisierung funktioniert zudem anbieterunabhängig.

Netzwerkbasierende Virtualisierung kann mit zwei grundlegenden Architekturen erreicht werden:

  • Symmetrischer Ansatz: separate Appliances im Datenpfad der Speichernetzwerk-Infrastruktur.
  • Asymmetrischer Ansatz: separate Appliances außerhalb des Datenpfads der Speichernetzwerkinfrastruktur.

Symmetrische Virtualisierung

Die Architektur des symmetrischen Ansatzes, also innerhalb des Datenpfades, ist in Abbildung 1 dargestellt. Dieser Ansatz sieht eine Installation des Systems (eine Rechenplattform und der dazugehörige Speicher) zwischen den Speichernutzern (also die Server im SAN) und den Speicherressourcen vor, zumindest was den Datenfluss anbelangt.

Hauptnachteil des symmetrischen Virtualisierungsansatzes ist, dass ein SAN-Flaschenhals entsteht, der die Performance und Skalierbarkeit des Speichernetzwerkes einschränkt und die Konzeption umfangreicher und hochverfügbarer Konfigurationen erheblich erschwert.

Das symmetrische Virtualisierungskonzept setzt voraus, dass alle Daten von sämtlichen Anwendungsservern über einen einzigen Computer laufen. Um ernsthafte Performance-Probleme zu vermeiden, muss diese Rechenplattform in der Lage sein, den Durchsatz des gesamten SAN zu bewältigen, was meist nur durch teure Hardware-Konfigurationen erreicht werden kann. Doch selbst mit hochgradig leistungsfähiger Hardware bleibt das Problem der Skalierbarkeit bestehen, da die symmetrische Appliance nur für eine bestimmte maximale Bandbreite ausgelegt ist.

Die Hardware für den Aufbau einer symmetrischen Appliance zur Unterstützung von 20 Servern mit angemessener Performance kann 25.000 US-Dollar und mehr kosten, wobei sich dieser Betrag mindestens verdoppelt, wenn zusätzlich Hochverfügbarkeit erforderlich ist.

Cache-Funktion

Manche symmetrische Konzepte versuchen dieses Performance-Problem zu umgehen, indem sie die Appliance um eine Cache-Funktion erweitern. Das belastet jedoch das Speichersubsystem der Appliance noch stärker. Aus verschiedenen Gründen ist eine Cache-Funktion viel effektiver, wenn sie verteilt (also als Teil des RAID-Subsystems) statt zentralisiert (also als Teil der Speicherverwaltungs-Appliance) konzipiert wird.

Der Einsatz von Caching macht auch komplexere Hochverfügbarkeitskonfigurationen komplizierter, da diese einzelne Fehlerstellen zu vermeiden suchen, ebenso wie skalierbare Konfigurationen, in denen zusätzliche Appliances hinzugefügt werden, um auf zunehmende Last zu reagieren. Wenn Caching für mehrere Appliances eingesetzt wird, ist eine Strategie zur Gewährleistung der Cache-Kohärenz erforderlich. Erfahrungen mit RAID-Controllern haben gezeigt, dass dies sehr kompliziert – und teuer– sein kann.

Um eine hohe Performance auf der Serverseite zu erreichen, wenn zwei oder mehr HBAs verwendet werden, muss auf jedem Server ein Software-Treiber installiert sein. Das gilt sowohl für symmetrische als auch für asymmetrische Lösungen. Bei beiden muss eine Software auf dem Server installiert sein, um redundante und hoch leistungsfähige (mehrere Pfade) Lösungen zur Erhöhung des Durchsatzes zu erstellen.

Asymmetrische Virtualisierung

Bei diesem Verfahren wird eine Kombination aus Appliance und Agenten zur Erstellung und Verwaltung virtueller Volumes bei direktem Datentransfer zwischen Server und Speichersubsystemen verwendet (siehe Abbildung 2). Indem mehrere Speichersubsysteme parallel mit mehreren Servern arbeiten, wird die Gesamtperformance bis auf die maximale Bandbreite der FC-Fabric oder sogar darüber hinaus erhöht.

Beim asymmetrischen Ansatz, also außerhalb des Datenpfades, erfolgt die Verwaltung der Metadaten vom Datenpfad getrennt. Die Appliance fungiert dabei als Metadatencenter, das den physischen Speicher „sieht“ und virtuelle Volumes zuordnet, während ein Agent bei jedem Server im SAN das eigentliche Mapping der virtuellen Volumes übernimmt. Der Agent ruft die Volume-Konfiguration von der Appliance ab und präsentiert dem Betriebssystem die virtuellen Volumes so, als ob es sich um Plattenlaufwerke handelt. Wenn das Betriebssystem einen I/O an das virtuelle Volume sendet, fängt der Agent den I/O ab, übersetzt die logische Adresse in die physische und sendet die I/Os direkt an die Speichergeräte.

Diese Architektur behält die Flexibilität der symmetrischen Virtualisierung bei, ohne dass man dabei Einbußen bei der Performance oder hohe Hardwarekosten in Kauf nehmen muss. Die Appliance kann ein kleines und preiswertes Gerät sein, da sie mit den eigentlichen Datentransfers nichts zu tun hat.

Hochverfügbare SAN-Konfigurationen können durch einfache Redundanz der Appliance implementiert werden. Außerdem lässt sich eine sehr hohe Skalierbarkeit erreichen, indem lose verbundene Speicherdomänen und ähnliche Strukturen eingesetzt werden, die den Hauptvorteil des asymmetrischen Konzepts nutzen, das heißt, den Umstand, dass nie ausstehende I/Os in der Appliance gespeichert werden und weder Clustering noch Algorithmen zur Gewährleistung der Cache-Kohärenz oder aber andere komplexe Funktionen erforderlich sind, die in der Praxis die Erweiterung von Unternehmens-SANs einschränken.

Hochverfügbare Server-Konfigurationen werden (wie auch beim symmetrischen Ansatz) durch die Installation mehrerer HBAs im Server erreicht, wobei ein Software-Agent die Load-Balancing- und Fail-Over-Funktionen übernimmt.

Fazit

Das beste Verfahren zur Implementierung einer Speichervirtualisierung besteht in einer asymmetrischen Architektur mit einer Kombination aus SAN-Appliance und -Agenten. Dieses Verfahren bietet gegenüber anderen Architekturen erhebliche Vorteile in Hinblick auf Skalierbarkeit, Performance, Zuverlässigkeit und Kosten. Der StoreAge SVM (Storage Virtualization Manager) von LSI ist eine Implementierung dieses bevorzugten Ansatzes.

(ID:2008149)