Storage Virtualisierung V1.5 (c) Stor IT Back 2012

Einführung

Virtualisierung, was ist das? Leider verstehen nicht alle unter Virtualisierung das gleiche. Ursprünglich war das flexible "Mapping von physikalischen Laufwerken auf logische Volumes" gemeint. Also nichts anderes als die RAID-Technologie mit der flexiblen Partitionierung. Aber was ist jetzt neu daran? Erst einmal kann damit die zentrale Verwaltung aller Storage-Komponenten ermöglicht werden und Features wie SnapShot, Spiegelungen und Backups integriert, ohne dass die Hardwarekomponenten dies direkt unterstützen müssen. Alles in allem die zentrale Administration und Überwachung der gesamten Storage-Landschaft.
Neben der reinen blockbasierenden Virtualisierung in Storage-Umgebungen kommt auch die filebasierende Virtualisierung immer stärker zum Einsatz. Hierbei wird eine Schicht zwischen die Netzwerkclients und die Fileserver (NAS-Systeme) gelegt, die eine flexible Verwaltung bis auf Fileebene ermöglicht.

Ansatzpunkte für die Virtualisierung

Grundsätzlich sind 4 unterschiedliche Ansatzpunkte möglich. Die dezentrale Virtualisierung kann direkt in den Storage-Devices (RAID-Controller und Switchen) vorgenommen werden. Jeder Hersteller liefert Software und Tools zur Administration und Überwachung mit. Wenn gemeinsame Schnittstellen vorhanden sind, so können diese Aufgaben direkt über Fibre Channel oder LAN vorgenommen werden. Diese Ansätze sind aus der Netzwerktechnik bekannt, Software-Produkte wie HP-OpenView, CA Unicenter und NetView sind die bekanntesten Vertreter im LAN-Bereich.
Ein weiterer Ansatz liegt in der Verwaltung über die angeschlossenen Applikationsserver. Hierbei wird eine Softwarekomponente auf den Servern installiert, die dann die Verwaltungsaufgaben übernimmt. Diese Clients können dann von einer zentralen Console aus bedient werden.
Die drei folgenden Prinzipien sind die aussichtsreichsten Vertreter. Sie lassen sich in die drei Gruppen "In-Band-", "Out-Of-Band-Virtualisierung" und lokale Virtualisierung trennen.

Virtualisierung im Storage-System

Sämtliche Funktionen der Virtualisierung sind zentral im Storage-System integriert. Es wird kein zusätzlicher Server oder zusätzliche Hardware benötigt, die Verwaltung vom reinen RAID-System und von der Virtualisierung sind in einem Tool zusammengefasst. Ein Ansatzpunkt der Virtualisierung lässt sich hier aber nicht realisieren, nämlich das Zusammenfassen von unterschiedlichen RAID-Systemen. Alle anderen Features sind aber realisierbar. Natürlich kann auch diese Lösung geclustert werden, auch eine Aufteilung an zwei unterschiedliche Standorte ist möglich.
Da dieses Verfahren mehr mit der In-Band-Virtualisierung verwandt ist, lassen sich zum Beispiel auch zusätzliche Protokolle realisieren. Das ist natürlich immer abhängig von den unterschiedlichen Herstellern. Die Verwandtschaft mit dem Out-Of-Band Verfahren ermöglicht der Virtualisierung im Storage-System die beste Performance, da im Datenstrom keine zusätzlichen Komponenten zur Steuerung verbaut sind.
Ein Beispiel für eine umfangreiche Virtualisierung in einem Storage-System ist der ESVA Serie von Infortrend.

In-Band-Virtualisierung

Virtualisierung In-Band Hierbei liegt die Hard- und Software zur Virtualisierung direkt in den Datenpfaden zwischen Server und Storage-Device. Sehr einfach lassen sich weitere Protokolle zur Nutzung des Speichers implementieren. Die kostengünstige Nutzung von IP (FTP und Web), SMB und NFS ist möglich. Das Gesamtsystem wird flexibler und universeller, NAS und SAN vermischen sich. Sehr entscheidend ist die Ausfallsicherheit der Virtualisierungsschicht. Ein Versagen oder eine Störung in diesem Bereich führt unweigerlich zum Totalausfall des SAN. Der große Vorteil ist jedoch die direkte Beeinflussung des Datenstroms ohne Umwege. Auf diesem Wege lässt sich zum Beispiel auch ein "Serverless-Backup" realisieren.
Diese Lösungen virtualisieren zum Storage hin und geben dann die virtuellen Volumes zu den Servern hin frei. Diese Topologie wird auch "symmetrische Storage-Virtualisierung" genannt.

Out-Of-Band-Virtualisierung

Virtualisierung Out-Of-Band Bei diesem Prinzip liegt die Virtualisierungshardware neben dem Datenpfad. Sollte die Hard- oder Software ausfallen, so sind die Grundfunktionen des SANs immer noch funktionstüchtig. Aber je nach Einfluss der Virtualisierung lassen sich die Daten nicht mehr zuordnen oder sind nicht verfügbar. Also ist auch diese Technik nicht gegen Ausfall automatisch gesichert. Ein wesentlicher Nachteil dieser Lösung ist die Beschränkung auf übliche Storage-Protokolle, wie Fibre Channel, SCSI und iSCSI. Eine direkte Aufrüstung um die NAS- und Internet-Protokolle ist nicht so einfach möglich. Bei dieser Virtualisierung werden die verfügbaren Ressourcen indirekt in die Applikationsserver projiziert, entweder über spezielle Hardware im Host-Bus-Adapter oder über eine Softwareschnittstelle.
Diese Topologie wird entsprechend dann auch "asymmetrische Virtualisierung" genannt.

Vor- und Nachteile der Virtualisierung

Ein ganz klarer Nachteil ist die Verfügbarkeit der Lösungen. Ein Ausfall führt meist zum Versagen der gesamten Storage-Lösung. Also muss die Virtualisierung hochverfügbar ausgelegt werden. Dies erhöht die Kosten extrem, da Cluster eingesetzt werden müssen. Das ist aber gleichzeitig auch ein Vorteil: Wird die Virtualisierung hochverfügbar ausgelegt, so kann durch einfach Spiegelung der Daten eine komplett hochverfügbare Storage-Lösung aufgebaut werden, die auf alle Ausfallszenarien automatisch reagieren kann.

Bei der Out-Of-Band Virtualisierung besteht noch ein weiteres Problem: Es ist der fehlende Standart für die Administration und Überwachung von Storage-Hardware. Noch kann nicht jede Hardware von jeder Virtualisierungs-Software angesprochen werden. Es gibt nur Insellösungen.

Ist aber nun eine Virtualisierung möglich oder gar sinnvoll? Dies kommt auf den Einzelfall an, denn die Vorteile sprechen für sich: Ein Mitarbeiter kann eine größere Menge an Daten verwalten, da erst jetzt eine echte Konsolidierung der Daten über Hardware-Grenzen möglich ist. Wenn die vorhandene Hardware unterstützt wird, ist auch der Schutz der Investition gegeben. Weiterhin können sehr elegant Protokolle wie iSCSI und NAS-Funktionalitäten ins SAN gebracht werden. Serverless Backup wird möglich und SnapShots und Spiegelungen lassen sich flexibel auch für Entry-Level-Hardware integrieren.

Virtualisierung und Hochverfügbarkeit

Virtualisierung HochverfügbarDie Grundlage der hochverfügbaren Storage-Virtualisierung ist die Virtualisierungs-Appliance, also das Gerät, welches die zentrale Verwaltung aller Speicherbereiche ermöglicht. Diese Appliance wird als Cluster ausgeführt, entweder als reiner Failover-Cluster (eine Alliance übernimmt die Arbeit, die andere überwacht nur und übernimmt im Fehlerfalle) oder als Lastausgleichscluster, d.h. beide Systeme übernehmen einen Teil der Aufgaben und überwachen sich gegenseitig. Der Cluster sollte auf zwei unterschiedliche Brandabschnitte aufgeteilt werden.
Die beiden Storage-Systeme sollten dann auch in den beiden unterschiedlichen Brandabschnitten angeordnet werden. Die Spiegelung (ein RAID 1) übernimmt die Virtualisierung. Damit sind die Daten immer konsistent auf beiden Storage-Systemen vorhanden. Sollte ein Storage ausfallen, so arbeiten die Appliances ohne manuellen Eingriff direkt weiter.
Sind dann auch noch die Netzinfrastruktur und die Server redundant ausgelegt, so kann selbst ein kompletter Standort (Brandabschnitt) ausfallen, die Anwendungen stehen weiterhin zur Verfügung.

In Kombination mit einer Server-Virtualisierung wird hieraus eine kostengünstige hochverfügbare EDV-Lösung, die auch noch einfach zu administrieren und zu überwachen ist.


Features der Storage Virtualisierung

In der Storage-Virtualisierung sind verschiedenen Features denkbar. Nicht jeder Hersteller bietet jedes Feature an bzw. bietet das jeweilige Feature unter Umständen etwas anders an. Die folgende Übersicht kann also nur als Leitfaden dienen, die genaue Realisierung muss jeweils individuell geprüft werden.

Vertikale Skalierbarkeit / Horizontale Skalierbarkeit / Loadbalancing

Storage Loadbalancing Die erste Möglichkeit den Plattenplatz bei einem RAID-System zu erhöhen, ist zum Grundgerät zusätzliche JBODs hinzuzufügen. Die Methode die nahezu jedes System beherrscht. Das ist die vertikale Skalierbarkeit.
Der Vorteil ist, das die JBODs kostengünstiger sind als ein RAID-Grundsystem und das auch nur ein Grundsystem überwacht werden muss. Der Nachteil ist jedoch, dass die Performance durch das Grundsystem begrenzt ist. Der RAID-Controller hat nur einen gewissen Durchsatz und die Anbindung an das SAN ist meist auch auf 4 Ports begrenzt. Also bei 8Gbit/s Fibre Channel dann maximal 32 Gbit/s.

Diese Nachteile hebt die horizontale Skalierbarkeit auf. Es wird ein neues Grundsystem mit den vorhandenen kombiniert. Es können auch vorhandene Volumes über mehrere Grundsysteme verteilt werden. Da jedes Grundsystem eigene RAID-Controller und damit auch eigene Anschlüsse zum SAN mitbringen, steigert es nicht nur die Kapazität sondern auch die Performance. So haben dann zum Beispiel 4 eigenständige Grundsysteme mit jeweils 4 x 8 Gbit/s dann schon 128 Gbit/s zum SAN.

Das nebenstehende Bild zeigt die horizontale Skalierbarkeit eines Storage-Systems. Es wird ein gemeinsamer Storage-Pool aus verschiedenen Grundgeräten gebildet. Die virtuelle Festplatte wird auf alle Grundsysteme verteilt. Fordert jetzt ein Server Daten von seiner virtuellen Festplatte ab, so können beide Grundsysteme zur gleichen Zeit die Daten liefern. Der Durchsatz verdoppelt sich nahezu. Das gleiche passiert natürlich auch beim Schreiben, die Daten werden auf die beiden Systeme verteilt, auch dort wird die doppelte Performance erreicht.

Die Verteilung der Daten übernimmt der Storage-Pool, also der Zusammenschluss der vorhandenen Grundgeräte. Weder Server noch Betriebssystem wissen, das hinter dem Storage-Pool mehrere Grundsysteme stehen. Das ist völlig transparent für alle weiteren Schichten. Wird jetzt ein zusätzliches ESVA Grundsystem in einen vorhandenen Pool integriert, dann werden die Daten über alle Systeme verteilt.

Thin Provisioning

Thin Provisioning oder Over-Provisioning "gaukelt" dem Betriebssystem sehr viel Speicherplatz vor, belegt aber tatsächlich nur den wirklich genutzten Speicherplatz auf den Festplatten.
Aber warum denn das?
Die Frage ist einfach zu beantworten. Wenn ein neues System oder eine neue Anwendung eingeführt werden soll, weiß eigentlich niemand so richtig, wie viel Speicherplatz wirklich benötigt wird. Also nimmt man entweder etwas mehr um in Sicherheit zu sein, verschwendet aber unter Umständen viel Speicherplatz, oder man nimmt zu wenig und muss dann umständlich erweitern. Also wäre es doch gut, einfach zu sagen: Das Filesystem bekommt soviel Speicherplatz, dass es auf jeden Fall ausreichend ist, auf der anderen Seite, wird aber aktuell immer nur das an Kapazität belegt, was auch wirklich verbraucht wurde. Alle sind zufrieden, keine Plattenplatzprobleme mehr und auch keine Verschwendung von Festplattenkapazität.
Wie funktioniert das?
Wenn ein Betriebssystem ein neues Filesystem anlegt, dann ist es ja erstmal nicht gefüllt. Es sind zwar einzelne Blöcke belegt und evtl. sind Pointer-Tabellen vorformatiert, aber das belegt sehr wenig Speicherplatz. Das Betriebssystem "sieht" dann also z.B. 2 TB in seinem Filesystem, auf den Platten sind aber nur wenige MB belegt. Schreibt das Betriebssystem jetzt Daten in das Filesystem, dann werden die Daten wirklich auch auf die Platte geschrieben. Aber eine weitergehende Nutzung von Plattenplatz des leeren Teils des Filesystems erfolgt nicht. Sind also auf den virtuellen 2 TB wirklich 500 MB an Daten und 2 MB an Filesystemformatierungen, so ist auf der Festplatte 502 MB belegt.
Natürlich muss auch beim Thin Provisioning der Plattenplatz überwacht werden. Sind auf dem RAID-System 20 virtuelle Festplatten mit je 2 TB angelegt, aber nur 10 TB an Plattenplatz vorhanden, dann wird es irgendwann einmal eng werden. Das muss aber nur zentral auf dem RAID-System überwacht werden. Werden voreingestellte Grenzen überschritten, dann erfolgt eine Warnung an den Administrator. Es müssen zusätzliche Festplatten eingebaut werden (vertikale Skalierung) oder es muss ein zusätzliches Grundsystem integriert werden (horizontale Skalierung). Das lässt sich natürlich im laufenden Betrieb durchführen.

Replikation / Spiegelung zur Steigerung der Verfügbarkeit

Diese beiden Verfahren sind zwar sehr ähnlich, unterscheiden sich aber in einigen wichtigen Punkten. Erreicht werden soll in beiden Fällen die Daten an zwei unterschiedlichen Standorten zu speichern. Dies ist eine K-Fall Vorsorge. Sollte ein Standort oder ein System zerstört werden, so kann entweder unverzüglich bzw. mit kurzer Verzögerung auf die Daten zugegriffen werden.
Bei der Replikation wird nach dem Master-Slave Verfahren gearbeitet. Der Master erfüllt hierbei die I/O Anforderungen der Server. Kommt ein Schreib-IO zu Master, so überträgt dieser die Schreib-Operation an den Slave. Bei der synchronen Replikation wird das Write-OK dem Server erst dann gegeben, wenn die Daten sicher auf Master und Slave angekommen sind. Das führt zu einer leichten Verschlechterung der Schreib-Performance. Jedoch sind die Daten immer auf beiden Systemen auf dem gleichen Stand. Es muss also nach einem Start der synchronen Replikation nicht manuell eingegriffen werden.
Bei der asynchronen Replikation bekommt der Server sein Write-OK direkt wenn die Daten auf dem Master angekommen sind, also ohne zeitliche Verzögerung. Der Master überträgt dann die Daten zum Slave in bestimmten Intervallen. Und bei dieser Übertragung muss darauf geachtet werden, dass die Daten zu diesem Zeitpunkt auch konsistent sind. Das heißt die Steuerung der asynchronen Replikation muss von den Servern aus durchgeführt werden. Diese Replikation ist zwar performanter, aber schwerer zu steuern und aufwendiger in der Überwachung.

Bei der Spiegelung wird ein RAID 1 angewendet. Die Daten werden also zur gleichen Zeit auf das eine und auf das andere Storage-System geschrieben, die Performance ist entsprechend dem eines Einzelsystems. Das Verfahren Spiegelung ist etwas aufwendiger zu realisieren. Es muss in den meisten Fällen eine In-Band-Virtualisierung zwischengeschaltet werden, die das RAID 1 über die beiden Storage-Systeme übernimmt (siehe auch obiges Thema "Virtualisierung und Hochverfügbarkeit").

Tiering

Das Tiering, also die Aufteilung der Daten auf verschiedene Medien, ist sehr effektiv und sehr flexibel mit der Storage-Virtualisierung zu realisieren. Beim Tiering werden die Daten je nach Performance- und Verfügbarkeitsansprüchen auf unterschiedliche Platten bzw. Plattensysteme verteilt. Die Aufteilung auf verschiedene Plattentypen (SSD, SAS und SATA) sind auch in einem RAID-System möglich. Bei der Storage-Virtualisierung kommt aber auch der gemeinsame Zugriff auf verschiedene RAID-Systeme in Betracht. So können die wichtigen und performanten Daten auf Dual Controller-RAID-Systemen abgelegt werden. Ältere bzw. nicht so wichtige Daten auf SATA-Storages mit nur einem Single-Controller-Design. So können auch Test- und Produktionsdaten getrennt werden. Aber alle Server an der Storage-Virtualisierung können auf alle Daten zugreifen.
Damit kann ein Server auf alle Tiers innerhalb aller vorhandenen Storage-Systeme die Daten ablegen. Als Beispiel kann der Datenbankserver seine Datenbankfiles auf dem Dual Controller Enterprise System ablegen, die Logs kommen auf das Enterprise SATA System und die Exports landen auf dem Single-Controller-System mit großen SATA-Platten.
Weitere Informationen zum Thema Tiering.

Fazit Storage Virtualisierung

Eine professionelle Planung in diesem Bereich macht eine Virtualisierung erst möglich. Sehr wichtig sind hierbei, die geforderten Funktionalitäten und die vorhandene Hardware zu berücksichtigen.

Sollten Sie Fragen zu diesem Thema haben, oder wünschen Sie Beratung, so wenden Sie sich an uns. Weiterhin bieten wir herstellerunabhängige Schulungen zum Thema "Storage Area Network" an. In der Basis-Schulung lernen Sie die Unterschiede zu DAS, NAS und iSCSI kennen, sowie die jeweiligen Einsatzgebiete. In der Praxis-Schulung bauen Sie ein komplettes SAN auf, lernen die Topologien kennen und sehen Vor- und Nachteile am "lebenden Objekt". Eine mögliche Virtualisierung wird auch besprochen.

Zurück zur Übersicht
Übersicht
nach oben
nach oben
Übersicht der Angebote
Angebote
Kontakt zur Stor IT Back
Kontakt
Suche auf der Webseite
Suche
Neuaufbau des Frame-Sets
Navigation