Exibindo resultados 1 até 10 de 10

Tópico: Load Balance no Linux

  1. #1
    Desde
    Sep 2006
    Posts
    7
    Peso da Avaliação
    0

    Load Balance no Linux

    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?

  2. #2
    Desde
    Oct 2001
    Posts
    4.484
    Peso da Avaliação
    26

    Re: Load Balance no Linux

    Dá para nos dar uma pista, por menor que seja, de como seu balance funciona?

    []s, MM

  3. #3
    Desde
    Sep 2006
    Posts
    7
    Peso da Avaliação
    0

    Re: Load Balance no Linux

    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

  4. #4
    Desde
    Oct 2001
    Posts
    4.484
    Peso da Avaliação
    26

    Re: Load Balance no Linux

    Citar Originalmente enviado por upaiva
    Não sei se vou conseguir ser claro.
    Você começou muito bem, até chegar aqui:

    Citar Originalmente enviado por upaiva
    Todos os computadores da rede estão usando como gateway este servidor linux, onde é feito o balancemento.
    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?

    []s, MM

  5. #5
    Desde
    Mar 2006
    Local
    Santo Andre, SP, Brazil
    Idade
    39
    Posts
    548
    Peso da Avaliação
    12

    Re: Load Balance no Linux

    Acho que a pergunta chave é: Onde você configurou o peso do balanceamento de 5 para 1?
    "COBIT isn't a four letter word"

  6. #6
    Desde
    Sep 2006
    Posts
    7
    Peso da Avaliação
    0

    Re: Load Balance no Linux

    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.

  7. #7
    Desde
    Oct 2001
    Posts
    4.484
    Peso da Avaliação
    26

    Re: Load Balance no Linux

    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

  8. #8
    Desde
    Mar 2006
    Local
    Santo Andre, SP, Brazil
    Idade
    39
    Posts
    548
    Peso da Avaliação
    12

    Re: Load Balance no Linux

    Citar Originalmente enviado por mmachado
    Para mim esse comportamento é natural e é o esperado. Alguém pensa diferente?
    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.

    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"

  9. #9
    Desde
    Sep 2006
    Posts
    7
    Peso da Avaliação
    0

    Re: Load Balance no Linux

    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..

  10. #10
    Desde
    Oct 2001
    Posts
    4.484
    Peso da Avaliação
    26

    Re: Load Balance no Linux

    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

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Regras de envio

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •