freshidea - Fotolia

Die wichtigsten Fragen rund um das Load Balancing virtueller Maschinen

In virtuellen Umgebungen spielt das Load Balancing virtueller Maschinen eine wichtige Rolle. Diese Fragen helfen dabei, häufige Fehler zu vermeiden.

Das Load Balancing ist ein wichtiger Vorgang, bei dem virtuelle Maschinen neu auf Host-Systemen verteilt werden, um Ressourcenbeschränkungen zu umgehen und den Energieverbrauch zu minimieren. Falsch angepackt, kann das Load Balancing aber auch ernsthafte Performance-Probleme nach sich ziehen.

Beim Load Balancing virtueller Maschinen gibt es einige Überlegungen, die man in Betracht ziehen sollte. Auch wenn einige Dinge vom jeweiligen Hypervisor abhängen, so gibt es doch auch generelle Überlegungen, die in jeder Umgebung gelten.

Statisches oder dynamisches Load Balancing?

Eine der ersten Fragen, die dabei beantwortet werden muss, ist die nach statischem oder dynamischem Load Balancing. Anders ausgedrückt: Sollen die VM-Workloads stets auf die gleiche Art und Weise ausgeglichen werden oder gibt es Zeiträume, in denen unterschiedliche Load-Balancing-Ansprüche vorhanden sind?

Manche Unternehmen nutzen zum Beispiel automatisierte Richtlinien, um VM-Hosts auf Basis der aktuell ausgeführten Workloads an- und abzuschalten. In dieser Situation könnte auch eine Policy angelegt werden, durch die am Wochenende eine bestimmte Anzahl an Hosts heruntergefahren wird, um so den Energieverbrauch zu senken. Genauso könnten Unternehmen aber auch zusätzliche Hosts hochfahren, wenn eine höhere Auslastung erwartet wird.

In beiden Fällen werden Hosts automatisch, also dynamisch, auf Basis von Richtlinien hoch- und heruntergefahren. Load Balancer verteilen die VM-Workloads dann auf Basis der vorhandenen Hosts.

Wie aggressiv soll das Load Balancing erfolgen?

Eine weitere grundsätzliche Frage betrifft die Aggressivität des Load Balancings. Jeder Hypervisor-Hersteller nutzt seine eigene Technologie, im Kern geht es aber immer darum, laufende virtuelle Maschinen von einem Host auf einen anderen zu migrieren, so dass am Ende die Last gleichmäßig auf alle vorhandenen Hosts verteilt wird. Auch wenn dies zunächst recht einfach klingt, gibt es dennoch zwei Faktoren, die das Ganze etwas kompliziert machen.

Erstens sind virtuelle Maschinen sehr dynamisch. Eine virtuelle Maschine könnte also plötzlich weit mehr CPU- oder Memory-Ressourcen benötigt als gerade eben, weil eine Lastspitze aufgetreten ist.

Zweitens kann auch das Verschieben virtueller Maschinen von einem Host auf einen anderen enorm viele Ressourcen binden. Die Migration beansprucht CPU-, Memory- und Netzwerkressourcen. Je nach Konfiguration der Hosts kann dabei auch ein hoher Storage I/O entstehen.

Damit sollte klar sein, warum die beiden gerade genannten Punkte wichtige Überlegungen für das Load Balancing darstellen. Besonders aggressiv durchgeführtes Load Balancing kann sich so nämlich durchaus auch negativ auf die Performance auswirken. Wenn eine virtuelle Maschine aufgrund steigender Anforderungen mehr Ressourcen verbraucht und der Load Balancer diese VM daraufhin auf einen anderen Host migrieren will, dann entsteht durch dieses Verschieben ein zusätzlicher Ressourcenbedarf auf dem Host, der sowieso schon mehr Ressourcen benötigt.

Manche Load Balancer sind so konfiguriert, dass sie Workloads auf Basis vorher festgelegter Pläne verschieben, und nicht als Reaktion auf steigende Anforderungen. Aber auch hierbei kann es zu Problemen kommen, wenn die Zeitpläne zu aggressiv eingestellt sind und das Load Balancing gar nicht erst vollständig durchgeführt werden kann, bevor die nächste Migration beginnt.

Sollen dedizierte Load Balancer verwendet werden?

Eine weitere grundsätzliche Frage lautet, ob Software- oder Hardware-Load-Balancer verwendet werden sollen. Früher war dedizierte Hardware als Load Balancer das Mittel der Wahl, heute bieten aber auch Softwarelösungen ausreichende Funktionen.

Wenn dedizierte Hardware zum Einsatz kommen soll, dann gibt es zwei weitere Dinge, über die man sich im Klaren sein sollte: Erstens über Kompatibilitätsfragen, da nicht jeder Hypervisor mit jedem Load Balancer funktioniert. Zweitens über den möglichen Datendurchsatz des Load Balancers. Ein Hardware-Load-Balancer muss ausreichend Ports und Durchsatz bieten, um die Lasten entsprechend ausgleichen zu können.

Wenn eine Softwarelösung verwendet wird, dann muss der entsprechende Server über ausreichend Hardwareressourcen verfügen, um die Anforderungen an das VM-Load-Balancing zu erfüllen. Zudem müssen in diesem Fall aber auch Betriebssystem- und Hypervisor-Abhängigkeiten bedacht werden und wie zukünftig mit Patches und Updates umgegangen werden soll.

Welche Einschränkungen auf Hypervisor-Level gibt es?

Manche Hypervisoren bringen Einschränkungen mit, die sich direkt auf die Möglichkeiten des Load Balancers auswirken. Wer beispielsweise Microsoft Hyper-V und System Center Virtual Machine Manager verwendet, dem bietet sich die Option, Microsoft Network Load Balancing (NLB) zu verwenden. Allerdings kann NLB weder in Umgebungen mit Linux-VMs noch in VM-Netzwerken mit Netzwerkvirtualisierung eingesetzt werden. In beiden Fällen müsste auf dedizierte Hardware zum Load Balancing gesetzt werden.

Mit all den hier genannten Punkten dürfte klar sein, dass die Implementierung eines Load Balancers nicht auf die leichte Schulter genommen werden sollte. Dabei sollte man auch die Komplexität beachten, die vor allem beim Einsatz von Hardware-Load-Balancern im Spiel ist, weil hierbei spezielle Service-Templates oder Konfigurationsanbieter nötig sein können.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im Juli 2017 aktualisiert

Erfahren Sie mehr über Server- und Desktop-Virtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close