Назад | Перейти на главную страницу

Как протестировать 10-гигабитный Intel X520 на Ubuntu

Я получил Intel X520 и подключил его к PCI-E x16. Карта распознается ethtool как 10 Гбит:

 # 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 Гбит. Я побежал iperf тесты с 12 разных машин (2 раза по 6). Каждое соединение составляет 1 Гбит, кроме серверного. Итак, я ожидаю увидеть в общей сложности около 6 Гбит (6 машин по 1 Гбит каждая). У меня на сервере всего 1 Гбит. Мои вопросы:

  1. Я делаю что-то неправильно?
  2. как правильно протестировать новую карту?

ОС - Ubuntu Karmic, МБ - Supermicro X8DAi. Спасибо!

РЕДАКТИРОВАТЬ: переключатель одиночный Netgear GSM7328S-200NAS. Вот схема:

Я тестирую, запустив:

Server: iperf -s
All clients, simultaneously: iperf -c server_IP

Я вижу значения около 150–160 Мбит / с на клиент, что соответствует каналу 1 Гбит / с на сервер. IP, который я назначил новой карте, никогда не использовался, поэтому я полагаю, что проблем с ARP нет. Однако весь трафик находится в одной подсети, поскольку одни и те же клиенты используют старую карту 1 Гбит / с и IP-адрес сервера.

Никакой виртуализации здесь нет, просто установка Ubuntu, в основном обслуживающая NFS.

Обновление: после дальнейших тестов я обнаружил, что таблицы ARP клиентов содержат неправильную запись для сетевой карты 10 Гбит / с. Указанный там HW-адрес совпадает с адресом сетевой карты 1 Гбит / с сервера. Я удалил его и вручную вставил правильную запись: arp -d server_IP_10g, arp -s server_IP_10g HW:address. После этого я не мог ping server_IP_10g.

Как я могу это исправить, не отключая сетевую карту 1 Гбит / с на сервере?

ОБНОВЛЕНИЕ2: sysctl -w net.ipv4.conf.all.arp_ignore=1 sysctl -w net.ipv4.conf.all.arp_announce=2 не работает.

После тщательного изучения плюсов и минусов и того, что на самом деле можно проверить, я отключил eth3 на сервере (сетевая карта 1 Гбит / с) и настроить eth5 (10 Гбит / с) со своим адресом. Затем клиенты нашли новый интерфейс и iperf показал 10 Гбит / с от клиентов 10 x 1 Гбит / с. Итак, все хорошо. Я думаю, что вопрос @sciurus, опубликованный выше, был бы замечательным, если бы мне постоянно требовались оба интерфейса. +1 от меня по хорошей ссылке!