[GTER] Combinação mais estavel para usar Quagga: CentOS ou Ubunto?

Evandro Nunes evandronunes12 at gmail.com
Fri Jan 16 11:50:12 -02 2015


2015-01-16 3:04 GMT-02:00 Fernando Frediani <fhfrediani at gmail.com>:

> Excelente email Lucas,
>
> Acho que esta discussão está além de interessante, muito parecendo com um
> Fla X Flu. Vários comentários defendendo os pontos que deram certo e os
> problema encontrados, o que é claro sempre vão variar de ambiente para
> ambiente.
> A melhor resposta na minha opinião sobre a melhor combinação para se usar
> é sempre "depende". Depende de uma série de fatores. Citando os principais:
>
> - Linux X FreeBSD - Tem pessoal in-house com conhecimento adequado para
> administrar algum deles ? Entao vai com o que voce tiver mais skills e
> livre-se do primeiro problema. Particularmente acredito que com os Kernels
> mais novos do Linux pouca diferença faz se é Linux ou FreeBSD. Pode até
> haver uma diferença ou outra é claro, talvez 'ainda' na questão de forward,
> não sei, mas no geral e pra maioria dos casos de uso aqui os dois
> funcionariam de maneira excelente.
>

não. linux não melhorou.
está ai o facebook correndo atrás do rabo pra tentar melhorar o kernel
linux, que é o que eles conhecem e dominam dentro do facebook. quando
compraram o whatsapp e tentaram colocar linux, o whatsapp ficou
indisponível e o linux não deu conta. acompanhando o blog do devops do
facebook estava la, dentre os problemas, o bom e velho problema de softirq
consumindo toda CPU possível. enquanto no freebsd, comportamento diferente
e a taxa de interrupção com aumento gradativo dentro da taxa de consumo do
hardware projetado.
resultado, whatsapp continua freebsd pra sempre ou até que o facebook
consiga melhorar a pilha IP do Linux para, nas palavras deles ao abrir vaga
pro emprego "pelo menos próximo do freebsd". ou que resolvam por a mão no
bolso e gastar 4x mais hardware com linux comparando com freebsd. algo
possível em uma server farm como de um serviço como whatsapp mas mais
difícil no caso que estamos tratando, roteamento bgp.

recentemente em uma filial nossa na região de barão geraldo (campinas), com
kernel 3.14 atuando apenas como gateway e firewall + vpn, sem bgp/ospf, ou
seja meia dúzia de rotas estáticas + padrão, o linux engoliu com seu
softirq tudo que um Xeon de 4 core de 3.2Ghz tinha a oferecer com tráfego
de 350Kpps (pacotes grandes, chegando a 1.8Gbit/s). como nessa filial a
equipe é reduzida não colocamos freebsd vanilla mas sim pfSense, um FreeBSD
que uma equipe existente não precisa aprender de forma súbita. de novo
mesma historia: mesmo hardware e mesmos serviços e o FreeBSD (pfSense) se
comportou excepcionalmente melhor, interrupt com picos de 30% de CPU e load
average bonitinho na zona de conforto.

esse ponto se fosse pra atuar como um guia, eu acho que seria:

- vai rotear até 1Gbit/s? Linux OK. FreeBSD recomendado.
- vai rotear 1-2Gbit/s? muito cuidado com Linux, evite excesso ou uso de
iptables, escolha bem a máquina e Linux será viável. FreeBSD recomendado.
- vai rotear 2Gbit/s? com Linux você terá que ter recurso humano MUITO BOM
pra tunar, começando por recompilar kernel e tirar recursos que diminuem a
performance do encaminhamento de pacote, tuning de linux, e outras
melhorias (acompanhar blogs e histórico da lista do vyatta é o melhor
caminho pra ter um Linux tunado pra roteamento), e tenha em mente que usar
Linux vai consumir mais recurso de hardware, portanto vai ter um ROI mais
longo e TCO maior. resumindo menor eficiência no consumo do hardware
existente. FreeBSD mais que recomendado.

- recurso humano sabe linux? ok começa com linux se o ambiente não for
acima de 2Gbit/s e manda o recurso humano aprender freebsd com o tempo, se
antecipando.
- recurso humano sabe linux e bsd? vai de freebsd
- recurso humano não sabe nada? aprende freebsd primeiro, deixa linux pra
depois ou pra outras funções na sua rede


> - Quagga x BIRD x OpenBGP - Tem pessoal familiar com linha de comando
> Cisco ? Então usa Quagga. Tem algum bug específico que te preocupa, que não
> foi corrigido até a versão disponível na distribuição que você vai usar ?
> Qual o status do desenvolvimento e os commits no código ? Cada um desses
> tem suas vantagens e desvantagens.
> Por exemplo: Eu acho o pfSense um excelente sistema, é baseado em FreeBSD,
> mas o Quagga dele não tem suporte a BGP então pra mim não dá pra usar pra
> qualquer coisa que envolva BGP. Por outro lado o VyOS também excelente
> sistema, é Linux, roda Kernel mais recente e usa Quagga, mas por exemplo se
> for usado com um hardware específico (Server-U), pode não se aproveitar do
> Netmap ou de algumas vantagens de se utilizar algumas placas de rede
> específicas. Que tamanho é seu ambiente ? Faz diferença pra você ?
>

nossa ai é difícil hein.
mandar o cara pesquisar se tem bug que te afeta pra usar quagga é decidir
pegar a estrada esburacada e via simples, pra evitar pagar o pedágio da
estrada boa de via dupla.

nesse caso o pedágio é abrir mão da sintaxe cisco-like.
vale a pena pagar esse preço? algo que diz que a manutenção do carro, os
riscos e a falta de tranquilidade de optar pela estrada esburacada acabará
ficando mais caro que pagar o pedágio.

acho que da pra simplificar.
como OpenBGP é uma coisa "bsd", se deu pra rodar bsd, vai de OpenBGP.
simples assim. não é cisco-like mas é juniper-like e muito mais simples de
manter e eventualmente migrar.
mas se a opção foi linux ai eu resumiria essa proposta de "guia" da
seguinte forma:

- vai usar muito filtro, ser transito pra muita gente? esquece bird, senão
vc vai infartar. vai de quagga e boa sorte. ou vai de vyos/bsdrp se não
quiser contar com a sorte.

- você quer apenas estar no mundo com seu provedor e precisa de BGP pq vc é
ASN mas tem 1, 2, 3 saídas apenas: vai de bird na boa se cisco-like e
juniper-like não forem requisitos. esse é um cenário simples mas que
representa mais de 80% dos ISP com ASN que conheço. simples não quer dizer
pequeno, conheço provedores de amigos que dou apoio que tem mais de 2Gbit/s
contando apenas 1 perna de upstream + PTT.

    Quagga - Como o Lucas mencionou, não é por acaso que o Vyatta/VyOS e
> EdgeRouter usam Quagga. Se nao me engano eles tem até versão própria.
>     BIRD - Assim como não é por acaso que grandes Pontos de Troca de
> Tráfego no mundo assim como Netflix usam BIRD. Cada um para a sua
> especificidade, os PTTs é mais questão de performance e pra Route Servers,
> ja no Netflix é outro uso específico relacionado a entrega de conteúdo.
>

- Quagga insisto no ponto: não se engane, não caia na fé / crença /
esperança, que VyOS e afins usam quagga. eles usam algo derivado do quagga
mas muito melhor... e nem todas essas melhorias voltam pro quagga nem mesmo
como patches extra-oficiais (que voce poderia aplicar na mão mas não merged
ainda). quagga é uma evolução do zebra e boa parte do que era ruim no zebra
continua no quagga. claro hoje é muito melhor mas a chance do seu quagga
"dar zebra" hehe ainda é forte. comigo deu todas as zebras possíveis. com o
lucas só algumas. ou seja, de novo, boa sorte.

- OpenBGP: único problema, no freebsd, auth MD5 é um patch a parte, depende
de TCP_MD5 no kernel; por outro lado você não precisa de md5 e md5 não te
traz nenhuma vantagem real então poupe-se; se quer confidencialidade de
verdade tunela ipsec.

- BIRD: vide acima

outros daemons da vida, chorp, exa, desconheço e não posso opinar.



More information about the gter mailing list