Das Virtualisierungsparadox und Cluster Hochverfügbarkeit in virtualisierten Umgebungen: Probleme und Technologien
Das Problem der Hochverfügbarkeit verschärft sich gegenüber eine physischen Infrastruktur in einer virtualisierten Umgebung aufgrund der hohen Konsolidierung. Failover-Clustering und Live-Migration bieten dafür Lösungen.
Anbieter zum Thema
Die Technik der Systemvirtualisierung verändert derzeit massiv die IT-Infrastruktur in Unternehmen beliebiger Größenordnungen – von kleinen Installationen mit einem oder zwei Hosts bis hin zu großen Serverfarmen mit mehreren hundert Hosts: Serversysteme, die mit der x86-Architektur arbeiten, werden nur noch in vergleichsweise seltenen Fällen als physische Maschinen aufgesetzt.
Die Hersteller von Virtualisierungssoftware – auf dem Markt buhlen derzeit vor allem drei Anbieter um die Gunst der Kunden, nämlich VMware mit der vSphere, Microsoft mit dem Hyper-V und Citrix mit dem Xen-Server – werben mit vereinfachter Administration, besserer Managebility und vor allem hohen Einsparungspotentialen durch Serverkonsolidierung.
Konsolidierungsraten von zehn bis 15 zu eins sind keine Seltenheit. Das heißt, dort wo man ohne Virtualisierungstechniken zehn bis 15 physische Systeme unterhalten musste, wird mit dem Einsatz von Virtualisierungstechniken ein physischer Host verwendet, auf dem zehn bis 15 virtuelle Maschinen laufen. Bei einer durchschnittlichen CPU-Auslastung von physischen, x86-basierten Systemen von ca. zehn Prozent liegen die Vorteile einer solchen Konsolidierung auf der Hand.
Netzwerk in virtuellen Umgebungen
Dass die Auslastung von I/O-Subsystemen, also von Disksystemen und Netzwerkkarten, auf physischen Rechnern durchschnittlich deutlich höher als die relativ geringe durchschnittliche Auslastung von CPUs liegt, muss bei der Planung einer virtuellen Infrastruktur natürlich genauso berücksichtigt werden wie die Tatsache, dass auch die Memory-Nutzung auf einem physischen System in der Regel alles andere als gering ist.
Wer hier zu hohe Konsolidierungsraten anstrebt, wird sich auf negative Auswirkungen der Konsolidierung auf die Performance seiner Systeme gefasst machen müssen. Doch um diese potenziellen Performanceprobleme soll es hier nicht gehen – mit der durch Virtualisierungstechniken erreichbaren Serverkonsolidierung ist nämlich noch ein weiteres Problem verbunden: Wenn in einer nicht-virtualisierten Umgebung ein physischer Host ausfällt, fällt eben nur dieser eine physische Host aus. Und da auf x86basierenden Systemen in der Regel nur eine Serveranwendung läuft, fällt mit dem Ausfall eines physischen Hosts in einer klassischen IT-Infrastruktur nur eine Serveranwendung aus.
Ganz anders sieht es in einer virtualisierten Umgebung aus: Aufgrund der z.T. hohen Konsolidierungsraten hat der Ausfall von Hardware in einer virtuellen Umgebung einen deutlich größeren Effekt als der Ausfall von Hardware in einer physischen Infrastruktur: So fallen statt eines Services beim Ausfall eines physischen Hosts, der als Hypervisor fungiert, oft zehn bis 15 Services aus, die in virtuellen Maschinen auf diesem Host liefen. Es stellt sich also verschärft die Frage, wie eine Hochverfügbarkeit von Services in einer virtuellen Umgebung realisiert werden kann.
Das Virtualisierungsparadox
Dabei muss auf ein grundsätzliches Paradox hingewiesen werden: Man setzt Virtualisierungs-techniken ein, um eine Konsolidierung von Systemen zu erreichen – und baut sich damit in Form der Hosts Single Points of Failure (SPOFs) in seine Konfiguration ein, die wiederum durch zu-sätzliche Hardware, mithin im Normalfall explizit nicht genutzte Ressourcen, vermieden werden müssen.
Um also zehn bis 15 physische Systeme virtualisieren zu können, darf man nicht nur einen physischen Host verwenden, sondern muss aus Redundanzgründen noch mindestens einen weiteren physischen Host in die virtuelle Infrastruktur einplanen. Die Konsolidierungsraten müssen dabei dann so gewählt sein, dass die System im Falle des Falles nicht überlastet werden: Denn wenn ein physischer Host zwar prinzipiell in der Lage ist, zehn bis 15 virtuelle Systeme von der Performance her zufriedenstellend laufen zu lassen, darf eine Infrastruktur, die aus zwei physischen Hosts besteht, nicht mit 20 bis 30 virtuellen Maschinen belastet werden – denn diese müssten beim Ausfall eines Hosts alle auf einem einzigen Host laufen, was sicherlich ein Problem für die Performance darstellen würde.
Und sobald Hochverfügbarkeit bei Systemen, bzw. Services, die auf Systemen laufen, überhaupt ein Problem darstellt, so in der Regel auch die Performance, mit der auf einen Service zugegriffen werden kann. Und so kann es auch schon mal sinnvoller sein, einen Service im Fehlerfall gar nicht mehr bereitzustellen als ihn so bereitzustellen, dass ein Zugriff mit zufriedenstellender Performance aufgrund der Überlastung des zugrundeliegenden Hypervisors nicht möglich ist.
Cluster-Technologie
Genauso wie bei physischer IT-Infrastruktur gibt es zur Schaffung von Hochverfügbarkeit auch in der virtualisierten Infrastruktur Clusterungsmechanismen. Diese sind zum größten Teil Failover- oder Restart-Mechanismen, die bestimmte Komponenten (Dienste, Dienstbestandteile oder ganze virtuelle Maschinen) überwachen und auf Abweichungen von Sollwerten (z.B. ein Dienst soll laufen, eine virtuelle Maschine soll online sein) mit Failover oder Restart reagieren.
Solche Mechanismen sind reaktiv: Wenn ein Fehler aufgetreten ist beispielsweise ein Host ausgefallen ist oder ein Dienst unerwarteterweise beendet wurde, wird per Restart der ausgefallenen Komponente auf dem gleichen oder einem anderen System im Cluster, auf den Fehler reagiert. Das heißt aber auch, dass nicht gespeicherte Daten verloren gehen (können) und Netzwerkverbindungen abbrechen.
weiter mit „Fehlertoleranz“
(ID:2047260)