linux – 链路聚合(LACP802.3ad)最大吞吐量

linux – 链路聚合(LACP802.3ad)最大吞吐量,第1张

概述我在 Linux下看到一些关于绑定接口的令人困惑的行为,我想把这种情况抛到那里,希望有人可以为我清理它. 我有两台服务器:服务器1(S1)有4x 1Gbit以太网连接;服务器2(S2)具有2x 1Gbit以太网连接.两台服务器都在运行Ubuntu 12.04,虽然内核是3.11.0-15(来自lts-saucy linux-generic软件包). 两台服务器都将所有各自的网络接口捆绑到一个bon 我在 Linux下看到一些关于绑定接口的令人困惑的行为,我想把这种情况抛到那里,希望有人可以为我清理它.

我有两台服务器:服务器1(S1)有4x 1Gbit以太网连接;服务器2(S2)具有2x 1Gbit以太网连接.两台服务器都在运行Ubuntu 12.04,虽然内核是3.11.0-15(来自lts-saucy linux-generic软件包).

两台服务器都将所有各自的网络接口捆绑到一个bond0接口中,具有以下配置(在/ etc / network / interfaces中):

bond-mode 802.3adbond-miimon 100bond-lacp-rate fastbond-slaves eth0 eth1 [eth2 eth3]

在服务器之间有几个HP交换机(我认为)正确配置了相关端口上的LACP.

现在,链接正在运行 – 网络流量快乐地流入和流出两台机器.并且正在使用所有相应的接口,因此它不像聚合完全失败.但是,我需要在这两个服务器之间尽可能多的带宽,而且我没有达到我期望的~2Gbit / s.

在我的测试中,我可以观察到每个服务器似乎将每个TCP连接(例如iperf,scp,nfs等)分配给单个从属接口.基本上一切似乎都限制在最大1千兆位.

通过设置bond-xmit-hash-policy layer3 4,我可以使用iperf -c S1 -P2在两个从接口上发送,但在服务器端,接收仍然只发生在一个从接口上,因此总吞吐量受到限制在1Gbit / s时,即客户端在两个从接口上显示~40-50MB / s,服务器在一个从接口上显示~100MB / s.如果不设置bond-xmit-hash-policy,则发送也仅限于一个从接口.

我的印象是LACP应该允许这种连接捆绑,例如,允许单个scp传输来利用两个主机之间的所有可用接口.

我对LACP的理解是错误的吗?或者我错过了某些配置选项?任何建议或调查线索将不胜感激!

解决方法 一个快速而肮脏的解释是,使用LACP的单一通信线路不会在多个接口上拆分数据包.例如,如果您有一个TCP连接从HostA到HostB的数据包流传输,它将不会跨接口发送这些数据包.我最近一直在寻找LACP以获得我们正在研究的解决方案,这是一种常见的误解,即使用LACP“绑定”或“中断”多个网络接口可以为组合接口提供“吞吐量”.一些供应商制作的专有驱动程序将通过多个接口进行路由,但LACP标准并不是我所读过的.以下是我在搜索类似问题时从惠普发现的图表和解释的链接: http://www.hp.com/rnd/library/pdf/59692372.pdf 总结

以上是内存溢出为你收集整理的linux – 链路聚合(LACP / 802.3ad)最大吞吐量全部内容,希望文章能够帮你解决linux – 链路聚合(LACP / 802.3ad)最大吞吐量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1043353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存