Ist ein 10-Gig-Port dasselbe wie zehn 1-Gig-Ports

16

Ich habe mich das seit ein paar Tagen gefragt und nach einigem Suchen war ich nicht in der Lage, eine verständliche Antwort zu finden, nicht einmal eine theoretische, die in meinem Kopf Sinn ergibt.

Ich spiele mit Lösungen für Mac-Hosting herum und frage mich, ob ich den Macs Thunderbolt-Ethernet-Karten hinzufügen und diese in VLANs verbinden und so Bandbreitenengpässe auf den Computern halb lösen kann, um die Zugriffsgeschwindigkeit auf eine Datenbank oder einen externen Speicher zu erhöhen .

Beispiel: Schließen Sie zwei Ethernet-Karten an einen Mac Mini an, verbinden Sie sie und verfügen Sie über ein VLAN mit 2 Gbit / s Bandbreite.

Constantin Jacob
quelle
8
N 1-Gig-Ports sind nicht dasselbe wie 1 N-Gig-Port.
EEAA
1
Das nennt man kein VLAN - ein VLAN bedeutet etwas anderes.
user253751
1
Was Sie suchen, ist die Link-Aggregation. Einige Switches unterstützen dies. Sie müssen kompatible Adapter mit Treibern finden, die dies unterstützen.
Gizmo

Antworten:

39

Einfach ausgedrückt, nein, sie sind unterschiedlich:

  • Mit einer 10-GbE-Schnittstelle erhalten Sie selbst bei einer einzelnen Verbindung eine Bandbreite von 10 Gb / s
  • Bei 10x 1-GbE-Schnittstellen (und unter Verwendung des 802.ad-Protokolls) ist eine einzelne Verbindung / Sitzung auf nur 1 Gb / s beschränkt. Auf der anderen Seite können Sie 10 gleichzeitige Sitzungen mit einer Bandbreite von jeweils 1 Gbit / s bedienen

Mit anderen Worten erhöht das Bonden im Allgemeinen nicht die Geschwindigkeit einer einzelnen Verbindung. Die einzige Ausnahme ist der Linux-Bindungstyp 0 (balance-rr), der Pakete im Round-Robin-Verfahren sendet, jedoch erhebliche Nachteile und eine begrenzte Skalierung aufweist. Schauen Sie sich hier ein praktisches Beispiel an

Shodanshok
quelle
16
Nein, so funktioniert das Bonden nicht.
EEAA
2
Tolle und richtige Antwort, aber lasst uns helfen. Während es theoretisch anders ist und OP möglicherweise nicht semantisch genau ist, ist die Link-Aggregation immer noch eine sehr geeignete Lösung für das ursprüngliche Problem, die Bandbreitenengpässe.
Esa Jokinen
4
Bei @ConstantinJacob Bonding werden in der Regel einige Felder in der Kopfzeile mit einem Hash versehen, mit dem ein Link im Bundle ausgewählt wird. Bei ausreichenden Abweichungen in den zu hashenden Feldern wird der Datenverkehr gleichmäßig verteilt. Wenn die zu hashenden Felder alle gleich sind, wird nur ein Link im Bundle verwendet. Die im Hash enthaltenen Felder hängen von der Implementierung ab, umfassen jedoch normalerweise Felder wie Quell- / Ziel-MAC / IP / Port und Protokollnummer.
Kasperd
5
@ConstantinJacob Etwas anders formuliert. Jede TCP-Verbindung, die Sie über Ihr Bundle ausführen, wird einem zufälligen Link im Bundle zugewiesen. Wenn Sie 10 TCP-Verbindungen haben, haben Sie möglicherweise das Glück, dass diese jeweils eine Verbindung erhalten. Viel wahrscheinlicher ist es jedoch, dass eine oder mehrere inaktive Verbindungen bestehen und einige der TCP-Verbindungen Links gemeinsam nutzen. Dies ist ein Fall des Problems des Coupon-Sammlers, und Sie sollten damit rechnen, etwa 30 TCP-Verbindungen zu erreichen, bevor Sie überhaupt alle Verbindungen nutzen, und noch mehr, bevor der Datenverkehr gleichmäßig wird.
Kasperd
8
Aus geschäftlicher Sicht gibt es einen weiteren großen Unterschied. Erstens kostet ein 10-GbE-Switch mit 48 Ports immer noch weniger als zehn 1-Gb-Switches mit 48 Ports. Das Anschließen und Verwalten von 48 Kabeln ist erheblich einfacher als das von 480 Kabeln. Server verfügen nur über eine begrenzte Anzahl von Kartensteckplätzen, sodass eine 10-Gbit / s-Karte problemlos 20 Gbit / s, möglicherweise 40 Gbit / s, aufnehmen kann. Eine einzelne 1-Gbit / s-Karte kann jedoch im Allgemeinen nur 4 Gbit / s aufnehmen. Nennen wir das alles so etwas wie "Bandbreitendichte", dann hat die erhöhte Bandbreitendichte von 10 GbE echte Engineering- und Kostenvorteile.
Todd Wilcox
20

10 Gbit / s über x10 1 Gbit / s-Ports

Ich antworte nur der Vollständigkeit halber und um Ihnen einige Kopfschmerzen zu ersparen. Ich habe über 20.000 Server, die etwas Ähnliches tun, und ich kann Ihnen sagen, dass es eine schlechte Idee ist. Diese Methode fügt eine Menge Komplexität hinzu, die später zu Betriebsproblemen führen wird. Wir haben dies mit 4 1 GB NICs pro Server gemacht. Zu der Zeit machte es tatsächlich mehr Sinn, als 10gig zu werden. Zu der Zeit wäre 10gig überall ein Vielfaches der Kosten für sehr wenig Gewinn gewesen. Unsere jüngsten Iterationen unserer Rechenzentren tun dies nicht mehr.

Bei einer LACP-Bindung ( Modus 4 ) mit einem einzelnen LAG-Partner erhalten Sie 10 Gbit / s, fast dasselbe wie bei einem einzelnen 10 Gbit / s-Port. Dies kann tatsächlich mit mehr als einem Switch erfolgen, sie müssen jedoch MLAG unterstützen, andernfalls müssen Sie nur eine Verbindung zu einem Switch herstellen. Wenn sie MLAG nicht unterstützen, erhalten Sie nur einen Switch für die Bandbreite. Die anderen Schnittstellen befinden sich im Standby-Modus. (also 5gb / s wenn du 2 switch hast).

Eine einzelne Verbindung verwendet nur eine Verbindung, aber Sie können den Datenverkehr bei Bedarf auf Ebene 7 aufteilen oder sich mit MPTCP befassen, aber die Unterstützung dafür ist neu in neueren Kerneln und ich bin nicht sicher, ob sie bereit ist zur Hauptsendezeit. Sie können Datensynchronisierungen mit LFTP + SFTP und dem Spiegelsubsystem von LFTP aufteilen. Es kann sogar eine Datei in mehrere Streams aufteilen. Es gibt auch Bittorrent.

Sie können auf diesen Ports aus Client-Sicht kein DHCP ausführen, um ein Betriebssystem-Installationsprogramm mit PXE zu starten , es sei denn, Sie erzwingen auf der Serverseite eth0, was die LACP-Überwachung technisch unterbricht. Es kann getan werden, sollte aber nicht sein , und es wird zur Fehlerbehebung Probleme erschweren , wenn Sie eine Schnittstelle zwingen.

In Ihrer Bonding-Konfiguration müssen Sie eine eindeutige MAC-Adresse generieren, die sich von allen Ihren physischen Schnittstellen unterscheidet, oder Sie haben aufgrund der Funktionsweise von PXE / DHCP Race-Bedingungen, sofern in Ihrem Setup DHCP / PXE vorhanden ist. Es gibt viele Beispiele online, wie der einzigartige bond0-MAC im laufenden Betrieb generiert werden kann.

Dies erfordert auch eine Konfiguration auf der Switch-Seite, die mit jeder Bond-Konfiguration Ihres Servers übereinstimmt. Sie sollten den LLDP-Daemon installieren, um die Fehlerbehebung zu vereinfachen, und LLDP auf Ihren Switches aktivieren.

Wenn Sie dies tun, müssen Ihre Verkabelung und Kennzeichnung einwandfrei sein. Ihre Switch-Automatisierung muss solide sein. Ein Kabelversatz, der 2 Server mischt, verursacht sehr lustige Probleme.

Ein großes Lob an Jay von IBM, der den Bonding-Code so gut gemacht hat wie er und uns dabei geholfen hat, herauszufinden, wie DHCP in dieser Konfiguration funktioniert.

Aaron
quelle
1
Ich bin etwas neugierig, wo Sie arbeiten, um 20k-Knoten mit 4x1-Bonding-Links zu haben ... das ist eine nicht-triviale Infrastruktur, die Sie beschreiben, lol.
Kaithar
"Sie können an diesen Ports kein DHCP ausführen" - Ist das ein DHCP- Client oder -Server oder beides?
MSalters
Auf dem Client. Wenn Sie einen Kickstart für Ihre Server durchführen, müssen Sie eth0 und den Switch-Port von eth0 erzwingen, oder Sie müssen eine andere Methode zum Laden des Betriebssystems verwenden.
Aaron
1
@ Kaithar Ich unterstütze den nicht-trivialen Aspekt. Ich würde vorschlagen, dass es eine akademische Übung war, die zu weit ging, um zwei Klassen von Servern unterzubringen. Einheitlichkeit dominierte das Gesamtdesign. Jetzt, da alles mit 10 Gbit / s doppelt läuft, führen wir LACP immer noch mit einem MLAG-Partner durch, also insgesamt 20 Gbit / s, und erzwingen keine Schnittstellen mehr.
Aaron
0

Es hängt davon ab, ob. Wenn das primäre Verkehrsprotokoll einen integrierten Multipfad-Lastausgleich hat, z. B. iSCSI, funktioniert dies sehr gut. Bonding hat eine Reihe von Problemen, die in den anderen Antworten bereits beschrieben werden.

camelccc
quelle