我得到英特尔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个不同的机器(2次×6)的iperftesting。 除了服务器之外,每个连接都是1 Gbit。 所以,我期望看到总共6 Gbit(6台机器,每个1 Gbit)。 我在服务器端只有1 Gbit。 我的问题是:
操作系统是Ubuntu Karmic,MB是Supermicro X8DAi。 谢谢!
编辑:开关是单一的NETGEAR GSM7328S – 200NAS 。 这是一张图表: 
我通过运行testing:
Server: iperf -s All clients, simultaneously: iperf -c server_IP
我看到的值大约在150-160 Mbps /客户端,与服务器的1 Gbps链接相匹配。 我分配给新卡的IP从未使用,所以我想没有ARP问题。 但是,所有stream量都在一个子网中,因为同一客户端使用旧的1 Gbps卡和服务器的IP。
这里没有虚拟化,只是简单的Ubuntu安装,主要服务于NFS。
更新:经过进一步testing,我发现客户端的ARP表包含服务器的10 Gbps NIC的错误条目。 此处列出的HW地址与服务器的1 Gbps NIC相同。 我删除它并手动插入正确的条目: arp -d server_IP_10g , arp -s server_IP_10g HW:address 。 之后,我无法ping server_IP_10g 。
如何解决这个问题,而不必在服务器中禁用1 Gbps的网卡?
UPDATE2: sysctl -w net.ipv4.conf.all.arp_ignore=1 sysctl -w net.ipv4.conf.all.arp_announce=2不起作用。
仔细修改正反两方面的内容以及实际可以testing的内容之后,我去了并禁用了服务器(1 Gbps NIC)上的eth3 ,并使用其地址设置了eth5 (10 Gbps)。 然后,客户端发现了新的接口, iperf从10 x 1 Gbps客户端显示10 Gbps。 所以,一切都很好。 我认为@sciurus的问题,如上所述,将是很好的,如果我需要永久的两个接口。 +1对我的好参考!