Una porta da 10 gig equivale a dieci porte da 1 gig


17

Me lo sto chiedendo da un paio di giorni e dopo un sacco di ricerche non sono riuscito a trovare una risposta comprensibile, nemmeno teorica che abbia un senso nella mia testa.

Sto giocando con soluzioni per l'hosting Mac e mi chiedevo se potevo aggiungere schede Ethernet fulmine ai Mac e collegarle in VLAN e quindi semi-risolvere i colli di bottiglia della larghezza di banda alle macchine al fine di aumentare la velocità di accesso a un DB o memoria esterna .

Ad esempio: collegare due schede Ethernet a un Mac Mini, collegarle e disporre di una VLAN con larghezza di banda di 2 Gb / s.


8
Le porte N-1 gig non sono la stessa cosa della porta 1-gig-N.
EEAA,

1
Non si chiama VLAN: una VLAN significa qualcos'altro.
user253751

1
Quello che stai cercando è l'aggregazione dei collegamenti, alcuni switch lo supportano, dovrai trovare adattatori compatibili con i driver che lo supportano.
Gizmo,

Risposte:


39

In poche parole, no, sono diversi:

  • con un'interfaccia da 10 GbE, ottieni una larghezza di banda di 10 Gb / s anche per una singola connessione
  • con interfacce 10x 1GbE (e usando il protocollo 802.ad), una singola connessione / sessione è limitata a 1 Gb / s. D'altra parte, puoi servire 10 sessioni simultanee ciascuna con una larghezza di banda di 1 Gb / s

In altre parole, il legame generalmente non aumenta la velocità di una singola connessione. L'unica eccezione è il tipo di legame Linux 0 (balance-rr), che invia pacchetti in modo round robin, ma presenta svantaggi significativi e ridimensionamento limitato. Per un esempio pratico, dai un'occhiata qui


16
No, non è così che funziona il legame.
EEAA

2
Risposta eccellente e corretta, ma cerchiamo di essere d'aiuto. Sebbene teoricamente diverso e OP potrebbe non essere semanticamente accurato, l' aggregazione dei collegamenti è ancora una soluzione molto adatta per il problema originale, i colli di bottiglia della larghezza di banda.
Esa Jokinen,

4
@ConstantinJacob Bonding generalmente eseguirà l'hashing di alcuni campi nell'intestazione e lo utilizzerà per scegliere un collegamento nel bundle. Se vi è una variazione sufficiente nei campi sottoposti a hash, il traffico verrà distribuito uniformemente. Se i campi sottoposti a hash sono tutti uguali, verrà utilizzato solo un collegamento nel pacchetto. I campi inclusi nell'hash dipendono dall'implementazione, ma di solito includono campi come MAC / IP / porta di origine / destinazione e numero di protocollo.
Kasperd,

5
@ConstantinJacob Formulato in modo leggermente diverso. Ogni connessione TCP eseguita sul bundle verrà assegnata a un collegamento casuale nel bundle. Se hai 10 connessioni TCP potresti essere abbastanza fortunato da farle ottenere un collegamento ciascuna. Ma molto più probabilmente ci saranno uno o più collegamenti inattivi e alcune delle connessioni TCP condivideranno i collegamenti. Questo è un caso del problema del collezionista di coupon e dovresti aspettarti di raggiungere circa 30 connessioni TCP prima ancora di iniziare a utilizzare tutti i collegamenti e ancora di più prima che il traffico sia uniforme.
Kasperd,

8
Dal punto di vista commerciale, c'è un'altra grande differenza. Innanzitutto, uno switch da 10 GbE a 48 porte costa ancora meno di dieci switch da 1 Gb a 48 porte. Il collegamento e la gestione di 48 cavi è notevolmente più semplice di 480 cavi. I server hanno un numero limitato di slot per schede, quindi una scheda da 10 GbE può facilmente trasportare 20 Gbps, forse 40 Gbps, ma una singola scheda da 1 Gb in genere può contenere solo 4 Gbps. Se chiamiamo tutto questo qualcosa come "densità della larghezza di banda", allora la maggiore densità di larghezza di banda di 10 GbE offre reali vantaggi in termini di ingegneria e costi.
Todd Wilcox,

20

10 gb / s tramite porte x10 1 gb / s

Sto rispondendo solo per completezza e per risparmiarti qualche mal di testa. Ho oltre 20k server che fanno qualcosa di simile a questo e posso dirti che è una cattiva idea. Questo metodo aggiunge molta complessità che in seguito causerà problemi operativi. Lo abbiamo fatto con 4 nics da 1 GB per server. All'epoca aveva davvero più senso che andare a 10gig. All'epoca, 10gig ovunque sarebbero stati molte volte il costo per un guadagno molto piccolo. Le nostre recenti iterazioni dei nostri datacenter non lo fanno più.

Un legame LACP ( modalità 4 ) con un singolo partner LAG ti darà 10 gb / s, quasi lo stesso di una singola porta da 10 gb / s. Questo può effettivamente essere fatto usando più di 1 switch, ma devono supportare MLAG, altrimenti devi connetterti a un solo switch. Se non supportano MLAG, otterrai solo 1 switch di larghezza di banda. Le altre interfacce saranno in standby. (quindi 5 gb / s se hai 2 interruttori).

Una singola connessione utilizzerà solo un collegamento, ma puoi dividere il traffico dove richiesto su layer 7 se necessario, oppure potresti esaminare MPTCP, ma il supporto è nuovo nei kernel recenti e non sono sicuro che sia pronto per la prima serata. È possibile suddividere la sincronizzazione dei dati utilizzando LFTP + SFTP e il sottosistema mirror di LFTP. Può anche dividere un file in più flussi. C'è anche bittorrent.

Non sarà possibile eseguire DHCP su queste porte dal punto di vista client per avviare PXE un programma di installazione del sistema operativo , a meno che non si imponga eth0 sul lato server che interrompe tecnicamente il monitoraggio LACP. Si può fare, ma non deve essere e sarà rendere la risoluzione dei problemi più difficili se si forza un'interfaccia up.

Nella configurazione del legame, dovrai generare un indirizzo MAC univoco diverso da tutte le tue interfacce fisiche o avrai condizioni di competizione dovute al modo in cui PXE / DHCP funzionano, supponendo che ci sia DHCP / PXE nella tua configurazione. Ci sono molti esempi online su come generare al volo il MAC unico bond0.

Ciò richiede anche una configurazione sul lato switch che sia allineata a ciascuna configurazione del bond del server. Avrai bisogno di avere il demone LLDP installato per rendere meno problematica la risoluzione dei problemi e LLDP abilitato sui tuoi switch.

In questo caso, i cavi e le etichette devono essere impeccabili. L'automazione degli switch deve essere solida. Un offset del cavo che unisce 2 server causerà problemi molto divertenti.

Complimenti a Jay di IBM per aver reso il codice di bonding buono come lui e per averci aiutato a capire come far funzionare il DHCP in questa configurazione.


1
Sono un po 'curioso di sapere dove lavori per avere nodi 20k con collegamenti bondati 4x1 ... questa è un'infrastruttura non banale che stai descrivendo lol.
Kaithar,

"Non sarai in grado di fare DHCP su queste porte" - Quel client o server DHCP o entrambi?
MSalters

Sul cliente. Se avvii i tuoi server, dovresti forzare eth0 e forzare la porta dello switch di eth0, oppure devi usare un altro metodo per caricare il sistema operativo.
Aaron,

1
@Kaithar secondo l'aspetto non banale. Suggerirei che è stato un esercizio accademico che è andato troppo lontano per ospitare due classi di server. L'uniformità ha dominato il deisgn complessivo. Ora che tutto procede in doppio 10 gb / s stiamo ancora facendo LACP con un partner MLAG, quindi 20 gb / s in totale e non più forzando le interfacce.
Aaron,

0

Dipende. Se il protocollo di traffico primario ha integrato il bilanciamento del carico multipath, ad esempio iSCSI, funziona molto bene. Il legame ha una serie di problemi che le altre risposte già descrivono.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.