Wie Speicher und virtuelle Server zusammenspielen

02.04.2009
Von 
Andrej Radonic ist Experte für Virtualisierung, Cloud-Technologien und Open Source Anwendungen. Der Fachbuchautor ist Vorstand der interSales AG und entwickelt für mittelständische Unternehmen anspruchsvolle E-Commerce Lösungen.
Storage Area Networks (SANs) existieren schon lange und werden dank iSCSi und Fibre Channel over Ethernet auch für kleinere Unternehmen erschwinglich. Eine zentrale Rolle spielen sie bei der Server-Virtualisierung.

Speicherplatz kann im Host-Rechner selbst lokal bereitgestellt werden, was zwar 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 Netzwerkwerke 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 Blockebene. Daher sind sie für die Datenübertragung über das 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), das 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.

Trennung von Server und Speicher

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 transportiert – der neue Host hat dann sowohl das Speicherabbbild im RAM als auch die Image-Datei unter seiner Kontrolle.

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 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.

Schlanke Server

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 die Auslagerungsdatei beziehungsweise die SwapPartition ebenfalls im SAN abgelegt. Zudem gibt es 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.

Benötigte Komponenten

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, damit 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 keine 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-System aus.

  • Ein vom normalen LAN getrenntes Speichernetz, über das die Host-Rechner mit den Speicher-Servern 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.

Kontinuitäts-Management

Moderne Virtualisierungslösungen wie "Citrix XenServer Enterprise" oder "VMware Infrastructure" bringen zudem umfassende Funktionen für das Kontinuitäts-Management mit, wobei ein SAN Voraussetzung ist. Aktuelle Virtualisierungssoftware unterstützt Failover und High Availability inklusive aussagekräftigem Monitoring und Warnmechanismen (auch per E-Mail). Effektive Backup-Lösungen inklusive Snapshotting sind ebenfalls schon mit an Bord.

Performance-Faktoren

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 ist schnell" und "iSCSI ist 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 ihre Algorithmen;

  • die Plattengeschwindigkeit und die Anzahl der Platten;

  • die Anzahl der Platten im Stripe-Set.

Für unternehmenskritische Anwendungen mit hohen Anforderungen an 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, 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 konkurrierendem Zugriff 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 Hardwaresystemen 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 viele 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 jedoch 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.

Speicher entlastet Hypervisor

Ü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 Speicher 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 geschieht 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. (ws)

SAN-Features für virtuelle Server

Virtualisierte Systeme bringen weitere besondere Anforderungen mit sich, die sich vor allem aus der Administration ergeben und nur mittels SAN-Technologie umgesetzt werden können:

  • Hochverfügbarkeit: Virtualisierte Server müssen besonders gegen Ausfälle gesichert werden, denn ein defekter physischer 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 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 per Streaming auf den Server übertragen.

  • Migration: Sollen Rechner gewartet 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" genannt.

  • 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 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 einmal abgelegt werden. Dies senkt etwa den Speicherbedarf auf den Backup-Medien und steigert außerdem die Geschwindigkeit beim Restore.

Open-Source-Alternativen

Für Storage können versierte IT-Abteilungen alternativ zu fertigen Lösungen auf Basis von Standard-Servern mit Hilfe 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.