Während meines Studiums für Cisco- und Microsoft-Zertifizierungen habe ich viel über NIC-Teaming, Etherchannels und ähnliches gelesen.
Ich weiß, dass Sie in MS Windows Server statisches Teaming durchführen oder in Cisco einen Portkanal erstellen oder dynamische Protokolle wie LACP und PAgP verwenden können. Aber alle bieten einen Lastenausgleich unter Verwendung der Quell- oder Ziel-MAC-Adresse oder IP-Adresse, einer Kombination aus XOR-Elementen oder ähnlichen Dingen, oder? Und es scheint, dass es keine Möglichkeit gibt, Ihren tatsächlichen Durchsatz zu erhöhen, wenn Sie eine lange, lange Dateiübertragung von einem Server auf einen anderen haben (z. B. wenn 4 GigE miteinander verbunden sind, um ihn auf 4 Gbit / s zu erhöhen).
Also frage ich mich, ob es wahr ist? Gibt es eine Möglichkeit, die gesamte Bandbreite von Bonded Interfaces zu nutzen? Ich habe aus wenigen Quellen gehört, dass es so etwas wie SLB (Switch-Assisted Load Balancing mit Fehlertoleranz) gibt, das den vollständigen Lastausgleich unterstützt und die Verwendung der vollen Bandbreite ermöglicht (wie 4 Gbit / s aus meinem Beispiel zwischen zwei Servern in einer Transaktion).
Ich habe so viele widersprüchliche Dinge darüber gehört und bin total verwirrt. Hilf mir Jungs!
Antworten:
Auf Schicht 2 wird der gesamte Lastausgleich bestenfalls von einem XOR oder Hash des Quell- und Ziel-MAC durchgeführt. Wenn Sie Glück haben, kann er sogar in Schicht 3 einlesen und diese Daten auch hashen.
Auf Schicht 3, wo es sich im Grunde genommen um mehrere Gateways handelt (also effektiv zwei physische Verbindungen mit jeweils einem eindeutigen nächsten Hop), können Sie die Bandbreite über die Verbindungen hinweg maximieren, wenn Sie bereit sind, dies zu tun. Paketausgleich.
Bevor ich fortfahre, ist das Ausgleichen pro Paket im Allgemeinen eine schlechte Sache , da es zu einer nicht ordnungsgemäßen Paketzustellung führen kann. Dies kann bei TCP-Verbindungen besonders schrecklich sein, aber das hängt natürlich von der Implementierung und ab Die meisten modernen Stapel können dies relativ gut vertragen.
Um einen Paketausgleich durchzuführen, besteht offensichtlich eine Anforderung darin, dass die Quell- und Ziel-IP-Adressen überhaupt nicht mit den Geräten verbunden sind, die über mehrere Pfade verfügen, da sie geroutet werden müssen, damit ein Ausgleich möglich ist. Redundanz kann über ein Routing-Protokoll wie BGP, OSPF, ISIS, RIP oder alternativ über BFD oder eine einfache Erkennung des Verbindungsstatus erreicht werden.
Schließlich gibt es natürlich eine Transportschichtlösung - Protokolle wie die SCTP-Unterstützung für die Verbindung mit mehreren Endpunkten, und TCP hat bereits Entwürfe in Arbeit, die Optionen für ähnliche Aufgaben hinzufügen. Oder ... Sie können Ihre Anwendung einfach dazu bringen, mehrere Sockets zu öffnen.
quelle
Lassen Sie uns zunächst die Systemleistung realistisch einschätzen. Sie müssen sicherstellen, dass Ihr System die gewünschte Bandbreite von der Festplatte auf die betreffenden Netzwerkkarten konsistent spulen kann (siehe unten in der Antwort) ...
Solange Sie bereit sind, FTP für Ihre Dateiübertragungen zu verwenden, können Sie einen Client verwenden, der die Segmentierung der Datei über den FTP-
REST
Befehl für Downloads unterstützt, und einen Server, der den FTP-COMB
Befehl für segmentierte Uploads unterstützt. Durch die Verwendung von FTP-Clients, die die Segmentierung unterstützen, können Sie mehrere FTP-Sitzungen pro Dateiübertragung öffnen und das von vielen Switch-Anbietern unterstützte Layer4-LACP-Hashing nutzen. Unabhängig davon, ob Sie 1GE- oder 10GE-Verbindungen verbinden, beschleunigen segmentierte Übertragungen Ihre Leistung über LACP.CuteFTP für Windows unterstützt REST-Übertragungen und Filezilla unterstützt den Befehl COMB . Dies sind nur zwei von mehreren Optionen, die Sie verwenden können.
Systemgrenzen
Ich weiß nicht, welche Art von Festplatte Sie haben, aber häufig ist das Limit für ein System die Festplatten-E / A ... hier gibt es mehrere interessante Punkte ... aus Sicht des Controllers ...
Eine weitere mögliche Grenze ist die Festplattengeschwindigkeit / Spindeln / Arme ... es sei denn, Sie verwenden eine SSD.
Schließlich benötigen Sie Netzwerkkarten mit ausreichender Kapazität für das Motherboard. Überprüfen Sie, wie viele Lanes sich auf Ihrer PCIe-Netzwerkkarte befinden. Ich gehe davon aus, dass Sie sich in einem LAN befinden und dass Paketverlust / -überlastung kein Problem darstellt. Möglicherweise möchten Sie Jumbos aktivieren, wenn Sie feststellen, dass die CPU ein begrenzender Faktor für Ihre Übertragungen ist.
quelle