[FUG-BR] Problema sério com link aggregation LACP no FreeBSD 10.2-RELEASE

Marcelo Gondim gondim em bsdinfo.com.br
Terça Setembro 15 11:59:51 BRT 2015


On 15-09-2015 11:41, Danilo Egea Gondolfo wrote:
> On 09/15/2015 06:28, Marcelo Gondim wrote:
>> Olá meus amigos,
>>
>> Não sei se sou azarado ou o que. Um ano atrás tive problemas com as 
>> interfaces Intel X520-SR2 que do nada elas morriam e eu tinha que 
>> ficar dando down e up pra elas voltarem à vida. Fiquei mais de 1 ano 
>> com esse problema. Tentei as listas e cheguei à fazer até um PR e 
>> nada. Um belo dia atualizei o router no STABLE e pronto, problema 
>> resolvido. O que foi feito não faço ideia mas resolveu depois de 1 
>> ano de sofrimento de ter trocado todo o hardware e achando que era 
>> temperatura interna da X520-SR2.
>>
>> Patrick até tentou me ajudar nessa época mas o jeito foi deixar um 
>> script testando e levantando a interface sempre que caía. Pura 
>> gambiarra, coisa feia de se ver em um sistema.  rsrsrsrsrs
>>
>> Estava eu usando o router funcionando no 10.1-STABLE r281235 e aí 
>> então resolvi passar o mesmo para o FreeBSD 10.2-RELEASE-p2 devido às 
>> melhorias da 10.1 para a 10.2 e mais uma vez me decepcionei com o 
>> sistema.
>>
>> Eu tenho 2 laggs nesse router e depois que atualizei, quando chegava 
>> no horário de pico e subia o tráfego nesses laggs, simplesmente meu 
>> load subia pra 40.x à 53.x, minha sessão BGP de um desses laggs com a 
>> operadora caía e levantava de 5 em 5 minutos me gerando grande 
>> problema aqui no provedor.
>>
>> Nos logs ficavam aparecendo:
>>
>> /var/log/messages:Sep  9 19:21:43 rt01 kernel: igb5: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:21:44 rt01 kernel: igb4: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:27:01 rt01 kernel: igb5: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:27:01 rt01 kernel: igb4: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:29:13 rt01 kernel: igb5: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:29:14 rt01 kernel: igb4: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:46:10 rt01 kernel: igb5: Interface 
>> stopped DISTRIBUTING, possible flapping
>> /var/log/messages:Sep  9 19:46:11 rt01 kernel: igb4: Interface 
>> stopped DISTRIBUTING, possible flapping
>>
>> Aí pensei comigo... estava tudo funcionando e não vou cometer o mesmo 
>> erro que cometi com a X520-SR2. Voltei para o 10.1-STABLE r281235 e 
>> pronto! Tudo voltou à funcionar como era antes. Assim fica difícil 
>> confiar na estabilidade e robustez de um sistema. Só Deus sabe agora 
>> quando que isso será resolvido no sistema. 1 ano? 2 anos? Bem, vou 
>> começar à pensar em algo como Juniper porque pelo menos vou poder 
>> cobrar de alguém quando isso acontecer. Uns anos atrás saí do Linux 
>> para FreeBSD porque este resolveu meus problemas, coisas que o Linux 
>> não me atendia mas que agora está me deixando chateado com essas 
>> coisas. Saí do problema do ksoftirq do Linux para outros problemas de 
>> instabilidade no FreeBSD.
>>
>> Querem ver outra coisa feia que desde o FreeBSD 10.0 existe e já tem 
>> PR, já comentei na freebsd-stable? Tudo bem que pode não afetar o 
>> sistema mas já acertaram na CURRENT faz tempo, pelo menos foi o que 
>> me disseram na lista. É uma coisa feia demais para um sistema tão bem 
>> trabalhado:
>>
>> Experimentem fazer:
>>
>> # ipfw table 100 add 0.0.0.0/8
>>
>> Agora o resultado:
>>
>>  # ipfw table 100 list
>> ::/8 0
>>
>> iptables pode ser estranho ou difícil de aprender mas nunca vi algo 
>> assim nele. Venho desde o FreeBSD 10.0 falando na lista sobre isso e 
>> cá estamos no 10.2 e continua esse bug horrendo.
>>
>> Bem eu abri o PR sobre o problema do LACP e agora vamos ver quando 
>> que isso vai ser resolvido porque ao meu ver isso é sério e muita 
>> gente usa lagg no sistema e com certeza é um problema porque voltei a 
>> versão e tudo normalizou. Fiquei 3 dias com esse problema me 
>> ferrando, para não dizer outra coisa, aqui no provedor.
>>
>>  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203031
>>
>> Desculpem o desabafo mas puts essa me deixou chateado demais com o 
>> sistema, ainda mais pela importância que ele tem para o meu negócio 
>> hoje.
>>
>> Gondim
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
> Fala Gondim,
>
> esse tipo de problema é osso mesmo...
>
> Pelo que leio e ouço, esses problemas nas releases se devem a pelo 
> menos duas coisas: boa parte dos desenvolvedores não usam FreeBSD em 
> seus computadores principais (Mac!) (ouçam o adrian@ desabafando no 
> bsdnow 101 sobre comer sua própria comida de cachorro) e boa parte dos 
> que usam FreeBSD usam o CURRENT (tipo eu :P). Então nós mesmos 
> acabamos não vendo os problemas que saem nas releases e acabamos não 
> tendo a mesma experiência que os usuário tem, e isso está muito errado...
>
> Outra zica é que esses problemas as vezes são difíceis de se 
> reproduzir, pelo pouco que olhei no google aqui parece que seu 
> problema está relacionado com lagg + igb + condições de tráfego. As 
> vezes se o cara não tiver acesso ao mesmo cenário fica foda achar o 
> problema.
>
> Não sei qual é a sua política em relação a usar o CURRENT em produção 
> (o próprio projeto FreeBSD usa) e também sei que é um transtorno 
> enorme fazer testes em cenários como o seu, mas se um dia vc tiver uma 
> máquina sobrando aí tenta rodar o CURRENT. Recentemente teve uma 
> atualização nos drivers e1000 (o que inclui o if_igb) que vai ser 
> mergeado no stable daqui uns dias também...
>
> Boa sorte aí. Espero que essas experiências ruins não destruam a visão 
> que vc tem do FreeBSD.
Opa Danilo,

Pois é e a única coisa que tenho é a revisão que funciona perfeito no 
10.1-stable. Não sei se é simples achar a mudança entre as versões que 
saíram mas algo mudou nesse meio do caminho destruiu meu cenário.

Outra recente também que descobri e que sofri por muito mas muito tempo. 
Não sei se lembram dessa thread [1] que abri em abril do ano passado.
Sabe qual era a solução desse problema?

Colocar um simples: gateway_enable="YES" no /etc/rc.conf

Ou seja, mesmo colocando o net.inet.ip.forwarding=1 se você não colocar 
essa instrução no rc.conf e mandar criar uma vlan, simplesmente seu 
roteamento para completamente. Só reiniciando a máquina. Agora me diga 
porque o roteamento para de funcionar quando faço um ifconfig vlanX 
create se eu não tiver o gateway_enable no rc.conf? Onde que isso está 
escrito? Fiquei meses com esse problema e agora não tenho mais.

Pior é que os caras que me responderam isso na lista acham que isso não 
é um bug. Só teve 1 que achou que era um bug. Não faz sentido algum isso.
Podem fazer esse teste. Peguem um FreeBSD 10.x coloquem 2 interfaces de 
rede pra fazer o roteamento de um lado pra outro e setem umas vlans. Sem 
o parâmetro acima experimentem fazer um simples:

# ifconfig vlan200 create

Depois tentem pingar de uma rede pra outra. Não vai nem à pau. Agora se 
colocarem o parâmetro acima no rc.conf vocês podem criar vlans sem 
problemas.

São essas coisas que matam a gente.

[1] http://www.fug.com.br/historico/html/freebsd/2014-04/msg00154.html


Mais detalhes sobre a lista de discussão freebsd