[GTER] Hardware para softrouter com DANOS até uns 10Gbps ou 20Gbps

Andre Bolzan andre.bolzan at fixfibra.com.br
Thu Dec 23 17:27:41 -03 2021


Boas TARDE !!

Só reforçando o que Fernando Frediani disse, dá para virtualizar CGNAT e
BGP tranquilamente ! Respeitando os  Passthrough, CPU affinity, pré alocar
tota RAM da VM, etcssss,  tudo vai funcionar como deveria =)

Temos 2 borda em servidores diferentes, as 2 estão com PTT e rodando MUITO
tranquilo, média de 10G de pico, A plataforma usada foi VYOS ele nunca foi
"gasta em CPU" , em média ele roda  2GHz por 1 GB de banda passando para os
10Gb ele roda 20GHz, a VM tem 16 Core de 2,2 GH e roda em 30% a 40% de
média 24 horas

Nosso hardware são 2x DL380 G8 com 2 intel x520-da02, cada um está
consumindo 100W no horário de pico, mas temos outras aplicações juntas,
IXC, nagios, telefonia, etcs...

Sobre o hardware escolhido, eu sempre recomendo E5-xxxx para cima, os
E56xx/X56xx tem falha de segurança no firmware , que não tem mais suporte
da Intel, um dos motivos deles terem caído tanto de preço é para aplicação
"online" eles não são mais recomendados...

Outro ponto que acho importantíssimo são as memórias RAM, full route e
CGNAT trabalham  muito com dados  variáveis não sequenciais então o acesso
é constante e nem sempre usam método de rajada.
Memórias DDR4 em 4 canais são o "supra sumo" que podemos entregar com baixo
custo. Sempre dou exemplo que é melhor 4 pentes de 8GB que 2 de 16 GB

Estamos com projeto de migração do CGNAT determinístico para BPA, ainda não
migramos porque estamos trabalhando na guarda dos LOGs. 99% dele ser
virtualizado

PS: Recentemente migramos uma das borda para VS(huawei) e não sentimos
qualquer melhoria... Todos os parâmetro que medimos no NOC permaneceram
igual, única melhoria foi eficiencia energetica, nosso servidor caiu de
100W para 60W e a retificadora sumiu só 10W com  a VS tocando a bonda.

Espero ter contribuído ...


Em qui., 23 de dez. de 2021 às 10:40, Fernando Frediani via gter <
gter at eng.registro.br> escreveu:

> Bom dia
>
> Pra quem tem receio de virtualizar esse tipo de aplicação e fica
> desconfiado que não vai performar bem ou igual um bare-metal pode fazer
> sem medo que vai sim. Porém para isso é necessário observar alguns
> detalhes bastante importantes como PCI Passthrough e também dependendo
> do tráfego passante fazer affinity de CPU para o tráfego não ficar
> atravessando de um socket para outro e isso vai depender da arquitetura
> do servidor utilizado e quais slots utilizados. Se fizer isso
> corretamente não há com o que se preocupar que de precisar ser
> bare-metal e ainda é possível utilizar uma mesma caixa para múltiplos
> usos ou até mesmo múltiplos CGNAT com múltiplas interfaces de rede.
>
> A solução de CGNAT com Debian/Ubuntu é ótima e funciona bem redondo e
> com uma boa performance, porém tem uma limitação importante que é a
> ausência de Bulk Port Allocation (BPA) o que além de dar mais
> flexibilidade para aqueles poucos usuários que utilizam um maior número
> de portas ajuda e muito a economizar uma quantidade razoável de
> endereços IP.
>
> Nisso o DANOS é ótimo e BPA talvez seja a feature mais interessante dele
> além do DPDK. Ele vai "fritar" mais as CPUs com o Willian mencionou por
> causa do DPDK porém a vantagem é que não são necessários um grande
> número de cores para fazer todo o trabalho e conseguir usar a capacidade
> completa dessas placas de rede mais comuns utilizadas seja de 10Gb ou 40Gb.
>
> Fernando Frediani
>
> Em 23/12/2021 02:34, Willian Pires de Souza via gter escreveu:
> > Boa noite:
> >
> > CgNat Bare Metal, sem DPKD rodando Debian 10:
> >
> >
> > 2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
> > PowerEdge R720
> > 64Gb de ram
> > 2x Ethernet Controller X710 for 10GbE SFP+
> >
> > 02:24:16 up 254 days, 18:46,  1 user,  load average: 0,01, 0,04, 0,04
> >
> > bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
> >          RX packets 32157844271087  bytes 40482127125413624 (35.9 PiB)
> >          RX errors 0  dropped 7898261056  overruns 0  frame 0
> >          TX packets 13390913755273  bytes 4306926658488085 (3.8 PiB)
> >          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> >
> > bond1: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
> >          RX packets 13390070560702  bytes 4312303158348009 (3.8 PiB)
> >          RX errors 0  dropped 6559  overruns 0  frame 0
> >          TX packets 32073983370032  bytes 40463220080524215 (35.9 PiB)
> >          TX errors 0  dropped 26074 overruns 0  carrier 0  collisions 0
> >
> > Passa 30Gb/s toda noite, sem reclamações, a mais de 90 dias.
> >
> > Se você rodar ele virtual, você vai fritar os cpus onde rodara o Danos,
> você vai ter que pinnar, as cpus
> > para ficar exclusiva para essa máquina e aí acaba matando a máquina host.
> >
> >
> > No seu cenário, 2 cavalos desse aí em cima.
> >
> > 1 CGNat(Linux Debian/Ubuntu 10/11 ipfilter ou netfilter), o Danos tem
> uns problemas com ALG, até onde eu tinha visto ainda não resolvidos.
> > 1 BGP(Danos) DPDK, o Danos resolve o problema do route-lookup, mas aqui
> só passa os pacotes para as rotas corretas.
> > 1 switch 67xx da vida ou equivalente com portas de 10Gb para você fazer
> os portchannels
> > OBS, todos os seus Links, PTT e etc conectam no switch, e dele você
> desce vlan para o Danos, o Danos tem vlans para seus clientes BGP,
> > e vlan para o seu CGNat, boladao.
> >
> >
> > Vamos lá: até 33/35Gb vai de boa, sem stress, utilize 2 placas de 4
> portas para maximizar a distribuição de pacotes entre todas as cpus,
> > você vai precisar cruzar as portas entre as placas para o portchannel
> poder usar todos os cpus,
> > esse foi o melhor comportamento que consegui fazer, utilize cabos DAC da
> Intel,Cisco pelo amor de Deus.
> >
> > Evite vlan, menos 1 modulo menos 1 jump no kernel, faça tudo na
> interface roteada.
> >
> > Coloque as placas em portas de CPU diferente.
> >
> > Prós, funciona e tem um custo acessível, cada máquina dessa no mercado
> de usados sai uns 27k, na conta que você é um provedor
> > tranquilamente está com mais de 10k clientes com valor na média de  R$
> 89,90 dá para segurar, essas máquinas são duráveis e se fizer o trabalho de
> firmware e comprar
> > de vendedor sério elas vão servir seu provedor por muito tempo.
> >
> > Funciona tudo com 2000 portas por cliente, e protocolos como SIP, H264,
> H323,GRE, jogos e vpn em geral funcionam sem maiores problemas.
> >
> > Contras, consumo de energia elétrica, essas máquinas devem ser setadas
> para "maximum performance" na bios e acredite, elas vão consumir de 2 a 3
> mil reais
> > por mês, o suporte é 100% seu, independente do seu esforço sempre vai
> acontecer de 1 pacote chegar em 1 cpu com 100% e cada vez que isso ocorre é
> > um ping falhando e um cliente ligando, em hardware com ASIC isso é menos
> problemático.
> >
> > Não vejo como você rodar o que vocês precisam virtualizado, melhor
> colocar um MK de emergência, ou fazer "bgp announce only" no switch.
> >
> > O BPF Brasil Peering Forum tem uma documentação excelente.
> >
> >
> >
> >
> > ________________________________
> > De: gter <gter-bounces at eng.registro.br> em nome de Tiago SR via gter <
> gter at eng.registro.br>
> > Enviado: terça-feira, 21 de dezembro de 2021 18:16
> > Para: gter <gter at eng.registro.br>
> > Cc: Tiago SR <listas at tiagosr.com>
> > Assunto: [GTER] Hardware para softrouter com DANOS até uns 10Gbps ou
> 20Gbps
> >
> > Boa tarde,
> >
> > Hoje nossa borda é um EdgeRouter Pro e estamos chegando no limite dele
> tanto em tráfego quanto necessidade de porta 10Gbps. Funciona muito bem, a
> propósito, nos seus 1.4Gbps com 2 full routings e EdgeOS 2.0.9, e iria
> tentar levar ele até os 2Gbps, se não fosse porque em um dos upstreams
> vamos passar de 1Gbps por questões comerciais. Até pensei no EdgeRouter
> Infinity, mas está caro de mais para o nível dele. Quanto a CCR, quero
> evitar, vejo por feedbacks que nem as 2004 ARM agradam no BGP.
> >
> > Temos que trocar também a caixa de CGNAT, que era uma CCR1009 que estava
> reservada para isso mas nunca chegamos a implementar nessa função porque
> não cheguei a uma solução para CGNAT determinístico fácil de aplicar para
> nossa rede (endereçamentos feitos sem prever isso). E ela só tem 1 porta
> 10Gbps, então não resolve de qualquer forma.
> >
> > Roteadores de verdade, tipo Huawei ou Juniper, iriam quebrar nosso
> caixa. Então parece que restou montar softrouter e o DANOS parece ser a
> melhor opção de software atualmente para isso (e resolve nosso problema de
> CGNAT sem custos, com BPA). A questão é o hardware, até porque estou
> pensando em fazer borda e CGNAT BPA no mesmo servidor por enquanto.
> Acredito que deve fluir bem, né, porque BGP em si não é algo que demande
> muito hardware e CPU x86 roda sem sentir, e tem o DPDK que faz escalar para
> boas capacidades de encaminhamento... Ou estou enganado? Sem falar de ser
> arquiteturalmente errado, também acho, mas por enquanto é o que é viável
> ($$ - vamos ter que trocar BRAS também) e só precisa funcionar bem...
> >
> > Sobre hardware, esses servidores mais antigos, com Xeons sixcore
> E56xx/X56xx (Westmere), escalam até uns 10Gbps ou 20Gbps fazendo BGP e
> CGNAT no DANOS bare metal? Penso em pegar um IBM x3650 M3 (porque já temos
> um, gosto dele, e facilitaria questão de peças), um Dell R710 ou um HP
> DL380 G7 com processadores assim, uns 32GB de RAM e 2 Intel X520 D2. Quase
> sempre que se fala em softrouter, parece que a conversa já começa com no
> mínimo Xeons E5...
> >
> > E se eu pegar o servidor desse que já temos aqui rodando Proxmox com
> algumas aplicações virtualizadas, uso de CPU abaixo de 10%, instalar mais
> RAM e colocar o DANOS em uma VM com as X520 D2 em PCI Passthrough pra ele?
> O que isso daria de desempenho com DPDK, teriam uma noção para me informar,
> talvez em comparação a um bare metal? Nem cogito implementar assim, o
> questionamento veio do pessoal que segura a verba, mas dependendo do
> desempenho, poderia ser um backup para uma emergência...
> >
> > Agradeço desde já pelas contribuições!
> > --
> > gter list
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Feng.registro.br%2Fmailman%2Flistinfo%2Fgter&data=04%7C01%7C%7C22529becff494994d68f08d9c547fe95%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637757735279746078%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=hs%2FZngOYxnAydIUJA5GJhsZVtxRftBtbWktZlSKv%2Bc8%3D&reserved=0
> > --
> > gter list    https://eng.registro.br/mailman/listinfo/gter
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter
>


-- 

*André Bolzan Saar*

*Services Delivery*
*+55 11 98205-7742*


More information about the gter mailing list