我的问题是:为什么在智能交换机上设置链路聚合组会降低两台机器之间的带宽?
我终于通过TP-LINK T1700X-16TS智能交换机通过2条绑定的10G CAT7电缆连接两台机器(运行ubuntu 18.04服务器的服务器)之间的吞吐量(带宽)更高.电缆连接到每台机器中的单个intel X550-T2 NIC(每个卡上有2个RJ45端口),插入PCI-E x8.
我做的第一件事就是在交换机配置中创建静态LAG组,其中包含每台机器连接的两个端口.这最终成了我的第一个错误.
在每个盒子上,创建了一个包含intel X550-T2卡上两个端口的绑定.我正在使用netplan(和networkd).例如.:
network:
ethernets:
ens11f0:
dhcp4: no
optional: true
ens11f1:
dhcp4: no
optional: true
bonds:
bond0:
mtu: 9000 #1500
dhcp4: no
interfaces: [ens11f0,ens11f1]
addresses: [192.168.0.10/24]
parameters:
mode: balance-rr
transmit-hash-policy: layer3+4 #REV: only good for xor ?
mii-monitor-interval: 1
packets-per-slave: 1
注意9000字节MTU(对于巨型数据包)和balance-rr.
鉴于这些设置,我现在可以使用iperf(iperf3)测试机器之间的带宽:
iperf3 -s (on machine1)
iperf3 -c machine1 (on machine2)
我得到的是每秒9.9 Gbits(非常接近单个10G连接的理论最大值)
但是有些事情是错的.我正在使用循环法,我在机器之间有两根10G电缆(理论上).我应该可以获得20G带宽,对吗?
错误.
奇怪的是,我接下来从智能开关中删除了LAG组.现在,在linux方面我有绑定接口,但对于交换机,没有绑定(没有LAG).
现在我再次运行iperf3:
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 1.77 GBytes 15.2 Gbits/sec 540 952 KBytes
[ 4] 1.00-2.00 sec 1.79 GBytes 15.4 Gbits/sec 758 865 KBytes
[ 4] 2.00-3.00 sec 1.84 GBytes 15.8 Gbits/sec 736 454 KBytes
[ 4] 3.00-4.00 sec 1.82 GBytes 15.7 Gbit