Bilanciamento del carico assistito da interruttore con tolleranza ai guasti


9

Mentre studiavo per le certificazioni Cisco e Microsoft, ho letto molto su NIC Teaming, Etherchannel e cose simili.

So che puoi fare un team statico in MS Windows Server o creare un port-channel in Cisco o utilizzare protocolli dinamici come LACP e PAgP. Ma offrono tutti il ​​bilanciamento del carico utilizzando l'indirizzo MAC o l'indirizzo IP di origine o di destinazione, una combinazione XORed insieme o cose simili, giusto? E sembra che non ci sia modo di aumentare la velocità effettiva se si dispone di un trasferimento di file molto lungo da un server a un altro (ad es. Avere 4 GigE collegati insieme per aumentarlo a 4 Gbps).

Quindi mi chiedo se è vero? C'è un modo per utilizzare tutta la larghezza di banda delle interfacce legate? Ho sentito da poche fonti che esiste qualcosa come SLB (Switch-Assisted Load Balancing w / Fault Tolerance) che supporta il bilanciamento del carico completo e consente di utilizzare l'intera larghezza di banda (come 4 Gbps dal mio esempio tra due server in una transazione).

Ho sentito così tante cose contraddittorie al riguardo e sono totalmente confuso. Aiutatemi ragazzi!


Non è una cattiva domanda, ma AFAIK non ha modo di aumentare il throughput di un singolo flusso di dati utilizzando il bilanciamento del carico.
pauska,

Non è stata una risposta! Solo un commento :-) attendi che il ragazzo più abile abbia una risposta più approfondita.
pauska,

Certo che lo farò :) Eppure sono un po 'scettico sul fatto che ciò sia possibile, ma alcuni venditori dicono che lo è e anche il mio collega (ragazzo del server) è confuso :) Voglio escluderlo
Alex

haha appena ricordato: per favore non prendere i consigli del personale di vendita dalle lezioni OSI qualche anno fa
Alex

Risposte:


8

Al livello 2, tutto il bilanciamento del carico viene, nella migliore delle ipotesi, eseguito da un XOR o hash del MAC di origine e di destinazione e, se sei fortunato, potrebbe persino leggere nel livello 3 e hash anche quei dati.

Al livello 3, tuttavia, in cui stiamo sostanzialmente parlando di più gateway (quindi, effettivamente, due collegamenti fisici con un unico hop successivo su ciascuno) puoi massimizzare la larghezza di banda attraverso i collegamenti SE sei pronto a fare per- bilanciamento dei pacchetti.

Prima di continuare, il bilanciamento per pacchetto è generalmente negativo a causa del fatto che può comportare la consegna di pacchetti fuori servizio, questo può essere particolarmente terribile con le connessioni TCP, ma ovviamente si riduce all'implementazione e la maggior parte delle pile moderne può tollerarlo relativamente bene.

Per eseguire il bilanciamento per pacchetto, ovviamente un requisito è che gli indirizzi IP di origine e di destinazione non siano affatto collegati ai dispositivi che hanno i percorsi multipli poiché devono essere instradati affinché sia ​​possibile il bilanciamento. La ridondanza può essere ottenuta tramite un protocollo di routing come BGP, OSPF, ISIS, RIP o, in alternativa, BFD o semplice rilevamento dello stato dei collegamenti.

Infine, esiste ovviamente una soluzione a livello di trasporto: protocolli come il supporto SCTP che si collegano a più endpoint e TCP ha già predisposto bozze che aggiungeranno opzioni per fare cose simili. Oppure ... puoi semplicemente fare in modo che la tua applicazione apra più socket.


Grazie per aver risposto! Sì, sono a conoscenza del bilanciamento del carico L3. E, fondamentalmente, se vuoi più di un concerto al secondo strato, scegli 10gig? Soprattutto se si desidera eseguire backup tra server @ layer 2, che sono collegati allo stesso switch?
Alex

Fondamentalmente sì - potresti essere in grado di fare cose complicate sull'host stesso come creare un ponte falso e quindi riscrivere il MAC di destinazione di ciascun frame per far uscire ognuno da un'interfaccia diversa, ma questo dipende molto dal tuo sistema operativo , è non banale e non scalabile.
Olipro,

Abbiamo un mix di RHEL e Win 08 R2
Alex

5

Innanzitutto, cerchiamo di essere realistici sulle prestazioni del tuo sistema; devi assicurarti che il tuo sistema sia in grado di eseguire lo spooling costante della larghezza di banda che stai chiedendo dal disco alle schede di rete in questione (vedi fondo della risposta) ...

Finché sei disposto a utilizzare FTP per i tuoi trasferimenti di file, puoi utilizzare un client che supporta la segmentazione del file tramite il RESTcomando FTP per i download e un server che supporta il COMBcomando FTP per i caricamenti segmentati. Utilizzando client FTP che supportano la segmentazione, è possibile aprire più sessioni FTP per trasferimento di file e trarre vantaggio dall'hash Layer4 LACP supportato da molti fornitori di switch ... indipendentemente dal fatto che si stiano collegando collegamenti 1GE o 10GE, i trasferimenti segmentati accelerano le prestazioni attraverso LACP.

CuteFTP per Windows supporta i trasferimenti REST e Filezilla supporta il comando COMB . Queste sono solo due delle diverse opzioni che potresti usare.


Limiti di sistema

Non so che tipo di disco hai, ma spesso il limite del singolo sistema è l'I / O del disco ... ci sono molti punti di interesse qui ... dal punto di vista del controller ...

  • Sfer (revisione 1) max xfer: 1,2 Gbps dopo 8b / 10b sovraccarico
  • Sfer (revisione 2) max xfer: 2,4 Gbps dopo 8 b / 10 b di sovraccarico
  • Sfer (revisione 3) xfer massimo: 4,8 Gbps dopo 8 b / 10 b di sovraccarico
  • Xfer massimo Fibre Channel 4G: 3,56 Gbps

Un altro possibile limite è la velocità del disco / mandrini / bracci ... a meno che non si stia utilizzando un SSD.

Infine, hai bisogno di schede di rete con capacità sufficiente per la scheda madre ... controlla quante corsie ci sono sulla tua scheda di rete PCIe. Suppongo che tu sia su una LAN e che la perdita / congestione dei pacchetti non sarà un problema. Potresti voler attivare jumbos se ritieni che la CPU sia un fattore limitante per i tuoi trasferimenti.


Penso che utilizziamo FTP e SCP per il trasferimento. Per quanto riguarda le prestazioni di I / O, stiamo pianificando la migrazione a iSCSI e, indipendentemente da ciò che dico, non possiamo permetterci uno switch da 10 gig ad alta densità a causa del budget limitato (che è davvero necessario in quel caso) quindi stiamo provando ad improvvisare mentre andiamo. Sto solo pianificando.
Alex

@Alex Lavoro anche con un budget limitato e utilizzo iSCSI. Gli switch Dell PowerConnect 8132 / 8164F sono meno costosi che puoi ottenere per porta con SFP e non un portbuffer assimale. Abbiamo avuto un grande successo con loro.
pauska,

Li darò un'occhiata :)
Alex

@Alex, non sto proponendo di utilizzare uno switch 10GE ... anche più 1GE collegati insieme possono superare la capacità del server ... Ho aggiornato la mia risposta per evidenziare che sto suggerendo di utilizzare LACP
Mike Pennington
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.