linux – 如何在Ubuntu上测试10千兆位英特尔X520

我买了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不起作用.

解决方法

在仔细修改了优缺点以及实际可以测试的内容之后,我在服务器(1 Gbps NIC)上禁用了eth3并使用其地址设置eth5(10 Gbps).然后客户发现新接口,iperf显示10 x 1 Gbps客户端的10 Gbps.所以,一切都很好. 如果我永久需要这两个接口,我认为上面发布的@sciurus的问题会很棒. 1对我来说很好的参考!

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...