Ich wurde gebeten, unsere Lastausgleichsinfrastruktur im Rechenzentrum neu aufzubauen.
Die ursprüngliche Anforderung bestand darin, FTP-Server mit Lastenausgleich zu erstellen. Ich habe versucht, dies mit dem aktuellen Load Balancer ( Piranha / LVS
) zu tun , habe es aber nicht zum Laufen gebracht. Nicht nur, weil es für diese Software kaum Dokumentation gibt. Da dies Piranha
als veraltet gilt, ging ich HAProxy
nach ein paar Tagen zum Versuch über, was die Arbeit in einem Bruchteil der Zeit erledigte , die ich damit verbracht hatte Piranha
.
Ich habe also einen FTP-Lastausgleich (passiver Modus) eingerichtet. Jetzt wurde ich gebeten, den gesamten Piranha Load Balancer im Rechenzentrum zu ersetzen. In der aktuellen Piranha-Konfiguration haben wir mehrere Webserver, IIS-Server ... aaa und DNS .
Nein, hier ist die Sache: Es
HAProxy
scheint eine häufig verwendete LB zu sein, aber sie ist nicht in der Lage, damit umzugehenUDP load balancing
. Das ist ein Mist, da mir gefällt, wie es HAProxy
funktioniert. Also habe ich viel gegoogelt und bin auf verschiedene Dinge gestoßen. Die meisten Leute scheinen LVS
als LB für DNS (TCP / UDP) zu verwenden. Einige verwenden dlbDNS
, einige verwenden lbnamed
und einige verwenden netfilter / iptables
.
Da ich bei HAProxy
FTP-, HTTP- und IIS-Servern bleiben möchte , war ich verwirrt, wenn ich es nebeneinander verwendete LVS
.
Anforderungen:
2 LB-Instanzen mit Failover
2 DNS-Server (bereits vorhanden) mit Failover
Mehrere Backend-Server (http, application, etc ...)
Fragen:
Ist das möglich? Ist ein UDP-Lastausgleich auf DNS-Servern überhaupt erforderlich? Gibt es irgendeine Ressource, die mir zeigen könnte, wie ich damit anfangen kann? Oder gibt es eine LB-Lösung, die nicht nur TCP / HTTP, sondern auch UDP-Lastausgleich verarbeiten kann?
PS: Die LB-Lösung sollte keine Hardware und Open Source / GPL-Lizenz / kostenlos sein.
Jede Hilfe oder Führung zu entsprechenden Ressourcen wird sehr geschätzt!
quelle
Antworten:
Lasten Sie Ihr DNS nicht aus.
Es ist ein unglaublich leichtes Protokoll - Sie benötigen eine enorme Menge an Datenverkehr, um mehr als eine Box zu benötigen (in diesem Fall haben Sie ohnehin nur einen Engpass bei Ihrem Load Balancer), und die Ausfallsicherheit ist integriert, da Sie mehrere NS-Datensätze verwenden können in Ihrer Delegation (andere Server werden verwendet, wenn einer ausfällt).
quelle
Ich fühle mich mit diesen Fragen und Antworten unwohl, da nicht wirklich festgestellt wurde, um welche Art von DNS-Server es sich handelt. Es gibt einige signifikante Missverständnisse, wenn es um die Ausfallsicherheit von rekursivem DNS geht, und es ist wichtig, dass Personen, die über Suchmaschinen einsteigen, diese Diskussion nicht mit einem falschen Sicherheitsgefühl verlassen.
Autorisierendes DNS : Bei autorisierenden DNS-Servern ist das allgemeine Wissen über die Ausfallsicherheit von DNS genau richtig. Solange Sie mehrere autorisierende DNS-Server haben, die geo-redundant sind, ist alles in Ordnung. Der Hauptgrund für das Hinzufügen einer hohen Verfügbarkeit für einzelne IPs ist, dass Sie viele autorisierende Zonen hosten . Auf diese Weise können Sie die Anzahl Ihrer Server erhöhen, ohne die Registrareinstellungen für jede gehostete Domain ändern zu müssen.
Rekursives DNS : Verwenden Sie immer eine Hochverfügbarkeitslösung. (BGP, Gerät usw.) Hier können Sie ernsthafte Probleme bekommen. Nicht alle Resolver-Bibliotheken sind gleich: Windows-DNS-Clients führen einen Round-Robin-Vorgang für den zwischen Servern verwendeten ersten Server durch, aber die meisten Unix-basierten Systeme durchlaufen die Liste immer nacheinander. Noch weniger bekannt ist, dass diese Unix-Bibliotheken bei jeder Suchdomänenkombination eine Zeitüberschreitung aufweisen müssen, bevor sie zum nächsten Server wechseln können. Wenn Sie mehrere Suchdomänen konfiguriert haben und der erste Server in der Resolver-Suchreihenfolge tot ist, kann dies zu erheblichen Verzögerungen bei der DNS-Auflösung für jede einzelne Anforderung führen: mehr als genug, um Probleme in Ihren kritischen Anwendungen zu verursachen.
Denken Sie beim rekursiven DNS daran, dass Ihre Serverinfrastruktur nur so stabil ist wie die am besten geeignete Clientkonfiguration. Wenn Ihr Unternehmen wächst, haben Sie nie die Kontrolle darüber. Treffen Sie keine Entwurfsannahmen, die auf einer homogonen Server-Betriebssystemumgebung basieren, da die Dinge in einem wachsenden Unternehmen selten gleich bleiben. Dies wird definitiv jemanden beißen, wenn Sie es nicht im Voraus planen.
quelle
In diesen Tagen können Sie
dnsdist
von PowerDNS verwendenAus der README
https://github.com/PowerDNS/pdns/tree/master/pdns/dnsdistdist
Sie bieten Repositorys für gängige Betriebssysteme: https://repo.powerdns.com/
quelle