A ligação não está funcionando corretamente (CentOS 5.4, Intel 10G, 802.3ad)

4

Nós configuramos a ligação de rede usando um adaptador de rede Intel X540 com duas portas. Ambas as portas estão conectadas a um comutador Brocade com um tronco LACP configurado. Tudo parece funcionar bem; mas quando desconectamos fisicamente as duas portas, o status da interface de ligação ainda está alto! O status do link deve estar inativo, não deveria? Não podemos fazer ping ou conectar a essa interface; depois de conectar uma ou ambas as portas escravas, tudo está bem.

Alguma idéia?

[root@er ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Active Aggregator Info:
    Aggregator ID: 1
    Number of ports: 2
    Actor Key: 0
    Partner Key: 1
    Partner Mac Address: 00:00:00:00:00:00

Slave Interface: eth2
MII Status: down
Link Failure Count: 1
Permanent HW addr: 90:e2:ba:37:41:28
Aggregator ID: 1

Slave Interface: eth3
MII Status: down
Link Failure Count: 1
Permanent HW addr: 90:e2:ba:37:41:29
Aggregator ID: 1
[root@er ~]# ethtool bond0
Settings for bond0:
    Link detected: yes
[root@er ~]# ethtool eth2
Settings for eth2:
    Supported ports: [ FIBRE ]
    Supported link modes:   1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  1000baseT/Full
                            10000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: Unknown! (65535)
    Duplex: Unknown! (255)
    Port: FIBRE
    PHYAD: 0
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
    Link detected: no
[root@er ~]# ethtool eth3
Settings for eth3:
    Supported ports: [ FIBRE ]
    Supported link modes:   1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  1000baseT/Full
                            10000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: Unknown! (65535)
    Duplex: Unknown! (255)
    Port: FIBRE
    PHYAD: 0
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
    Link detected: no
[root@er ~]# cat /etc/modprobe.conf
...
alias eth2 ixgbe
alias eth3 ixgbe
alias bond0 bonding
options bond0 mode=4 miimon=100
[root@er ~]# modinfo ixgbe
filename:       /lib/modules/2.6.18-164.el5/kernel/drivers/net/ixgbe/ixgbe.ko
version:        3.11.33
license:        GPL
description:    Intel(R) 10 Gigabit PCI Express Network Driver
author:         Intel Corporation, <[email protected]>
srcversion:     739E88C99BF8038F878AE91
...
[root@er ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.100.23
NETMASK=255.255.255.0
NETWORK=192.168.100.0
GATEWAY=192.168.100.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
IPV6INIT=no
[root@er ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HWADDR=90:e2:ba:37:41:28
[root@er ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HWADDR=90:e2:ba:37:41:29
[root@er ~]# uname -a
Linux er.dve.intern 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[root@er ~]# tail /var/log/messages
Feb 25 18:11:42 er kernel: ixgbe 0000:0a:00.0: eth2: NIC Link is Down
Feb 25 18:11:42 er kernel: bonding: bond0: link status definitely down for interface eth2, disabling it
Feb 25 18:11:43 er kernel: ixgbe 0000:0a:00.1: eth3: NIC Link is Down
Feb 25 18:11:43 er kernel: bonding: bond0: link status definitely down for interface eth3, disabling it
Feb 25 18:11:43 er kernel: bonding: bond0: Warning: No 802.3ad response from the link partner for any adapters in the bond
    
por Martin Markert 25.02.2013 / 20:34

2 respostas

1

Sua saída mostra que a ethtool acha que ambas as interfaces estão inativas (assim como o módulo de ligação). Google "bonding.txt" e leia a documentação de ligação do kernel, particularmente a seção 7 (e 7.3) no monitoramento de link. Como parece que a ethtool não pode determinar se sua interface está realmente ativa ou não, e, portanto, o driver de ligação não pode, talvez tentar com 'use_carrier = 0' ajudará? Ou tentando o modo de monitoramento arp em vez de miimon?

EDIT: Minhas desculpas, acho que li sua pergunta incorretamente ... parece que sua saída de comando é do período de tempo que você tinha suas NICs desconectadas, e você está se perguntando por que bond0 ainda diz que está acima? Eu não sei de nada útil de improviso para isso. Eu ainda recomendo bonding.txt como a bíblia para todas as coisas "linux + bonding" embora:)

    
por 25.02.2013 / 21:59
1

Você está certo, quando os dois escravos estão em baixo, ethtool bond0 deve reportar Link detected: no .

Experimente o kernel mais recente. Houve inúmeras atualizações para bonding e ixgbe desde que 2.6.18-164 foi lançado em 2009. Uma correção básica de estado de link como essa provavelmente já foi corrigida.

Eu também sugiro ficar com o driver do kernel em vez de compilar o driver upstream, a menos que você realmente tenha uma razão específica para isso.

    
por 20.05.2013 / 14:39

Tags