Empfehlungen für einen verpackten, nicht VRRP-basierten Load Balancer?

Empfehlungen für einen verpackten, nicht VRRP-basierten Load Balancer?

Ich versuche, den Lastenausgleich auf einemElasticHosts Cloud-Server, und ihr System lässt die Verwendung von VRRP nicht zu.

Kennt jemand Nicht-VRRP-Load Balancer, die für Standard-Debian/Ubuntu vorinstalliert sind?

Ich habe das Nicht-VRRP ausprobiertUltraMonkey, aber die Software scheint veraltet zu sein und ist nicht mehr schön verpackt – die letzte Version war für Debian Sarge.

Ratschläge werden dankbar angenommen.

Antwort1

UltraMonkey ist im Wesentlichen nur ein Dachprojekt für mehrere Komponenten, die beim Erstellen eines Load Balancers auf einer Linux-Box nützlich sind. Die Komponenten sind:

  • ipvs. In den meisten Standardkerneln der Distributionen (2.6 und höher) vorhanden, als Modul kompiliert. Führen Sie es aus, modinfo ip_vsum zu sehen, ob es in Ihrem Kernel vorhanden ist. Noch in der Entwicklung; und IPv6-Unterstützung wurde erst kürzlich hinzugefügt. Der Code muss den Kernel-Standards entsprechen und liefert extrem gute Leistung. Siehehttp://www.linuxvirtualserver.org/software/ipvs.htmlFür mehr Information.
  • ipvsadm. Ein Befehlszeilentool zur Verwaltung von IPVS, mit dem Sie Backend-Server zu einer virtuellen Gruppe hinzufügen und daraus entfernen, Servergewichte festlegen, den Planungsalgorithmus auswählen (z. B. Round Robin, gewichtete geringste Verbindung) und mehr. Ich kann nicht für Debian sprechen, aber ipvsadm v1.2.5-1 ist in den Standard-Ubuntu-Repos vorhanden, und es ist eine Version 1.26 verfügbar, die im Februar 2011 veröffentlicht wurde. Sie können also wahrscheinlich a: sudo apt-get install ipvsadm und dann a man ipvsadmauf Ihrem System ausführen, um alle Details zu erhalten.
  • ldirectord. Dies ist ein in Perl geschriebener Daemon zur Integritätsprüfung, der auch als praktische Schnittstelle zu ipvsadm dient. Sie können damit eine Konfigurationsdatei Ihrer IPvs-Konfiguration verwalten, anstatt selbst mehrere ipvsadm-Befehle schreiben zu müssen. Auf den Backend-Servern können viele verschiedene Arten von Integritätsprüfungen durchgeführt werden. Auch hier kann ldirectord (zumindest in Ubuntu) über die Standard-Repos installiert werden und befindet sich noch in der Entwicklung (IPv6-Änderungen wurden im Juni 2011 vorgenommen).
  • Linux-HA. Um die Sache noch komplizierter zu machen, handelt es sich auch um ein Kombinationsprojekt, das tatsächlich ldirectord enthält. Wie oben erwähnt, können Sie ldirectord jedoch auch eigenständig über die Repos installieren. Soweit ich weiß, ist die wichtigste Ergänzung, die Linux-HA bietet, Heartbeat, mit dem Sie 2 (oder mehr) Load Balancer clustern können, die (wie zu erwarten) sich gegenseitig Heartbeats senden, damit sie über den Status des jeweils anderen informiert sind und bei Bedarf ein Failover durchführen. Hier liegt der Unterschied zu VRRP. Sie würden Ihre virtuellen IPs tendenziell nur auf einem Load Balancer aktiv (d. h. „aktiv“) haben, sodass nur eine Maschine auf ARP-Anfragen für die VIP antwortet. Die Load Balancer wären also im aktiven/passiven Zustand, und wenn der Slave-Knoten erkennt, dass der Master ausgefallen ist, „aktiviert“ er die virtuellen IPs. Wenn auf beiden Knoten virtuelle IPs aktiv sind, haben Sie ein Problem, das allgemein als „Split-Brain“ bezeichnet wird. Weitere Informationen zu Heartbeat:http://www.linux-ha.org/wiki/Heartbeat.

Ich stelle mir vor, dass die mangelnde Wartung des UltraMonkey-Projekts darauf zurückzuführen sein könnte, dass jede einzelne Komponente mittlerweile in gängigen Distributionen weithin verfügbar (im Binärformat) ist, was vor über 5 Jahren noch nicht der Fall gewesen wäre.

Beachten Sie, dass die Verwendung dieser Komponenten in der oben beschriebenen Weise von Ihrem ursprünglichen Plan abweichen kann, da der Lastenausgleich eine dedizierte Maschine ist; Sie installieren all dieses Zeug nicht auf Ihren Anwendungsservern. Stattdessen würde die IPVs-Box vor Ihren Backend-Servern sitzen und den Verkehr gemäß ihren Planungsalgorithmen und anderen Konfigurationsparametern (Gewichten usw.) an sie „leiten“.

Sofern Sie keinen besonderen Bedarf an Lastausgleich auf Layer 4 haben (normalerweise aus Leistungsgründen), sollten Sie sich auch HAProxy ansehen, einen Layer-7-Proxy mit umfassender Lastausgleichsfunktion. Auf ServerFault gibt es viele gut beantwortete HAProxy-Fragen. In Bezug auf Heartbeats/Failover und die Verwaltung Ihrer virtuellen IPs sollten Sie sich außerdem keepalived als Alternative zu Linux-HAs Heartbeat ansehen.

http://haproxy.1wt.eu/

http://www.keepalived.org/

verwandte Informationen