为什么绑定不会提高网络速度?

我在我的一个服务器(称为server1)的/etc/network/interfaces文件中有以下内容。在另一台服务器(称为server2)上,/etc/network/interfaces的内容是相似的,只是MAC地址相应地更改了,并且IP地址更改为192.168.2.2。这两台服务器都安装了Ubuntu 13.10。
但是当我在server1上使用iperf -s命令,并使用iperf -c 192.168.2.1测试速度时,我只能获得大约10Gbps的速度(单个网卡的速度)。我的交换机配置为二层交换机。有人知道如何通过绑定来实现20Gbps的速度吗?谢谢。
auto em1
iface em1 inet manual
hwaddress ether c8:1f:66:e2:90:43
bond-master bond0

auto em2
iface em2 inet manual
hwaddress ether c8:1f:66:e2:90:45  
bond-master bond0

auto bond0
iface bond0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
bond-mode 4
bond-miimon 100
bond-lacp-rate 1
bond-slaves em1 em2
iperf 的输出如下。
server2:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.2.2 port 5001 connected with 192.168.2.1 port 34014
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  11.0 GBytes  9.41 Gbits/sec

server1:~$ iperf -c 192.168.2.2
------------------------------------------------------------
Client connecting to 192.168.2.2, TCP port 5001
TCP window size: 22.9 KByte (default)
------------------------------------------------------------
[  4] local 192.168.2.1 port 34014 connected with 192.168.2.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  11.0 GBytes  9.41 Gbits/sec

我还尝试将模式更改为balance-albbalance-rr,但它们也没有带来性能的提升。有人知道如何调试这个问题吗?谢谢。
auto bond0
iface bond0 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
#bond-mode balance-rr
bond-mode balance-alb
bond-miimon 100
bond-slaves em1 em2
2个回答

要达到大约20Gbps的传输带宽,需要使用LACP绑定(模式4)将服务器连接到多个客户端。一个客户端的最大传输速度限制在一个单独通道的速度上(在上述情况下最高为10Gbps/客户端)。LACP“对于单个会话不增加带宽”,LACP“仅在进行多个同时会话时才能实现高利用率”,这是从专家演示幻灯片7中得出的结论。点击这里查看幻灯片:http://www.ieee802.org/3/hssg/public/apr07/frazier_01_0407.pdf 同样的问题也可以在这里找到答案:https://serverfault.com/questions/569060/link-aggregation-lacp-802-3ad-max-throughput/569125#569125

ifenslave用于将从属网络接口附加到绑定设备并将其分离。
安装方法如下:
对于Ubuntu 12.04及更早版本:
sudo apt-get install ifenslave

配置它的方法如下:
这个链接会帮到你:链接 请注意,某些绑定模式需要特殊的交换机支持。

我已经安装了ifenslave(实际上,如果我执行sudo apt-get install ifenslave,则安装的是ifenslave-2.6)。我已阅读您提供的链接。我也尝试过balance-alb,但速度不是单个nic速度的两倍。 - user1424739