Schalterunterstützter Lastausgleich mit Fehlertoleranz


9

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!


Keine schlechte Frage, aber AFAIK gibt es keine Möglichkeit, den Durchsatz eines einzelnen Datenstroms mithilfe des Lastausgleichs zu erhöhen .
Pause

Das war keine Antwort! Nur ein Kommentar :-) Warten Sie, bis der erfahrenere Mann eine ausführlichere Antwort gefunden hat.
Pause

Natürlich werde ich :) Trotzdem bin ich ein bisschen skeptisch, ob dies möglich ist, aber einige Verkäufer sagen, dass dies der Fall ist, und mein Kollege (Server-Typ) ist ebenfalls verwirrt :) Ich möchte das ausschließen
Alex

haha gerade erinnert: Bitte nehmen Sie nicht den Rat der Verkäufer aus dem OSI-Unterricht vor ein paar Jahren
Alex

Antworten:


8

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.


Danke für die Antwort! Ja, ich bin mir dieses L3-Lastausgleichs bewusst. Und im Grunde genommen, wenn Sie mehr als einen Auftritt in Schicht zwei wollen, gehen Sie mit 10gig? Vor allem, wenn Sie Backups zwischen Servern @ Layer 2 durchführen möchten, die mit demselben Switch verbunden sind?
Alex

Grundsätzlich ja - Sie können möglicherweise Hacky-Dinge auf dem Host selbst ausführen, z. B. eine Faux-Bridge erstellen und dann den Ziel-MAC jedes Frames neu schreiben, damit jeder Frame eine andere Schnittstelle verlässt. Dies hängt jedoch wirklich von Ihrem Betriebssystem ab ist nicht trivial und nicht skalierbar.
Olipro

Wir haben eine Mischung aus RHEL und Win 08 R2
Alex

5

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- RESTBefehl für Downloads unterstützt, und einen Server, der den FTP- COMBBefehl 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 ...

  • SATA (Revision 1) max xfer: 1,2 Gbit / s nach 8b / 10b Overhead
  • SATA (Revision 2) max xfer: 2,4 Gbit / s nach 8b / 10b Overhead
  • SATA (Revision 3) max xfer: 4,8 Gbit / s nach 8b / 10b Overhead
  • Maximaler 4G-Fibre-Channel-Wert: 3,56 Gbit / s

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.


Ich denke, wir verwenden FTP und SCP für die Übertragung. In Bezug auf die E / A-Leistung planen wir eine Migration auf iSCSI. Unabhängig von meinen Aussagen können wir uns einen 10-Gig-Switch mit hoher Dichte aufgrund des begrenzten Budgets (das in diesem Fall wirklich benötigt wird) nicht wirklich leisten Wir versuchen zu improvisieren, während wir gehen. Nur planen.
Alex

@Alex Ich arbeite auch mit einem begrenzten Budget und verwende iSCSI. Die Dell PowerConnect 8132 / 8164F-Switches sind ungefähr so ​​billig, wie Sie sie mit SFPs pro Port erhalten können, und kein abgrundtiefster Portbuffer. Wir haben mit ihnen großen Erfolg gehabt.
Pause

Ich werde einen Blick auf sie werfen :)
Alex

@Alex, ich schlage nicht vor, dass Sie einen 10GE-Switch verwenden ... selbst mehrere miteinander verbundene 1GEs können die Serverkapazität überschreiten ... Ich habe meine Antwort aktualisiert, um hervorzuheben, dass ich Ihnen vorschlage, LACP zu verwenden
Mike Pennington
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.