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.
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.
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.
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.
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.
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.
Die 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.
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.
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 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.
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").
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.
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.
![]() Übersicht |
![]() nach oben |
![]() Angebote |
Kontakt |
![]() Suche |
![]() Navigation |