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:
- estou fazendo algo errado?
- 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.