Dá para nos dar uma pista, por menor que seja, de como seu balance funciona?
[]s, MM
Implementei um load balance em Linux (Fedora) com 2 servidores para uma pequena rede.
Após alguns testes vi que ele está funcionando normalmente com um problema. Por exemplo, meu msn, ele toda hora desconecta e reconecta novamente. Alguém tem idéia do que pode estar acontecendo e como eu poderia resolver isso?
Dá para nos dar uma pista, por menor que seja, de como seu balance funciona?
[]s, MM
Não sei se vou conseguir ser claro.
O load balance funciona da seguinte forma.
2 provedores de internet (Ajato+Embratel).
1 servidor linux (FEDORA) com 3 placas de rede (1 ajato, 1 embratel, 1 rede interna-NAT).
Todos os computadores da rede estão usando como gateway este servidor linux, onde é feito o balancemento.
Ele está configurado para dar um peso maior para o provedor da Ajato, na proporção de 5 para 2.
Estou suspeitando que esse problema é ocasinado qdo o servidor renova o acesso, daí talvez seja por isso que o msn, por exemplo, desconecta a todo momento e logo depois volta a reconectar.
Se for isso o problema, acho que se conseguir direcionar a porta do msn e outro serviços on-line pra somente um dos servidores (sem passar pelo load balance) eu conseguiria resolver, mas não tenho idéia de como fazer isso.
Alguém saberia?
Obrigado
Você começou muito bem, até chegar aqui:Originalmente enviado por upaiva
Esta é a minha dúvida: eu não sei como você fez este balanceamento. É por pacote ou por conexão? Está usando modificação manual de Next Hop ou alguma aplicação específica?Originalmente enviado por upaiva
[]s, MM
Acho que a pergunta chave é: Onde você configurou o peso do balanceamento de 5 para 1?
"COBIT isn't a four letter word"
Não sei se isso ajuda...mas configuroei o balancemanto 5 para 1 da seguinte forma:
ip route add default table 222 proto static nexthop via $GWE1 dev $IFE1 weight 5 nexthop via $GWE2 dev $IFE2 weight 2
Onde $GWE1 é o gateway da Ajato; e $GWE2 é o gateway da Embratel.
E $IFE1, $IFE2 são as respectivação placas.
tks.
Agora sim, está respondido. Você está usando o ip route...
Então vejamos: um pacote chega no seu gateway em direção ao servidor do MSN e você manda ele ir pelo seu link Ajato. Aí ele chega lá no servidor com o IP Ajato. Fecha a conexão, beleza.
Logo depois, ele manda um pacote para o servidor só que desta vez ele vai pelo link Embratel e chega lá com um IP da Embratel. O servidor do MSN olha aquele pacote e se pergunta "Que p... é essa?". Então dropa a sua conexão e você tem que reconectar.
Para mim esse comportamento é natural e é o esperado. Alguém pensa diferente?
Se o problema for este, você deve enfrentá-lo em várias ocasiões, não só no MSN. Navegação web é conexão curta, você pode não perceber. Mas um download maior pode estar perdendo pacotes e afetando a velocidade, principalmente se a conexão for fechada pelo link de menor prioridade, já que a maioria dos pacotes será dropada.
Problemas parecidos podem acontecer em sites que controlam sessões com base no IP de origem. O que você precisa é fazer um balanceamento por conexão. Uma vez estabelecida uma conexão através de um dos links, é por este link que estes pacotes devem seguir.
Eu não sei fazer isso em Linux... Você deve ter que, provavelmente, usar o iptables para marcar pacotes (--set-mark) de conexões ESTABILISHED e usar esta marcação no iproute.
[]s, MM
O balanceamento acontece em Round Robin obedecendo os pesos (dois e meio pra cá, um pra lá... e assim vai, pois 5/2=2,5). Está certíssima a sua conclusão na minha opinião.Originalmente enviado por mmachado
Acredito que com IP ROUTE não tenha como resolver isso. Em CISCO existem protocolos mais inteligente para se fazer isso onde a seção é mantida como o EIGRP e quando feito no CISCO esse problema não ocorre.
Se você insistir em usar o IP ROUTE acho que não há solução para isso. Pois isso é load balance de camada 3 (OSI model) e para ser mantida a conexão, você deverá utilizar algum protocolo de balanceamento que funciona da camada 4 para cima.
Isso baseados em meus também limitados conhecimentos.
Se fosse você, para evitar isso, mudaria para um FAIL OVER ao invés de balanceamento, e isso pode ser feito com o IP ROUTE greio eu. Assim, as conexões só iria para o outro link em caso de falha no HOP
O que acham?
"COBIT isn't a four letter word"
Entendi...achei que daria pra resolver usando essa minha configuração..
O que eu pensei foi por exemplo indicar por serviço determinado link....Por exemplo...msn vai pela ajato, email pela embratel...e assim por diante....
Só que aí, caio em um outro problema...caso um dos servidores fique fora, como que eu poderia configurar pra que qdo qcontecer isso toda internet vá apenas pelo link que está funcionando?
Obrigado..
Você encontra alguns tutoriais sobre balanceamento com IP Route e IPTables (exatamente usando a marcação de pacotes, como previ antes). Se não quiser parar para aprender a fazer isso, o balanceamento por serviço (porta) é possível também, mas você vai precisar desenvolver um script que verifique os links e refaça as configurações de rota caso um deles deixe de funcionar.
http://www.google.com.br/search?q=lo...%22set-mark%22
A propósito, mesmo que sua tentativa inicial de balanceamento funcionasse, como você pretendia tratar os casos de queda e recuperação dos links?
[]s, MM
There are currently 1 users browsing this thread. (0 members and 1 guests)