[FUG-BR] Problema sério com link aggregation LACP no FreeBSD 10.2-RELEASE
Ricardo Ferreira
ricardo.ferreira em sotechdatacenter.com.br
Terça Setembro 15 16:02:15 BRT 2015
Em 15/09/2015 11:59, Marcelo Gondim escreveu:
> 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
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
Gondim,
Já enfrentei problemas assim com agregação de interfaces e resolvi fazer
o que o Danilo sugeriu e que vi muita gente da lista de usuários do FBSD
internacional faz. Testa o CURRENT. Se resolver seu problema pode usar
sem problemas. Tenho o CURRENT em produção há mais de um ano e nem
parece que ele existe na rede. Por outro lado concordo com vc. Tem umas
coisas meio estranhas mesmo e que acabam ficando sem solução por um bom
tempo simplesmente porque ninguém acha que é bugou é dificil de
reproduzir porque quem deveria resolver usa o CURRENT e o das vlans é um
bom exemplo. Já cheguei até a analisar o código pra descobrir qual era o
vínculo mas não consegui identificar nada. Enfim, apesar de todos estes
'glitches' o FreeBSD continua sendo uma plataforma muito estável e de
funcionamento absolutamene previsível. E cpm grandes chances de ao se
reportar um PR ser atendido mais rapidamente.
[]s
Ricardo Ferreira
Mais detalhes sobre a lista de discussão freebsd