-
Was ist Lastenausgleich?
-
Welche Rolle spielt Load Balancing?
-
Wie funktioniert Load Balancing?
-
Unterschied zwischen Hardware- und Software-Load-Balancern
-
Lastverteilungsalgorithmen
-
Arten von Load Balancern
-
Effizientes VM-Backup mit Vinchin Backup & Recovery
-
Häufig gestellte Fragen zur Lastverteilung für virtuelle Maschinen
-
Fazit
Bei der heutigen rasanten Entwicklung digitaler Dienste und angesichts des exponentiell wachsenden Bedarfs an Netzwerkzugriffen ist die Lastverteilungstechnologie zu einer zentralen Infrastruktur für die Sicherstellung der Systemverfügbarkeit und -stabilität geworden. Als zentrales Steuerungssystem in einer verteilten Architektur verteilt sie Datenverkehr intelligent und weist Benutzeranfragen sinnvoll auf mehrere Serverknoten zu. Dadurch werden Probleme wie Leistungsengpässe an einzelnen Punkten und unausgewogene Ressourcenauslastung wirksam gelöst. Die Technologie entwickelt sich kontinuierlich weiter und wird zunehmend zu einem entscheidenden technischen System, das hohe Parallelität und hohe Verfügbarkeit moderner Internetdienste unterstützt.
Was ist Lastenausgleich?
Lastenausgleich bezeichnet die Verteilung der Last (Arbeitsaufgaben oder Netzwerkanfragen) auf mehrere Betriebseinheiten (Server oder Komponenten). Ziel ist es, den Netzwerkverkehr möglichst gleichmäßig auf mehrere Server zu verteilen, um die hohe Verfügbarkeit des gesamten Geschäftssystems sicherzustellen.
In den Anfangszeiten des Internets, als das Netzwerk noch unterentwickelt war, der Datenverkehr relativ gering und die Dienste einfacher, hätte ein einzelner Server oder eine Instanz möglicherweise ausgereicht, um die Zugriffsanforderungen zu erfüllen. Doch heute, mit dem Fortschritt des Internets, können Anfragen leicht zehn bis hundert Milliarden erreichen, und ein einzelner Server oder eine einzelne Instanz kann diese Anforderungen nicht mehr bewältigen, weshalb Cluster benötigt werden. Egal ob für hohe Verfügbarkeit oder hohe Leistung – mehrere Maschinen sind erforderlich, um die Servicekapazität zu erweitern, und die Nutzer sollten unabhängig davon, mit welchem Server sie sich verbinden, stets konsistente Antworten erhalten.
Andererseits muss der Aufbau und die Steuerung von Service-Clustern für die Nutzerseite hinreichend transparent bleiben – selbst wenn Tausende oder Zehntausende von Maschinen auf Anfragen reagieren, sollte dies die Benutzer nicht betreffen. Die Nutzer müssen sich lediglich einen Domainnamen merken. Die technische Komponente, die für die Steuerung mehrerer Maschinen zuständig ist und über eine einheitliche Schnittstelle Dienste bereitstellt, wird als Lastverteiler bezeichnet.
Welche Rolle spielt Load Balancing?
Hohe Parallelität: Durch die Verwendung bestimmter Algorithmusstrategien wird der Datenverkehr so gleichmäßig wie möglich auf Backend-Instanzen verteilt, wodurch die parallele Verarbeitungskapazität des Clusters erhöht wird.
Skalierbarkeit: Je nach Volumen des Netzwerkverkehrs können Backend-Serverinstanzen vom Lastausgleichsgerät gesteuert erhöht oder verringert werden, wodurch dem Cluster Skalierbarkeit gewährleistet wird.
Hohe Verfügbarkeit: Der Lastverteiler überwacht die Kandidateninstanzen mithilfe von Algorithmen oder anderen Leistungsdaten. Wenn eine Instanz überlastet oder fehlerhaft ist, verringert er deren Datenverkehr oder überspringt sie ganz, indem Anfragen an andere verfügbare Instanzen gesendet werden, wodurch hohe Verfügbarkeit ermöglicht wird.
Sicherheitsschutz: Einige Load-Balancer bieten Sicherheitsfunktionen wie die Handhabung von Blacklists/Whitelists und Firewalls.
Wie funktioniert Load Balancing?
Load Balancing kann auf verschiedene Weisen implementiert werden.
Hardware-Load-Balancer sind physische Geräte, die vor Ort installiert und gewartet werden.
Software-Load-Balancer sind Anwendungen, die auf eigenbetriebenen Servern installiert sind oder als verwaltete Cloud-Dienste (Cloud-Load-Balancing) genutzt werden.
Lastverteiler vermitteln Client-Anfragen in Echtzeit und bestimmen, welche Backend-Server am besten geeignet sind, diese zu bearbeiten. Um zu verhindern, dass ein einzelner Server überlastet wird, leitet der Lastverteiler Anfragen an eine beliebige Anzahl verfügbarer Server weiter, unabhängig davon, ob diese lokal vor Ort oder in Serverfarmen bzw. Cloud-Rechenzentren gehostet sind.
Wenn eine Anfrage zugewiesen wurde, antwortet der ausgewählte Server über den Lastverteiler an den Client. Der Lastverteiler stellt die Verbindung zwischen Client und Server her, indem er die IP-Adresse des Clients mit der IP-Adresse des Servers abgleicht. Client und Server können dann kommunizieren und die erforderlichen Aufgaben durchführen, bis die Sitzung endet.
Bei einem Anstieg des Datenverkehrs kann der Lastausgleich zusätzliche Server bereitstellen, um die Nachfrage zu decken. Umgekehrt kann er bei geringer Auslastung die Anzahl der verfügbaren Server reduzieren. Außerdem kann er die Netzwerkzwischenspeicherung unterstützen, indem er den Datenverkehr an Cache-Server leitet, die vorherige Nutzeranfragen temporär speichern.
Unterschied zwischen Hardware- und Software-Load-Balancern
▪️Der offensichtlichste Unterschied besteht darin, dass Hardware-Load-Balancer proprietäre gerackte Geräte erfordern, während Software-Load-Balancer lediglich auf Standard-x86-Servern oder virtuellen Maschinen installiert werden müssen. Hardware-Netzwerk-Load-Balancer sind typischerweise überdimensioniert – das bedeutet, sie sind so dimensioniert, dass sie gelegentliche Verkehrsspitzen bewältigen können. Außerdem muss jedes Hardware-Gerät zur Gewährleistung einer hohen Verfügbarkeit im Fehlerfall mit einem weiteren Gerät gekoppelt werden.
▪️Ein weiterer entscheidender Unterschied liegt in der Skalierbarkeit. Mit wachsendem Netzwerkverkehr müssen Rechenzentren ausreichend Lastverteiler bereitstellen, um den Spitzenanforderungen gerecht zu werden. Für viele Unternehmen bedeutet dies, dass die meisten Lastverteiler im Leerlauf bleiben, bis der Datenverkehr seinen Höhepunkt erreicht (z. B. am Black Friday).
▪️Wenn der Datenverkehr unerwartet die Kapazität übersteigt, wirkt sich dies erheblich auf die Erfahrung des Endbenutzers aus. Software-Load-Balancer hingegen können elastisch skaliert werden, um der Nachfrage gerecht zu werden. Egal ob der Datenverkehr niedrig oder hoch ist, Software-Load-Balancer können sich in Echtzeit automatisch skalieren, wodurch Überprovisionierungskosten und Bedenken hinsichtlich unerwarteter Lastspitzen entfallen.
▪️Außerdem kann die Konfiguration von Hardware-Load-Balancern komplex sein. Software-Load-Blancer, die auf softwaredefinierten Prinzipien basieren, erstrecken sich über mehrere Rechenzentren und Hybrid-/Multi-Cloud-Umgebungen. Tatsächlich sind Hardware-Geräte mit Cloud-Umgebungen nicht kompatibel, während Software-Load-Blancer mit Bare-Metal-, Virtual-, Container- und Cloud-Plattformen kompatibel sind.
Lastverteilungsalgorithmen
Gängige Lastverteilungsalgorithmen werden kategorisiert in:
Statische Lastverteilung
Dynamisches Load Balancing
Allgemeine statische Algorithmen: Round Robin, Zufall, Quell-IP-Hashing, konsistentes Hashing, gewichtetes Round Robin, gewichteter Zufall
Häufige dynamische Algorithmen: Wenigste Verbindungen, schnellste Antwortzeit
☑️Zufällig
Die Anfragen werden zufällig verschiedenen Knoten zugewiesen. Laut der Wahrscheinlichkeitstheorie nähert sich die Verteilung umso mehr einer gleichmäßigen Aufteilung an, je häufiger Clients den Server aufrufen, ähnlich wie bei Round-Robin-Ergebnissen. Zufallsstrategien können jedoch dazu führen, dass schwach konfigurierte Maschinen ausfallen und möglicherweise Lawineneffekte auslösen. Daher ist es ratsam, Backend-Server mit identischer Konfiguration zu verwenden, wenn dieses Verfahren angewendet wird. Die Leistung hängt von der Qualität des Zufallsalgorithmus ab.
☑️Rundenverfahren
Dieser Algorithmus verteilt Anfragen nacheinander mithilfe des DNS in einer kontinuierlichen Rotation. Es ist die grundlegendste Methode für Lastverteilung, die allein auf Servernamen basiert, um den nächsten Empfänger eingehender Anfragen zu bestimmen.
☑️ Gewichtete Round-Robin-Methode
Neben DNS-Namen erhält jeder Server ein „Gewicht“, das seine Priorität bei der Bearbeitung eingehender Anfragen bestimmt. Administratoren weisen Gewichte basierend auf der Serverkapazität und den Netzwerkanforderungen zu.
☑️Gewichtete Zufallsauswahl
Ähnlich wie Weighted Round Robin weist diese Methode verschiedenen Servern je nach Serverkonfiguration und Systemlast unterschiedliche Gewichtungen zu. Der entscheidende Unterschied besteht darin, dass die Server zufällig gemäß ihren Gewichtungen ausgewählt werden, statt sequenziell.
☑️IP-Hash
Diese Methode vereinfacht (oder hashiert) die IP-Adresse der eingehenden Anfrage in einen kleineren Wert, der als Hash-Schlüssel bezeichnet wird. Dieser eindeutige Hash-Schlüssel, der die IP-Adresse des Benutzers repräsentiert, wird anschließend verwendet, um zu bestimmen, an welchen Server die Anfrage weitergeleitet werden soll.
☑️Wenigste Verbindungen
Wie der Name schon sagt, priorisiert dieser Algorithmus bei Eingang einer neuen Client-Anfrage Server mit den wenigsten aktiven Verbindungen. Er trägt dazu bei, eine Server-Überlastung zu vermeiden und gewährleistet eine gleichmäßige Lastverteilung über alle Server hinweg.
☑️Kürzeste Antwortzeit
Dieser Algorithmus kombiniert die Methode der geringsten Verbindungen mit der kürzesten durchschnittlichen Serverantwortzeit. Er bewertet sowohl die Anzahl der Verbindungen als auch die Zeit, die Server benötigen, um Anfragen zu verarbeiten und darauf zu reagieren. Der Server mit den wenigsten aktiven Verbindungen und der schnellsten Antwort erhält die Anfrage.
☑️Quell-Hashing
Basierend auf der Quell-IP der Anfrage wird ein Hash berechnet, und das Ergebnis wird verwendet, um mithilfe einer Modulo-Operation einen Server aus einer Liste auszuwählen. Diese Methode wird häufig für Cache-Treffer oder Anfragen innerhalb derselben Sitzung verwendet. Sie weist jedoch Nachteile auf: Wenn ein Benutzer (z. B. durch Schwarzmarkttätigkeiten) übermäßigen Datenverkehr erzeugt, kann dies einen Backend-Server überlasten, was zu Dienstausfällen und Zugriffsproblemen führt. Daher sind auch Degradationsstrategien erforderlich.
☑️Konsistentes Hashing
Ein spezialisierter Hash-Algorithmus, bei dem beim Hinzufügen eines Servers nur ein Teil der Anfragen an alte Knoten auf den neuen Knoten umgeleitet wird, wodurch eine reibungslose Migration ermöglicht wird.
Arten von Load Balancern
Obwohl alle Arten den Datenverkehr verteilen, erfüllen bestimmte Arten spezifische Funktionen.
✔️Netzwerk-Lastenausgleichssysteme
Optimieren Sie den Datenverkehr und verringern Sie die Latenz in lokalen und weiten Netzwerken. Sie nutzen Netzwerkinformationen wie IP-Adressen und Zielports sowie die TCP- und UDP-Protokolle, um den Netzwerkdatenverkehr weiterzuleiten, und stellen eine ausreichende Durchsatzleistung bereit, um die Anforderungen der Benutzer zu erfüllen.
✔️Anwendungs-Lastverteiler
Verwenden Sie Inhalte auf Anwendungsebene wie URLs, SSL-Sitzungen und HTTP-Header, um den API-Anfrageverkehr weiterzuleiten. Da mehrere Server auf Anwendungsebene oft überlappende Funktionen haben, hilft die Überprüfung dieser Inhalte dabei festzustellen, welcher Server bestimmte Anfragen schnell und zuverlässig erfüllen kann.
✔️Virtuelle Load Balancer
Mit dem Aufkommen der Virtualisierung und der VMware-Technologien werden virtuelle Load Balancer nun eingesetzt, um den Datenverkehr zwischen Servern, virtuellen Maschinen und Containern zu optimieren. Open-Source-Container-Orchestrierungstools wie Kubernetes bieten virtuelle Lastverteilungsfunktionen, um Anfragen zwischen Containerknoten innerhalb eines Clusters weiterzuleiten.
✔️Globale Server-Load-Balancer
Leiten Sie den Datenverkehr auf Server an mehreren geografischen Standorten um, um die Verfügbarkeit der Anwendung sicherzustellen. Benutzeranfragen können dem nächstgelegenen verfügbaren Server zugewiesen werden oder im Fehlerfall einem anderen Standort mit verfügbaren Servern. Diese Ausfallsicherungsfunktion macht das globale Server-Lastenausgleichsverfahren zu einem zentralen Bestandteil der Katastrophenwiederherstellung.
Effizientes VM-Backup mit Vinchin Backup & Recovery
Während Unternehmen eine effiziente Lastverteilung erreichen, benötigen sie auch zuverlässige Lösungen zum Schutz ihrer Daten. Vinchin Backup & Recovery ist eine solche Lösung, die umfassende Backup- und Wiederherstellungsunterstützung für virtualisierte Umgebungen bietet.
Vinchin Backup & Recovery ist eine fortschrittliche Datensicherungslösung, die eine breite Palette gängiger Virtualisierungsplattformen unterstützt, darunter VMware, Hyper-V, XenServer, Red Hat Virtualization, Oracle, Proxmox usw. sowie Datenbanken, NAS, Dateiserver, Linux- und Windows-Server. Sie bietet erweiterte Funktionen wie agentenlose Sicherung, permanente inkrementelle Sicherung, V2V-Migration, sofortige Wiederherstellung, granulare Wiederherstellung, Sicherungsverschlüsselung, Komprimierung, Deduplizierung und Ransomware-Schutz. Dies sind entscheidende Faktoren, um die Datensicherheit zu gewährleisten und die Speichernutzung zu optimieren.
Um eine VM mit Vinchin Backup & Recovery zu sichern, führen Sie die folgenden Schritte aus:
1. Wählen Sie die VM aus, die Sie sichern möchten

2. Sichern Sie das Sicherungsziel fest

3. Sichern Sie die Backup-Strategien

4. Sichern Sie den Sicherungsauftrag

Vinchin Backup & Recovery wird weltweit von Tausenden genutzt. Probieren Sie es 60 Tage lang mit vollem Funktionsumfang aus. Oder teilen Sie Ihre spezifischen Anforderungen mit, und Sie erhalten eine maßgeschneiderte Lösung für Ihre IT-Infrastruktur.
Häufig gestellte Fragen zur Lastverteilung für virtuelle Maschinen
1. Was ist der Unterschied zwischen Lastverteilung und hoher Verfügbarkeit (HA)?
Lastverteilung verteilt Workloads effizient über Ressourcen. Hohe Verfügbarkeit stellt sicher, dass VMs auf anderen Hosts neu gestartet werden, wenn der aktuelle Host ausfällt. Sie arbeiten oft zusammen, um die Gesamtresilienz des Systems zu verbessern.
2. Was sind Affinitäts- und Anti-Affinitätsregeln beim Lastenausgleich?
Affinitätsregeln halten angegebene VMs zusammen auf demselben Host. Anti-Affinitätsregeln stellen sicher, dass VMs auf unterschiedlichen Hosts gehalten werden (z. B. für Redundanz). Diese Regeln leiten den Lastausgleich an, um Arbeitslastbeziehungen während von Migrationen zu berücksichtigen.
Fazit
Load Balancing garantiert nicht, dass der Netzwerkverkehr gleichmäßig auf Backend-Serviceinstanzen verteilt wird. Stattdessen soll damit die Benutzererfahrung auch bei unerwarteten Ereignissen gewährleistet werden. Eine gute Architektur und elastische Skalierbarkeit können die Effektivität des Load Balancings erheblich verbessern.
Teilen auf: