我买了Intel X520并将其连接到PCI-E x16.该卡被ethtool识别为10 Gbit:
# ethtool eth5 Settings for eth5: Supported ports: [ FIBRE ] Supported link modes: 1000baseT/Full 10000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10000baseT/Full Advertised auto-negotiation: Yes Speed: 10000Mb/s Duplex: Full Port: FIBRE PHYAD: 0 Transceiver: external Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) Link detected: yes
交换机还将链路识别为10 Gbit.
我从12台不同的机器上运行了iperf测试(2次x 6).除服务器之外,每个连接都是1 Gbit.所以,我希望看到大约6 Gbit(6台机器x 1 Gbit).我在服务器端只得到1 Gbit.
我的问题是:
>我做错了什么?
>如何正确测试新卡?
操作系统是Ubuntu Karmic,MB是Supermicro X8DAi.
谢谢!
编辑:
交换机是单个Netgear GSM7328S-200NAS.这是一个图表:
我通过运行测试:
Server: iperf -s All clients,simultaneously: iperf -c server_IP
我看到大约150-160 Mbps /客户端的值,它与服务器的1 Gbps链接相匹配.分配给新卡的IP从未使用过,所以我认为没有ARP问题.但是,所有流量都在一个子网上,因为相同的客户端使用旧的1 Gbps卡和服务器的IP.
这里没有虚拟化,只是普通的Ubuntu安装,主要服务于NFS.
更新:经过进一步测试后,我发现客户端的ARP表包含服务器10 Gbps网卡的错误条目.其中列出的HW地址与服务器的1 Gbps NIC相同.我删除了它并手动插入了正确的条目:arp -d server_IP_10g,arp -s server_IP_10g HW:address.之后我无法ping server_IP_10g.
如何在不禁用服务器中的1 Gbps NIC的情况下修复它?
UPDATE2:sysctl -w net.ipv4.conf.all.arp_ignore = 1
sysctl -w net.ipv4.conf.all.arp_announce = 2不起作用.