2个25Ge网口做bond(mode4)后,iperf2压测不到50Gb
問題現象:
centos7 服務器,有2個網卡,一個25Ge,2個網口,一個10Ge,2個網口,25GE2個網口連接一臺交換機,10GE兩個網口連接一臺交換機。
分別對25Ge的兩個網口和10GE兩個網口做bond,mode為4,配置一樣,參考如下:
DEVICE=bond0
NAME=bond0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=192.168.20.211
NETMASK=255.255.255.0
BONDING_OPTS=“mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer3+4”
最后用ethtool bond0查看網口帶寬有50Gb和20Gb,然后用iperf2進行壓測,使用同樣命令進行測試,server1 上執行/usr/bin/iperf -s
,server2上執行 /usr/bin/iperf -c 192.168.2.2 -f M -i 2 -t 60 -P 5,出現以下現象:
(1)10GE的端口bond1,壓測可以到20Gb的帶寬,server1上用sar -n DEV 2 可以看到2個網口都是滿流量;
(2)25GE的端口bond0,壓測只有25Gb的帶寬,server1上用sar -n DEV 2 可以看到只有1個網口滿流量。
用server2、server3 同時壓server1的bond0口,server1 上查看還是只用了一個網口,server2、server3發流帶寬加起來25Ge;
用server2、server3、server4同時壓server1bond0口,server1上查看總帶寬到50Gb,2個網口流量滿,server2和server3發流帶寬加起來25Gb,server4上發流帶寬25Gb。
將server1和server2上25Ge網口進行直連,不經過交換機,iperf同樣命令壓測可以到50Gb,說明在經過交換機時,出現了帶寬減小的現象。
疑問:
由上25Gb網口多壓1時,帶寬可以寫滿,和之前了解到的一對一時,交換機上會hash選出一個網口進行通信,ip越多hash選擇網口會越均衡相符。
下面鏈接講解了交換機鏈路聚合負載均衡算法原理:
https://blog.51cto.com/yangrong/1330594
但是如果這個成立,為什么10Ge的網口,1對1壓時就可以壓滿20Gb呢?
總結
以上是生活随笔為你收集整理的2个25Ge网口做bond(mode4)后,iperf2压测不到50Gb的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sms4的S盒构造c实现
- 下一篇: 1 C#.NET环境配置