Speicherplatz kann zwar im Host-Rechner selbst lokal bereitgestellt werden, was einfach und billig zu realisieren ist, aber erhebliche Nachteile für die Virtualisierung mit sich bringt:
-
Er steht nur den virtuellen Maschinen (VMs) auf dem jeweiligen Rechner zur Verfügung;
-
die Erweiterbarkeit des Speichers ist begrenzt;
-
Hochverfügbarkeit lässt sich so kaum realisieren.
Normale Netzwerklaufwerke auf Basis von SMB/CIFS, die File-Server und NAS-Geräte (Network Attached Storage) in praktisch allen LANs zur Verfügung stellen, überwinden zwar diese Beschränkungen. Sie arbeiten jedoch auf Datei- und nicht auf Block-Ebene. Daher sind sie für die Datenübertragung übers Netz bei Performance-kritischen Anwendungen wie der Virtualisierung von Servern nur in seltenen Fällen geeignet. Dies gilt auch für das weit verbreitete Network File System (NFS), welches in virtualisierten Umgebungen meist nur für Testzwecke eingesetzt wird.
Erst mittels SAN-Technik lassen sich die zentralen Versprechen der Server-Virtualisierung wie Hochverfügbarkeit, Failover und Automatismen wie Live Migration virtueller Maschinen (VMs) von Rechner A auf Rechner B einlösen.
Was SANs für virtuelle Server leisten
In der Regel liegt eine VM als eine oder mehrere Dateien vor. Erst wenn diese in einem zentralen, für alle beteiligten Rechner erreichbaren Speicher residieren, kann eine virtuelle Maschine beispielsweise im laufenden Betrieb von einem Rechner zu einem anderen verschoben werden. Dabei wird der aktuelle Arbeitsspeicherinhalt samt IP-Adresse über das Netz verschoben - der neue Host hat dann sowohl Arbeitsspeicher als auch die 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 physikalischer Rechner bedeutet meist das Aus für viele virtuelle Server. Ein SAN kann die Verfügbarkeit drastisch erhöhen, etwa durch automatisiertes Failover. Fällt ein Host-Rechner aus, kann ein Management-System eine VM automatisch auf einem anderen Rechner starten, da dieser über das Netzwerkspeichersystem Zugriff auf das Systemabbild hat. Auch das Speichersystem selbst lässt sich einfacher absichern als lokale Festplatten, beispielsweise durch Replikation und Clustering. Damit sind sehr robuste Disaster-Recovery-Strategien vergleichsweise einfach realisierbar.
-
Virtualisierte Festplatten können einfacher manipuliert, das heißt 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 bereitgestellt wird, wie sie tatsächlich gerade benötigen.
-
Mittels intelligenter Provisionierung kann ein Maximum an Flexibilität aus Server-Virtualisierung geschöpft werden. Spezielle Management-Tools wie der "Provisioning Server" von Citrix können Images zentral verwalten und zur Boot-Zeit auf den Servern übertragen.
-
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, "Storage VMotion" gennannt.
-
Datensicherung: Das SAN ist der zentrale Punkt für die Datensicherung und vereinfacht damit Backup und Restore. Mittels Snapshots können zu jedem Zeitpunkt konsistente Abbilder des Speichers gezogen und schnell wiederhergestellt werden. Dies gilt auch für Datenbanken. Einziger Flaschenhals kann dabei der Backup-Server selbst sein.
-
Deduplizierung steigert die Auslastung und senkt dadurch die Kosten. Diese Funktion gibt Speicher frei, indem mehrfach vorhandene Daten aufgespürt und nur einmalig abgelegt werden. Dies senkt etwa den Speicherbedarf auf den Backup-Medien und steigert außerdem die Geschwindigkeit beim Restore.
Mit Server-Virtualisierung 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 von Storage mittels SANs kann zudem helfen, langfristig Hardware- sowie Betriebskosten zu sparen (Energie, Kühlung).
Allerdings machen IT-Verantwortliche bislang die Erfahrung, dass SAN-Lösungen für virtualisierte Umgebungen zu einer Zunahme des benötigten Speicherplatzes führen. Während eigentlich eine Verringerung zu erwarten wäre, dürfte dieses Phänomen damit zusammenhängen, dass viel zusätzlicher Speicherplatz für Clones und Testmaschinen in Anspruch genommen wird.
Welche Komponenten werden benötigt?
Beim Einsatz von Netzspeichern werden 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 beziehungsweise die Swap-Partition ebenfalls im SAN abgelegt. Zudem gibt es auch Konfigurationen, bei denen die Rechner vollständig ohne Platte auskommen und die Maschine samt Hypervisor ebenfalls aus dem Netzwerk startet (das ist etwa mit openQRM realisierbar). Somit reduziert sich der physische Server auf die Basishardware und kann im Notfall einfach ersetzt werden.
Für eine angemessene Infrastruktur zur Server-Virtualisierung werden in Verbindung mit einem Speichernetzwerk folgende Komponenten benötigt:
-
Host Bus Adapter (HBA) für die Anbindung der Host-Rechner ans Speichernetz. Diese sollten möglichst redundant ausgelegt sein, um bei Ausfall eines Adapters weiterhin eine Netzanbindung besteht. Außerdem lässt sich die Kapazität der Karten bündeln und so mehr Datendurchsatz erreichen. Wenn nicht maximale Performance benötigt wird, kommen SAN-Lösungen auf Basis von iSCSI, FCoE (Fibre Channel over Ethernet), Ata over Ethernet (AoE) auch mit reinen Software-Clients ("Initiators") auf dem Host-Systems aus.
-
Ein vom normalen LAN getrenntes Speichernetzwerk, über das die Host-Rechner mit den Speicherservern verbunden sind. Dies erhöht die Performance im Netz, verbessert die Sicherheit und schließt Störfaktoren, etwa durch Applikationen und Nutzer, weitgehend aus.
-
Storage-Server mit Speichersubsystemen, die Festplatten virtuell als Logical Unit Numbers (LUNs, logische Speicherbereiche) bereitstellen.
-
Cluster-Filesysteme 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) oder GFS (Red Hat).
-
Clustering der Server, damit Ausfälle einzelner Maschinen automatisch abgefangen werden können.
-
Clustering der Storage-Server, damit sich Ausfälle einzelner Server automatisiert kompensieren lassen.
-
Redundante Auslegung aller kritischen Komponenten wie Netzwerkkarten (NICs) und Switches, um einen ausfallsicheren Betrieb zu gewährleisten. NICs werden dabei zusammengeschaltet; diese als Multipathing bezeichnete Bündelung sorgt für Failover innerhalb der Netzwerkanbindung.
Günstige Open-Source-Alternativen
Für Storage können versierte IT-Abteilungen alternativ zu fertigen Lösungen auf Basis von Standard-Servern mithilfe von Open-Source-Produkten kostengünstige und leistungsfähige Umgebungen aufbauen. Dafür eignet sich etwa die Kombination von Linux, DRBD, OCFS2 und Logical Volume Manager (LVM) sowie Heartbeat und einem Cluster-Manager. Open Solaris in Verbindung mit ZFS stellt ebenfalls eine sehr leistungsfähige Storage-Option dar, Nexenta bietet auf Basis von ZFS eine günstige kommerzielle Lösung. 10 GB-LAN-Komponenten sind inzwischen verfügbar und werden in absehbarer Zeit für die meisten Umgebungen eine ausreichende Bandbreite zu geringen Kosten ermöglichen.
Moderne Virtualisierungslösungen wie "Citrix XenServer Enterprise" oder "VMware Infrastructure" bringen zudem umfassende Funktionen für das Kontinuitätsmanagement mit, wobei in jedem Fall ein SAN Voraussetzung ist. Aktuelle Virtualisierungssoftware unterstützt Failover und High Availibility, inklusive aussagekräftigem Monitoring und Warnmechanismen (auch per E-Mail). Effektive Backup-Lösungen inklusive Snapshotting sind ebenfalls schon mit an Bord.
Performance gewährleisten
Der Datendurchsatz ist entscheidend, damit das Gesamtsystem die nötige Geschwindigkeit beim Lesen und Schreiben von Daten liefert. Aufgrund der Weiterentwicklung der Technik trifft die pauschale Einteilung Fibre Channel = schnell und iSCSI = langsam nicht mehr zu. Letztlich entscheiden mehrere Komponenten und Faktoren über die Performance:
-
die zugrunde liegende Netzwerktechnik;
-
die Architektur des Storage-Systems;
-
die Prozessorgeschwindigkeit und Anzahl der Prozessoren;
-
die Größe der Caches und dessen Algorithmus;
-
die Plattengeschwindigkeit und die Anzahl der Platten;
-
die Anzahl der Platten im Stripe-Set.
Für unternehmenskritische Anwendungen mit hohen Anforderungen für I/O- und Verfügbarkeit bietet Fibre Channel unter Umständen höhere Leistung. Momentan empfiehlt sich iSCSI vor allem als sinnvolle Lösung, wenn eine kostengünstige Speicherung von Datenbanksystemen sowie virtueller Maschinen im Netzwerk gefragt ist.
Dabei kann auf eine Vielzahl günstiger Standardkomponenten 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 wird. Netzwerkkarten mit entsprechender Unterstützung für diesen Standard sind bereits verfügbar.
Wahl des Dateisystems
Der Anspruch an ein Dateisystem für die Server-Virtualisierung ist vielfältig: Es muss Clustering-fähig sein und mit konkurrierenden Zugriffe auf denselben Speicherbereich zurechtkommen. Außerdem soll es virtualisiert sein, damit es beispielsweise beliebig vergrößert oder mehrfach zugeteilt werden kann. Zudem muss es zu den vielfältigen Hardware-Systemen vieler unterschiedlicher Hersteller passen.
VMware hat hierfür ein eigenes Dateisystem namens VMFS geschaffen, welches Locking implementiert, um Konflikte bei rivalisierenden Zugriffen zu vermeiden. Es ermöglicht Snapshots und nahtlose Vergrößerung. Von vielen Speicherherstellern wird es kritisch gesehen, weil moderne iSCSI- und FC-Speichersysteme vieler dieser Features selbst mitbringen, darunter Cloning virtueller Maschinen oder Snapshot-Backups. Allerdings bietet VMFS den Vorteil, dass es diese fortgeschrittenen Funktionen auch für relativ "dumme" Speichersysteme zur Verfügung stellen kann. Dafür sind allerdings zwingend VMware-eigene Tools nötig. Zudem beherrscht VMFS derzeit Thin Provisioning nicht.
Citrix hat hier einen konträren Ansatz gewählt: statt ein proprietäres Dateisystem zu implementieren, unterstützt es die gängigen Speicherarchitekturen direkt. 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 ein API können darüber hinaus die Storage-Systeme direkt mit XenServer integriert werden, so dass Operationen wie Cloning, Snapshotting und Provisioning vom Storagesystem selbst und nicht vom Hypervisor beziehungsweise dem Cluster-Dateisystem und dessen Tools übernommen werden. Dies führt zu schlankeren Systemen, zu einer geringeren Belastung der Host-Rechner und 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.
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 erhöht die Auslastung, die Performance und die Verfügbarkeit der Systeme. Damit leistet sie einen entscheidenden Beitrag zur Business Continuity. Zudem ist zentralisierter Speicher die Basis für sinnvolle Konsolidierungs- und Virtualisierungsvorhaben.
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, Performance-Management zu betreiben, Kapazitäten zu planen und im weitesten Sinne den Schutz der Daten im Blick zu haben. All dies bedarf neuer Werkzeuge und ebensolcher Fähigkeiten; alte Management-Tools greifen hier oft zu kurz. Der Lohn ist eine ungleich flexiblere und schneller reagierende IT-Infrastruktur.