Ligação do adaptador Linux Centos6 - Cisco 2960S EtherChannel LACP

2

Eu quero conectar um CentOS 6.4 Linux Box com dois NICs a um Cisco 2960S usando a agregação de portas LACP 802.3ad. Isso principalmente por razões de redundância (e esperamos que mais banda). Nós não usamos marcação de VLAN.

Com as configurações listadas abaixo, a agregação de links funciona apenas parcialmente. Aproximadamente metade dos hosts da rede pode fazer ping e ssh na caixa do Linux, enquanto a outra metade não pode. O mesmo é verdadeiro para a própria caixa do Linux, aproximadamente metade dos hosts podem receber ping.

Configurar a conexão do adaptador (ou no EtherChannel de fala da Cisco) não deve ser tão difícil. Mas alguém sabe o que há de errado aqui?

No lado do Linux, a configuração é assim:

cat /etc/modprobe.d/bond.conf 
alias bond0 bonding  

cat /etc/sysconfig/network-scripts/ifcfg-bond0 
DEVICE=bond0
ONBOOT=yes
USERCTL=no
BOOTPROTO=none
NM_CONTROLLED="no"
IPADDR=10.76.161.135
PREFIX=21
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System bond0"
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

E esses comandos eu apliquei ao Cisco 2960S:

sw01>enable     
sw01#config term
sw01(config)#int range Gi0/13 - 14
sw01(config-if-range)#description lacp ch2     
sw01(config-if-range)#channel-protocol lacp
sw01(config-if-range)#channel-group 2 mode active
Creating a port-channel interface Port-channel 2
sw01(config-if-range)#no shutdown
sw01(config-if-range)#exit
sw01(config)#interface Port-channel2
sw01(config-if)#description lacp ch2 for ssensvr03
sw01(config-if)#switchport mode access
sw01(config-if)#no shutdown
sw01(config-if)#exit

sw01>show interface description 
Gi0/13                         up             up       lacp ch2
Gi0/14                         up             up       lacp ch2
Po2                            up             up       lacp ch2 for svr03
sw01>show etherchannel summary
Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
2      Po2(SU)         LACP      Gi0/13(P)   Gi0/14(P)   

sw01>show etherchannel 
Group: 2 
----------
Group state = L2 
Ports: 2   Maxports = 16
Port-channels: 1 Max Port-channels = 16
Protocol:   LACP
Minimum Links: 0
    
por StackUnderflow 21.06.2013 / 11:44

2 respostas

3

O RHEL e o CentOS têm o NetworkManager ativado por padrão, o que causa problemas. Desativar permanentemente como root, a fim de fazer o seu adaptador funcionar corretamente:

service NetworkManager stop
chkconfig NetworkManager off
chkconfig network on
service network restart

Além disso, remova o lacp_rate=1 do BONDING_OPTS :

BONDING_OPTS="mode=4 miimon=100"
    
por 03.07.2013 / 16:15
2

Gostaria de saber se isso é porque você está definindo Fast LACPDUs ( lacp_rate=1 ) no fim do Linux do vínculo, mas o switch ainda está em execução no modo LACPDUs padrão lento (o padrão), então o vínculo não é negociando corretamente.

Se isso estiver certo, você poderá show etherchannel 2 detail ou show lacp internal no comutador, e os sinalizadores no grupo de canais provavelmente dirão SA (Slow Active). Se você fizer um show lacp neigh , provavelmente verá F no final do Linux (Rápido).

Para resolver isso, basta remover lacp_rate=1 do seu BONDING_OPTS e reiniciar.

Tudo o mais está configurado corretamente, embora você não precise de alias bond0 bonding , os scripts de rede carregarão e configurarão o driver de ligação ao iniciar a interface.

    
por 28.06.2013 / 15:28