SAN-Technologie für virtualisierte Server
Konsolidierung und Virtualisierung spielen eine immer größere Rolle in Unternehmen aller Größen – nicht nur vor dem Hintergrund größerer Flexibilität, sondern gerade auch im Hinblick auf Kostenersparnis und Wettbewerbsfähigkeit. Um diese Anforderungen tatsächlich realisieren zu können, benötigen virtualisierte Umgebungen ein ausgefeiltes zentrales Speichersystem.
Um Kosten zu sparen, werden derzeit Konsolidierung und Virtualisierung immer wichtiger, eine wachsende Zahl von IT-Verantwortlichen widmet sich diesen Themen in den RZs. Studien zufolge wird die Zahl der laufenden VMs von ca. 2 Mio. im Jahr 2008 auf 8 Mio. im Jahr 2010 steigen (IDC Virtualization & Multicore Disrupt Server Market 2007). Um Server wirtschaftlich und flexibel virtualisiert betreiben und die Vermehrung virtueller Maschinen (VM) verwalten zu können, wird jedoch zwingend ein zentrales netzwerkweites Speichersystem benötigt:
Techniken wie SAN (Storage Area Network) für die transparente und einheitliche Bereitstellung von Speicherplatz im Netzwerk existieren schon lange, waren bislang jedoch insbesondere aufgrund hoher Kosten und großem Implementierungs- und Verwaltungsaufwand eher den Rechenzentren vorbehalten. Doch inzwischen werden Speichernetzwerktechniken zum Massengut und damit bezahlbar. Standards wie iSCSI und FCoE (Fibre Channel over Ethernet) machen Speichernetzwerke auch für kleinere Umgebungen realisierbar und erschwinglich. Zugleich sind zentrale Speicherlösungen zum unabdingbaren Erfordernis geworden, um Infrastrukturvorhaben wie Konsolidierung und Virtualisierung nutzbringend und erfolgreich umsetzen zu können.
Das Netzwerk als Speicher
Ob Server physisch oder virtualisiert betrieben werden – immer muss reichlich Speicherplatz für das jeweilige Betriebssystem sowie seine Nutzdaten vorhanden sein. Dieser Speicherplatz kann zum einen im Host-Rechner selbst „lokal“ bereitgestellt werden, was zwar einfach und billig zu realisieren ist, jedoch eine Fülle von Nachteilen gerade für Virtualisierung mit sich bringt: dieser Speicherplatz steht nur den VMs auf dem jeweiligen Rechner zur Verfügung; die Erweiterbarkeit des Speichers ist begrenzt; vor allem jedoch lässt sich Hochverfügbarkeit so kaum realisieren.
Servervirtualisierungstechnologien entfalten ihr ganzes Potential nur unter einer Bedingung: das Speichermedium muss für alle beteiligten Rechner, auf welchen die virtuellen Maschinen laufen, zugänglich sein. Voraussetzung dafür ist ein Speicher, welches alle virtuellen Maschinen vorhält und den beteiligten Servern dieselbe Sicht auf alle Speicherbereiche bietet; daher spricht man auch von „shared storage“ (versus „local storage“).
Dieses Storage Area Network (SAN) stellt in aller Regel den virtualisierten Servern den Speicher wie eine normale Festplatte dar, welche über das Netzwerk „transportiert“ wird. Dabei kommen vorwiegend zwei Techniken zum Einsatz: Fibre Channel Protocol (FC) oder iSCSI (Internet Small Computer System Interface). Ersteres bedarf einer eigenen Hardwareinfrastruktur, letzteres setzt auf normaler LAN-Technik auf und ist dadurch günstiger, wenngleich in manchen Szenarien etwas weniger performant.
Normale Netzwerklaufwerke auf Basis von SMB/CIFS, wie man sie in praktisch allen Netzen vorfindet und die oft auf Basis von NAS-Geräten (Network Attached Storage) implementiert sind, arbeiten auf Datei- und nicht auf Block-Ebene bei der Datenübertragung übers Netz und sind daher für performancekritische Anwendungen wie die Virtualisierung von Servern nur in seltenen Fällen geeignet. Dies gilt auch für das weit verbreitete NFS, welches in virtualisierten Umgebungen meist nur für Testzwecke eingesetzt wird.
Virtualisierte Server haben besondere Anforderungen
Erst mittels SAN-Technik lassen sich die zentralen Versprechen der Servervirtualisierung wie Hochverfügbarkeit, Failover und Automatismen wie Live Migration virtueller Maschinen von Rechner A auf Rechner B überhaupt umsetzen.
Warum? Ohne Virtualisierung sind Betriebssysteme untrennbar mit der Hardware verbunden. Mit Virtualisierung kann ein Rechner „partitioniert“ werden, so dass mehrere Betriebssysteme parallel und gleichzeitig darauf laufen können. Oft ist eine VM dabei als eine oder mehrere Dateien manifestiert, die sich leicht auch auf einen anderen Rechner verschieben lassen.
Solange diese Dateien jedoch direkt auf dem Host-Rechner gespeichert sind, hat kein anderer Rechner Zugriff darauf. Erst wenn diese VM als Datei oder Laufwerk in einem zentralen, für alle beteiligten Rechner erreichbaren Speicher residiert, kann eine virtuelle Maschine beispielsweise im laufenden Betrieb von einem Rechner zu einem anderen verschoben werden. Dabei wird nämlich der aktuelle Arbeitsspeicherinhalt samt IP-Adresse über das Netz verschoben – der neue Host hat dann sowohl Arbeitsspeicher als auch Image-Datei unter seiner Kontrolle.
Virtualisierte Systeme bringen weitere besondere Anforderungen mit sich, die sich vor allem aus der Administration ergeben, und welche nur mittels SAN-Technologie umgesetzt werden können:
- Hochverfügbarkeit (HA): Virtualisierte Server müssen besonders gegen Ausfälle gesichert werden, denn ein defekter Rechner bedeutet meist das Aus für viele Server. Mit einem SAN kann die Verfügbarkeit drastisch erhöht werden, z.B. durch automatisiertes Failover: Fällt ein Host-Rechner aus, kann ein Managementsystem eine VM automatisiert auf einem anderen Rechner starten, da dieser über das Netzwerkspeichersystem Zugriff darauf hat. Auch das Speichersystem kann einfacher abgesichert werden als lokale Festplatten, z.B. durch automatisierte Replikation sowie durch Clustering. Damit sind dann sehr robuste Disaster Recovery-Strategien vergleichsweise einfach realisiert.
- Virtualisierte Festplatten können einfacher manipuliert, z.B. nachträglich vergrößert, oder auch mehreren Servern gleichzeitig zur Verfügung gestellt werden.
- Mittels Thin Provisioning kann der Speicherbereich so virtualisiert werden, dass den VMs nur so viel Speicher tatsächlich bereitgestellt wird, wie gerade benötigt.
- Mittels intelligenter Provisionierung kann ein Maximum an Flexibilität aus Servervirtualisierung geschöpft werden. Spezielle Managementtools (Beispiel: Citrix Provisioning Server) können Images zentral verwalten und zur Bootzeit dynamisch den Servern zuweisen, um Hardware optimal auszunutzen und die Administration stark zu vereinfachen.
- Migration: Sollen Rechner gewartet werden oder entlastet werden, lassen sich virtuelle Maschinen im laufenden Betrieb von einem Rechner auf den anderen übertragen. VMware erweitert diesen Vorgang optional um das Verschieben der VM-Images, genannt Storage Vmotion.
- Datensicherung: Das SAN ist der zentrale Punkt für Datensicherung und vereinfacht damit Datensicherungs- und Rücksicherungsvorgänge. Mittels Snapshots können zu jedem Zeitpunkt konsistente Abbilder des Speichers gezogen und schnell wieder hergestellt werden; dies gilt auch für Datenbanken. Einziger Flaschenhals kann dabei der Backupserver selbst sein.
- Deduplizierung steigert die Auslastung und senkt dadurch Kosten. Die Deduplizierung gibt Speicher frei, indem mehrfach vorhandene Daten aufgespürt und beispielsweise beim Backup nur einmalig gesichert werden. Dies senkt den Speicherbedarf auf den Backupmedien (und damit Kosten) und steigert außerdem die Geschwindigkeit beim Restore.
Mit Servervirtualisierung und SAN-Technik wird die gesamte IT-Infrastruktur durch die weitgehende Ablösung von der zugrunde liegenden Hardware zu einem ganzen Pool von flexiblen einzelnen Ressourcen, welche sich vielfältig und einfach verwenden und manipulieren lassen. Eine konsequente Konsolidierung des Storages mittels SAN-Technologien kann zudem helfen, langfristig Hardware- sowie Betriebskosten zu sparen (Energie, Kühlung).
Grundsätzlich machen IT-Verantwortliche allerdings bislang die Erfahrung, dass SAN-Lösungen für virtualisierte Umgebungen zu einer Zunahme des benötigten Speicherplatzes führen. Während aus logischer Sicht eine Verringerung zu erwarten wäre, dürfte dieses Phänomen damit zusammenhängen, dass viel zusätzlicher Speicherplatz für Clones, Testmaschinen und dergleichen mehr in Anspruch genommen wird.
Netzwerkspeicher-Technik und SAN-Komponenten
Wie kann nun eine Kombination aus Servervirtualisierung und SAN realisiert werden?
Grundsätzlich wird der Festplattenspeicher vom Server abgekoppelt und homogen an zentraler Stelle verwaltet. Alle beteiligten Server und auch Clients haben transparenten Zugang zum Speicher – die Festplatten werden transparent über das Netz zur Verfügung gestellt.
Dabei werden dann die virtuellen Maschinen in eigenen Partitionen oder als Image-Datei in den virtuellen Festplatten gespeichert. Je nach Architektur der Umgebung wird dabei auch die Auslagerungsdatei bzw. die Swap-Partition ebenfalls im SAN abgelegt. Zudem gibt es auch Setups, bei denen die Rechner komplett festplattenlos aufgesetzt sind und die Maschine samt Hypervisor ebenfalls aus dem Netzwerk bootet (so etwas ist z.B. mit openQRM realisierbar). Somit reduziert sich der physische Server auf die reine Hardware und kann z.B. einfach ersetzt werden.
Ausgehend von einer virtualisierten Umgebung mit Server mit Virtualisierungssystem (Hypervisor) - z.B. VMware, Xen, Hyper-V – werden in der Regel folgende Komponenten benötigt, um eine sinnvolle Infrastruktur für Servervirtualisierung in Verbindung mit einem Speichernetzwerk zu realisieren:
- Host Bus Adapter (HBA) für die Anbindung der Host-Rechner ans Speichernetz. Diese sollten möglichst redundant ausgelegt sein, zum einen damit bei Ausfall einer Netzwerkkarte weiterhin eine Netzanbindung besteht, zum anderen um die Kartenkapazitäten zu bündeln und so mehr Netzwerkdurchsatz zu erreichen. Wenn es nicht um höchste Performance geht, kommen SAN-Lösungen auf Basis von iSCSI, FCoE (Fibre Channel over Ethernet), AoE (Ata over Ethernet) auch mit reinen Software-Initiators (Client-Komponente des Host-Systems) aus.
- Ein vom normalen LAN separiertes Speichernetzwerk, über welches die Host-Rechner mit den Speicherservern verbunden wird. Dies erhöht die Performance im Netz, verbessert die Sicherheit und schließt Störfaktoren, die z.B. durch Applikationen und Nutzer auftreten können, weitgehend aus.
- Storageserver mit Speichersubsystemen, welche Festplatten virtuell als LUNs (Logical Unit Numbers = logische Speicherbereiche) bereitstellen
- Cluster-Filesystem für die LUN(s), damit gleichzeitige Schreibzugriffe durch mehrere Server auf denselben Speicherbereich ohne Datenkorruption erfolgen können. Oft verwendet werden VMFS (VMware), OCFS2 (Oracle), GFS (Red Hat).
- Clustering der Server, damit Ausfälle einzelner Server automatisiert kompensiert werden können.
- Clustering der Storage-Server, damit Ausfälle einzelner Server automatisiert kompensiert werden können.
- Redundante Auslegung aller kritischen Komponenten wie z.B. Netzwerkkarten und Switches, um einen ausfallsicheren Betrieb gewährleisten zu können. NICs werden dabei zusammengeschaltet; diese als Multipathing bezeichnete Bündelung sorgt für Failover innerhalb der Netzwerkanbindung.
Für den Storage-Teil lassen sich fertige Komponenten kaufen. Alternativ können sich versierte IT-Abteilungen auf Basis von Standard-Servern mithilfe von Opensource-Systemen auf Basis von Linux, DRBD, OCFS2 und LVM sowie Heartbeat und Cluster-Managern kostengünstige und leistungsfähige Storage-Umgebungen aufbauen. Solaris in Verbindung mit ZFS stellt ebenfalls eine sehr performante Storage-Alternative dar. 10 GB-LAN-Komponenten sind inzwischen verfügbar und werden in absehbarer Zeit für die meisten Umgebungen eine mehr als ausreichende Bandbreite zu geringen Kosten ermöglichen.
Moderne Virtualisierungslösungen wie z.B. Citrix XenServer Enterprise oder VMware Infrastructure bringen zudem bereits umfassende Funktionalität für die Implementierung von Business Continuity mit, wobei in jedem Fall ein SAN die Voraussetzung darstellt: So sind hier out-of-the-Box Funktionen für Failover und High Availibility verfügbar, inklusive aussagekräftigem Monitoring und Warnmechanismen (z.B. per eMail). Auch effektive Backup-Lösungen inkl. Snapshotting sind hier schon mit an Bord.
Performance und Filesystem
Zwei zentrale Themen bestimmen derzeit die Diskussion und das Tagesgeschäft in der Konzipierung von virtualisierten Umgebungen auf Basis von SANs: Performance sowie das Speicher-Management, vor allem im Hinblick auf das zugrunde liegende Filesystem.
Performance
Der Datendurchsatz ist entscheidend, damit das Gesamtsystem die nötige Geschwindigkeit beim Lesen und Schreiben von Daten liefert. Aufgrund der Weiterentwicklung der Technik lässt sich nicht mehr pauschal die Einteilung Fibre Channel = schnell und iSCSI = langsam vornehmen. Vielmehr entscheidet eine Vielzahl von Komponenten und Faktoren über die Performance: die zugrunde liegenden Netzwerktechnik, die Architektur des Storage Systems, die Prozessorgeschwindigkeit und Anzahl der Prozessoren, die Größe der Caches und deren Algorithmus-Intelligenz, die Plattengeschwindigkeit und die Anzahl der Platten, sowie die Anzahl der Platten im Stripe-Set bis hin zur Konfiguration der einzelnen Komponenten.
Für unternehmenskritische Anwendungen mit hohen I/O- und Verfügbarkeitsanforderungen bietet Fibre Channel unter Umständen höhere Leistung. In vielen anderen Fällen mag iSCSI die beste Kombination von Preis und Leistung darstellen.
Filesystem
Ohne Zweifel erhöht ein SAN die Komplexität einer virtualisierten Umgebung. Dies geschieht nicht nur durch die höhere Zahl der Komponenten, sondern nun muss physischer und virtueller Speicher zugleich verwaltet werden. Außerdem kann Heterogenität entstehen durch den Einsatz verschiedener Virtualisierungsplattformen. Diese unterscheiden sich nicht nur in ihrer Architektur und im Management, sondern vor allem auch in ihrer Speichertechnik. Je nach Hersteller gibt es unterschiedliche unterstützte oder präferierte Speichermethoden bzw. Dateisysteme.
Der Anspruch an ein Filesystem für Servervirtualisierung ist vielfältig: Es muss Clustering beherrschen, um konkurrierende Zugriffe auf denselben Speicherbereich managen zu können. Es muss virtualisiert sein, damit es beispielsweise nahtlos vergrößert oder mehrfach zugeteilt werden kann. Zudem muss es zu den vielfältigen Speicherhardwaresystemen vieler unterschiedlicher Hersteller passen.
VMware hat hierfür ein eigenes Filesystem namens VMFS geschaffen, welches Locking implementiert, um simultane konkurrierende Zugriffe zu implementieren; es ermöglicht Snapshots und nahtlose Vergrößerung. Von vielen Speicherherstellern wird es inzwischen kritisch gesehen, da es direkt konkurriert mit den umfangreichen Features moderner iSCSI- und FC-Speichersysteme, welche bereits umfangreiche Verwaltungsfunktionen mitbringen, um viele Managementoperationen realisieren zu können, wie z.B. Cloning virtueller Maschinen oder Snapshot-Backups, die auch im laufenden Betrieb gezogen werden können. Dafür und für Backups sind aber zwingend VMware-eigene Tools nötig. Zudem bietet VMFS derzeit keine Möglichkeit zum Thinprovisioning.
Citrix hat hier einen konträren Ansatz gewählt: statt ein proprietäres Dateisystem zu implementieren, werden die gängigen Speicherarchitekturen direkt unterstützt – darauf richtet XenServer dann Logical Volumes mittels LVM ein. Ist Clustering gefordert, hat der Administrator die Wahl zwischen handelsüblichen Systemen wie OCFS2 oder GFS. Über eine Storage-API können darüber hinaus die Storagesysteme direkt mit XenServer integriert werden, so dass Operationen wie Cloning, Snapshotting und Provisioning vom Storagesystem selbst und nicht vom Hypervisor bzw. dem Clusterfilesystem und dessen Tools durchgeführt werden. Dies führt zu schlankeren Systemen, zu einer geringeren Last der Hostrechner sowie zu einer geringeren Belastung des Netzwerks, da weit weniger Daten über das LAN geschickt werden müssen, weil die Operationen quasi lokal auf den zentralen Daten ausgeführt werden.

SAN-Architekturen in virtualisierten Umgebungen im Vergleich
Microsoft Hyper-V hat derzeit mit NTFS hier noch einige Einschränkungen aufzuweisen, so kann ein sicherer SAN-Betrieb derzeit nur gewährleistet werden, wenn je VM eine eigene LUN bereitgestellt wird, was den Administrationsaufwand erhöht und die Flexibilität einschränkt. Mit den Cluster Shared Volumes (CSV), welche Windows 2008 R2 bringen wird, kommt echtes Laufwerks-Clustering; mehrere VHD-Images können dann auf einem virtuellen Laufwerk abgelegt werden, auf Basis dieser Speichertechnik wird Hyper-V dann auch Live Migration beherrschen.
Fazit
Speichernetzwerke sind eine zentrale Komponente in virtualisierten Umgebungen. Eine virtualisierte Infrastruktur zwischen Servern und Storage maximiert Auslastung, Performance und Verfügbarkeit der Systeme und leistet damit einen entscheidenden Beitrag zur Business Continuity. Zudem ist zentralisierter Speicher die Basis für sinnvolle Konsolidierungs- und Virtualisierungsvorhaben.
Die Frage, ob ein SAN auf Basis von iSCSI oder auf Basis von Fibre Channel implementiert werden sollte, hängt von den jeweiligen Anforderungen und technischen Gegebenheiten und kann nur einer Einzelbetrachtung geklärt werden. Momentan empfiehlt sich iSCSI vor allem als sinnvolle Lösung, wenn eine kostengünstige Speicherung von Datenbanksystemen sowie virtueller Maschinen im Netzwerk gefragt ist. Interessant ist dabei, dass auf eine Vielzahl günstiger Standard-Komponenten zurückgegriffen werden kann, um eine passende Lösung zu realisieren. Aufgrund des kommenden 10-Gigabit-Standards rechnen jedoch Experten damit, dass iSCSI mittelfristig aufgrund der dann sehr hohen und billigen Bandbreite durch Fibre Channel over Ethernet (FCoE) verdrängt werden wird. Netzwerkkarten mit entsprechender Unterstützung für diesen Standard sind bereits verfügbar.
Insgesamt wird die IT-Welt durch Virtualisierung plus Netzwerkstorage nicht weniger komplex, eher passiert das Gegenteil. Faktoren sind dabei die Herausforderung, die physische und die virtuelle Umgebung durchgängig zu administrieren, Fehler identifizieren und isolieren zu können, Performancemanagement zu betreiben, Kapazitätsmanagement und -planung durchzuführen, im weitesten Sinne den Schutz der Daten im Blick zu haben. All dies bedarf neuer Werkzeuge und ebensolcher Skills; alte Managementtools greifen hier oft zu kurz. Der Lohn ist eine ungleich flexiblere und schneller reagierende IT-Infrastruktur.
Weblinks
- iSCSI – ein kurze Einführung von Thomas Halinka
Abkürzungsverzeichnis
AoE: Ata over Ethernet
CSV: Cluster Shared Volumes
DAS: Direct Attached Storage
GFS: Global Filesystem
iSCSI: Internet Small Computer System Interface
SAN: Storage Area Network
FC: Fibre Channel
FCoE: Fibre Channel over Ethernet
NAS: Network Attached Storage
NFS: Network Filesystem
OCFS: Oracle Cluster Filesystem (2)
VMFS: VMware Filesystem
— Autor des Beitrags: Andrej Radonic 18.01.2009, 18:50
