Équilibrage de charge assisté par commutateur avec tolérance aux pannes

9

Pendant mes études pour les certifications Cisco et Microsoft, j'ai beaucoup lu sur le NIC Teaming, les Etherchannels et autres choses similaires.

Je sais que vous pouvez faire un regroupement statique dans MS Windows Server ou créer un canal de port dans Cisco ou utiliser des protocoles dynamiques tels que LACP et PAgP. Mais ils offrent tous l'équilibrage de charge en utilisant l'adresse MAC source ou de destination ou l'adresse IP, une combinaison XOR ensemble ou des choses similaires, non? Et il semble qu'il n'y ait aucun moyen d'augmenter votre débit réel si vous avez un long transfert de fichiers d'un serveur à un autre (par exemple, avoir 4 GigE liés ensemble pour l'augmenter à 4 Gbps).

Je me demande donc si c'est vrai? Existe-t-il un moyen d'utiliser toute la bande passante des interfaces liées? J'ai entendu de quelques sources qu'il y avait quelque chose comme SLB (Switch-Assisted Load Balancing w / Fault Tolerance) qui prend en charge l'équilibrage de charge complet et permet d'utiliser toute la bande passante (comme 4 Gbps de mon exemple entre deux serveurs en une seule transaction).

J'ai entendu tellement de choses contradictoires à ce sujet, et je suis totalement confus. Aidez-moi les gars!

Alex
la source
Pas une mauvaise question, mais AFAIK il n'y a aucun moyen d'augmenter le débit d' un seul flux de données en utilisant l'équilibrage de charge.
pauska
Ce n'était pas une réponse! Juste un commentaire :-) attendez que le gars le plus qualifié trouve une réponse plus approfondie.
pauska
Bien sûr que je le ferai :) Pourtant, je suis un peu sceptique à l'idée que cela soit possible, mais certains vendeurs disent que c'est le cas et mon collègue (serveur) est également confus :) Je veux exclure cela
Alex
haha vient de se rappeler: s'il vous plaît ne prenez pas les conseils des vendeurs des leçons OSI il y a quelques années
Alex

Réponses:

8

Au niveau de la couche 2, tout l'équilibrage de charge est, au mieux, effectué par un XOR ou un hachage du MAC source et de destination, et si vous êtes chanceux, il peut même lire dans la couche 3 et hacher également ces données.

À la couche 3, cependant, où nous parlons essentiellement de plusieurs passerelles (donc, effectivement, deux liaisons physiques avec un prochain bond unique à travers chacune), vous pouvez maximiser la bande passante à travers les liaisons SI vous êtes prêt à le faire par- équilibrage des paquets.

Avant de continuer, l'équilibrage par paquet est généralement une mauvaise chose car il peut entraîner une livraison de paquets dans le désordre, cela peut être particulièrement terrible avec les connexions TCP, mais cela se résume bien sûr à la mise en œuvre et la plupart des piles modernes peuvent tolérer cela relativement bien.

Pour effectuer l'équilibrage par paquet, il est évident qu'une exigence est que les adresses IP source et de destination ne soient pas du tout en liaison avec les appareils qui ont les multiples chemins car ils doivent être routés pour que l'équilibrage soit possible. La redondance peut être obtenue via un protocole de routage tel que BGP, OSPF, ISIS, RIP, ou alternativement, BFD ou simple détection d'état de liaison.

Enfin, il existe bien sûr une solution de couche de transport - des protocoles tels que SCTP prennent en charge la connexion à plusieurs points de terminaison, et TCP a déjà des projets en cours qui ajouteront des options pour faire des choses similaires. Ou ... vous pouvez simplement faire en sorte que votre application ouvre plusieurs sockets.

Olipro
la source
Merci de répondre! Oui, je suis au courant de cet équilibrage de charge L3. Et, fondamentalement, si vous voulez plus d'un concert au niveau deux, optez pour 10gig? Surtout si vous voulez faire des sauvegardes entre les serveurs @ couche 2, qui sont connectés au même commutateur?
Alex
Fondamentalement, oui - vous pouvez peut-être faire des choses hacky sur l'hôte lui-même, comme faire un faux pont, puis réécrire le MAC de destination de chaque trame pour que chacune sorte d'une interface différente, mais cela dépend vraiment de votre système d'exploitation , n'est pas trivial et n'est pas évolutif.
Olipro
Nous avons un mélange de RHEL et Win 08 R2
Alex
5

Tout d'abord, soyons réalistes quant aux performances de votre système; vous devez vous assurer que votre système peut systématiquement spouler la bande passante que vous demandez du disque aux cartes réseau en question (voir en bas de la réponse) ...

Tant que vous êtes prêt à utiliser FTP pour vos transferts de fichiers, vous pouvez utiliser un client qui prend en charge la segmentation du fichier via la RESTcommande FTP pour les téléchargements, et un serveur qui prend en charge la COMBcommande FTP pour les téléchargements segmentés. En utilisant des clients FTP qui prennent en charge la segmentation, vous pouvez ouvrir plusieurs sessions FTP par transfert de fichier et profiter du hachage Layer4 LACP pris en charge par de nombreux fournisseurs de commutateurs ... que vous liez des liaisons 1GE ou 10GE, les transferts segmentés accélèrent vos performances à travers LACP.

CuteFTP pour Windows prend en charge les transferts REST et Filezilla prend en charge la commande COMB . Ce ne sont que deux des nombreuses options que vous pourriez utiliser.


Limites du système

Je ne sais pas quel type de disque vous avez, mais souvent la limite d'un seul système est les E / S de disque ... il y a plusieurs points d'intérêt ici ... du point de vue du contrôleur ...

  • SATA (révision 1) max xfer: 1,2 Gbit / s après surcharge 8b / 10b
  • SATA (révision 2) max xfer: 2,4 Gbit / s après surcharge 8b / 10b
  • SATA (révision 3) max xfer: 4,8 Gbit / s après surcharge 8b / 10b
  • 4G Fibre Channel max xfer: 3,56 Gbps

Une autre limite possible est la vitesse du disque / broches / bras ... sauf si vous utilisez un SSD.

Enfin, vous avez besoin de cartes réseau avec une capacité suffisante pour la carte mère ... vérifiez le nombre de voies sur votre carte réseau PCIe. Je suppose que vous êtes sur un réseau local et que la perte / congestion de paquets ne sera pas un problème. Vous voudrez peut-être activer les jumbos si vous trouvez que le processeur est un facteur limitant pour vos transferts.

Mike Pennington
la source
Je pense que nous utilisons FTP et SCP pour le transfert. En ce qui concerne les performances d'E / S concernées, nous prévoyons de migrer vers iSCSI et indépendamment de ce que je dis, nous ne pouvons pas vraiment nous permettre un commutateur 10gig haute densité en raison du budget limité (ce qui est vraiment nécessaire dans ce cas), donc nous essayons d'improviser au fur et à mesure. Planification juste.
Alex
@Alex Je travaille également avec un budget limité et j'utilise iSCSI. Les commutateurs Dell PowerConnect 8132 / 8164F sont à peu près aussi bon marché que vous pouvez obtenir par port avec des SFP et non avec un tampon de port absymal. Nous avons eu beaucoup de succès avec eux.
pauska
Je les jetterai un coup d'œil :)
Alex
@Alex, je ne propose pas d'utiliser un commutateur 10GE ... même plusieurs 1GE liés ensemble peuvent dépasser la capacité du serveur ... J'ai mis à jour ma réponse pour souligner que je suggère que vous utilisiez LACP
Mike Pennington