Como testar 10 gigabit Intel X520 no Ubuntu

4

Eu tenho o Intel X520 e o conectei ao PCI-E x16. O cartão é reconhecido como 10 Gbit pela ethtool:

 # 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

O switch também reconhece o link como 10 Gbit. Eu corri iperf testes de 12 máquinas diferentes (2 vezes x 6). Cada conexão é de 1 Gbit, exceto a do servidor. Então, eu espero ver um total de 6 Gbit (6 máquinas x 1 Gbit cada). Eu tenho apenas um total de 1 Gbit no lado do servidor. Minhas perguntas são:

  1. estou fazendo algo errado?
  2. como testar adequadamente o novo cartão?

O SO é o Ubuntu Karmic, o MB é o Supermicro X8DAi. Obrigado!

EDITAR: O switch é único Netgear GSM7328S-200NAS . Aqui está um diagrama:

Eu testo executando:

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

Eu vejo valores em torno de 150-160 Mbps / client, que correspondem a um link de 1 Gbps para o servidor. O IP que eu atribuí ao novo cartão nunca foi usado, então eu suponho que não haja problemas ARP. No entanto, todo o tráfego está em uma sub-rede, pois os mesmos clientes usam a placa antiga de 1 Gbps e o IP do servidor.

Nenhuma virtualização aqui, apenas a instalação simples do Ubuntu, atendendo principalmente ao NFS.

Atualização: após testes adicionais, descobri que as tabelas ARP dos clientes contêm entrada incorreta para a placa de rede de 10 Gbps do servidor. O endereço de HW listado aqui é o mesmo da NIC de 1 Gbps do servidor. Eu deletei e inseri manualmente a entrada correta: arp -d server_IP_10g , arp -s server_IP_10g HW:address . Depois disso, não consegui ping server_IP_10g .

Como posso corrigi-lo sem desativar a NIC de 1 Gbps no servidor?

UPDATE2: sysctl -w net.ipv4.conf.all.arp_ignore=1 sysctl -w net.ipv4.conf.all.arp_announce=2 não funciona.

    
por grs 08.09.2011 / 21:31

1 resposta

2

Após revisar cuidadosamente os prós e contras e o que realmente é possível testar, eu desabilitei eth3 no servidor (a NIC de 1 Gbps) e configurei eth5 (os 10 Gbps) com seu endereço. Em seguida, os clientes encontraram a nova interface e iperf mostrou 10 Gbps de clientes 10 x 1 Gbps. Então, tudo está bem. Acho que a pergunta do @sciurus, postada acima, seria ótima, se eu precisasse das duas interfaces permanentemente. +1 de mim sobre a boa referência!

    
por 13.09.2011 / 04:11