+ Responder ao Tópico



  1. #1

    Padrão Finalmente Alguem sabe Balancear Links?

    Ola Galera,

    Bom, eu ja li quase um livro de tanto artigo sobre Balanceamento por ai a fora...

    Mas finalmente? Alguem conseguiu um balanceamento decente?

    Temos o balanceamento Dinamico, que joga cada acesso ao gateway por um link diferente... Desvantagens:

    - Msn, Downloads Grandes, sites de bancos dão conflitos por mudar o IP
    - Um download grande pode afogar um dos links, e mesmo assim mais usuarios serem jogados para ele.

    Temos o Balanceamento Estático por Serviço, ou seja, joga http, https, ssh e bla bla bla pra 1 link e o resto pra outro... Desvantagem:

    -Voce nunca sabe oq seus usuarios vão achar de começar a fazer derrepente. Uma hora só tem gente o msn, na outra, está todo mundo fazendo download.
    -Ou seja, voce sempre vai estar desperdiçando um pouco de um ou de outro...

    Não é possivel, que até hj, ninguem tenha desenvolvido um software que trabalhe com checagem de uso de banda e slots, ou seja, basicamente oq eu estou fazendo manualmente...

    Eu estou passando o dia com o IPtraf aberto, vendo o Uso total de banda dos 2 links...

    Em meu Gateway, eu configuro que os proximos usuarios a se conectarem irão entrar pela eth0 e sair pela eth1...

    Quando a eth1 está chegando a 80% da capacidade, eu mudo para os proximos entrarem pela eth0 e sairem pela eth2...

    Com o tempo o trafego na eth1 começa a diminuir, diacordo com os usuarios desligando seus computadores, ou simplesmente, indo assistir um filme na TV...

    Dai começo a mandar mais gente pra eth1...

    Pergunta? É perfeito?
    Resp: Não, pois pode haver 100 usuario na eth1 e 10 na eth0, ambas usando basicamente a mesma banda, mas se do nada todos os usuarios da eth1 começarem a fazer downloads, vai ficar tudo inundado...

    Mas pelomenos é melhor que balanceamento por serviço?
    Resp: É, pois vou ficar, pelomenos na maior parte do tempo, usando de 80 a 95% das 2 placas, e não ficar dependendo doque os usuarios acharam de fazer naquele momento pra usar mais de um link ou menos de outro...

    Alguem sabe de um software que fizesse esse serviço para mim? Trabalhasse com "Slots", no primeiro acesso de um IP de rede local à internet, ele definia a saida daquele IP, eth1 ou eth2, e mantia um registro, toda vez que aquele IP local tentar acessar a internet ele vai sair sempre pelo mesmo link... Se ele ficar 30 min em inatividade (Sabemos que isso só acontece se ele desligar a maquina, pq msn, windows update, anti-virus update nunca vai deixar uma inatividade tão longa) o IP é apagado da tabela e em um proximo acesso ele vai ser alocado dependendo da carga nos links naquele momento, talvez ele volte pro mesmo, ou talvez seja alocado para o segundo link...

    Se alguem souber de um software, ou souber fazer um script pra essa finalidade, pelo Amor de Deus, ajude a mim e a uma pancada de gente que iria adorar essa funcionalidade...

    Obrigado a todos.

  2. #2

    Padrão

    Olha, desse jeito eu não vi, mas procure no google por nano.txt e faça o que ele fala no artigo (incluindo patches). Fiz aqui e cheguei a ter um frame e 3 adsl fazendo balanco e distribuindo a carga direitinho ele ficava uma beleza!!!



  3. #3

    Padrão .

    voce precisa de um balanceamento de carga e de controle de trafego.

    exemplo.

    voce tem 50 clientes.

    joga 25 em um link e 25 no outro.

    e faz controle de banda para que um download grande nao afogue seu link

  4. #4
    mardukn
    Visitante

    Padrão Balanceamento..

    Bom dia, o que vc prescisa é de um Balanceamento de Carga com NTH, o mikrotik pode fazer isso facilmente. o detalhe é que vc vai fazer dinamicamente que as conexões dos mesmos usuarios saiam pelo mesmo link.. Vc faz isso usando Address List do Firewall..

    Desse jeito fica bem interessante, mas existe ainda o problema de por exemplo um usuario em determinada conexão usar toda a banda desse link, e o sistema não vai muda-lo p/ o outro link. Ai se for pensar nisso, teria que ter o BGP rodando, anunciando seu proprio Bloco de IPS e ASN.


    Qualquer dúvida estou a disposição,


    Wagner
    Cisco Certified



  5. #5

    Padrão

    do jeito q voce esta fazendo.. eh interessante...

    o que "pega" eh o seguinte, conexoes ativas permanentes (downloads grandes, msn, vpn, etc etc).. se vc ta indo por um link.. e troca um usuario para outro link, essa conexao.. perde.. esse eh o grande "problema"

    do jeito q voce fez ai.. da pra fazer um sistema ficar monitorando o uso de cada link e ir jogando os usuarios pra um link...

    acho que se vc usar "round-robin" + "least-load" da pra melhorar o jeito ai....


    o round robim mantei um balanceamento de usuarios em cada link (por QUANTIDADE ) e o least load.. verifica o link.. e sobrepoe o round-robin caso o link de destino esteja cheio...

    eu uso aqui balanceamento mlppp no cisco.. soh que os links sao embratel... o balanceamento eh perfeito.. mas.. links da mesma operadora...

  6. #6
    mardukn
    Visitante

    Padrão Ola Alexandre,

    Sim, concordo que realmente ficaria mais interessante. Seria somente questão de ajuste, eu não tenho nenhum balanceamento hoje, pois, a operadora me entrega em fibra..mas tenho amigos com algumas Adsl ( 10 ou mais ) e fazendo balanceamento dessa forma como eu disso ou ate mesmo por source-routing. E funciona sem problemas.. No seu caso vc consegue usar o mlppp pois a embratel trabalha com PPP ao inves de frame-relay..fica muito bom tambem..


    Abraços!!



  7. #7

    Padrão

    Citação Postado originalmente por mardukn Ver Post
    Bom dia, o que vc prescisa é de um Balanceamento de Carga com NTH, o mikrotik pode fazer isso facilmente. o detalhe é que vc vai fazer dinamicamente que as conexões dos mesmos usuarios saiam pelo mesmo link.. Vc faz isso usando Address List do Firewall..

    Desse jeito fica bem interessante, mas existe ainda o problema de por exemplo um usuario em determinada conexão usar toda a banda desse link, e o sistema não vai muda-lo p/ o outro link. Ai se for pensar nisso, teria que ter o BGP rodando, anunciando seu proprio Bloco de IPS e ASN.


    Qualquer dúvida estou a disposição,


    Wagner
    Cisco Certified
    Ola,

    Bom, não tem o problema de 1 usuario em determinada conexão usar toda a banda porque já tem controle de banda, cada usuario tem 100k... Existe a possibilidade de vários usuarios terem sido designados para aquele link e do nada varios usuarios começarem a usar muita banda...

    Mas mesmo assim não tem problema, pq o link vai saturar, o sistema vai parar de jogar gente nele, os usuarios vão navegar um pouco lentos por algum tempo, mas em breve alguns vão desligando seus computadores e o link vai folgando, até chegar a um ponto que possa ser colocado mais usuarios...

    Vc Poderia falar mais sobre esse balanceamento de carga com NTH?

    Valew.


    Citação Postado originalmente por alexandrecorrea Ver Post
    do jeito q voce esta fazendo.. eh interessante...

    o que "pega" eh o seguinte, conexoes ativas permanentes (downloads grandes, msn, vpn, etc etc).. se vc ta indo por um link.. e troca um usuario para outro link, essa conexao.. perde.. esse eh o grande "problema"

    do jeito q voce fez ai.. da pra fazer um sistema ficar monitorando o uso de cada link e ir jogando os usuarios pra um link...

    acho que se vc usar "round-robin" + "least-load" da pra melhorar o jeito ai....


    o round robim mantei um balanceamento de usuarios em cada link (por QUANTIDADE ) e o least load.. verifica o link.. e sobrepoe o round-robin caso o link de destino esteja cheio...

    eu uso aqui balanceamento mlppp no cisco.. soh que os links sao embratel... o balanceamento eh perfeito.. mas.. links da mesma operadora...
    Ola,

    Cara, se o Round Robim manter o usuario sempre no mesmo link, e a sobreposição do least-Load só valer para o novos usuarios, vai ser exatamente oq eu preciso...

    Vc poderia falar mais sobre isso? Ou quem sabe indicar alguns tutoriais?

    Eu vi um software que usa essas funcões que vc falow, se chama ProxyFork, mas custa 699 Euros, dai não tem condições neh?

    Alem disso, preciso disso tudo no linux, pois quem autentica e faz controle de banda na minha rede é o myauth...

    Obrigado.

  8. #8

    Padrão

    entao.. round-robin e least-load sao algoritimos de seleção/random...

    o round-robin trabalha assim, supondo que voce tenha 10 links ... e 1000 usuarios... e que eles vao entrar online ao mesmo tempo.. entao o round-robin faz assim:

    primeiro user.. link 1...
    segundo.. link 2..
    terceiro link 3..
    quarto link 4.
    ....
    decimo primeiro, link 1
    decimo segundo, link 2 ....

    .. o least-load trabalha diferente, ele pega o link que tem menor volume em uso e joga o usuario pra la...

    uso estes algoritimos em um balanceamento de arvore de diretorios do squid...

    mas voce precisa fazer um programa, em C talvez... que faça essas verificações... voce precisa +- disso:

    uma função que retorne o uso de cada link (em porcentagem)...
    Código :
     
    if (link1.uso > link2.uso) { jump link2; }
    else { jump link1; }

    isso vc precisa capturar o usuario QUANDO ele for logar e fazer com que sejama dicionadas regras de roteamento para este usuario (escolhendo qual link ele vai sair)...



  9. #9

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    entao.. round-robin e least-load sao algoritimos de seleção/random...

    o round-robin trabalha assim, supondo que voce tenha 10 links ... e 1000 usuarios... e que eles vao entrar online ao mesmo tempo.. entao o round-robin faz assim:

    primeiro user.. link 1...
    segundo.. link 2..
    terceiro link 3..
    quarto link 4.
    ....
    decimo primeiro, link 1
    decimo segundo, link 2 ....

    .. o least-load trabalha diferente, ele pega o link que tem menor volume em uso e joga o usuario pra la...

    uso estes algoritimos em um balanceamento de arvore de diretorios do squid...

    mas voce precisa fazer um programa, em C talvez... que faça essas verificações... voce precisa +- disso:

    uma função que retorne o uso de cada link (em porcentagem)...
    Código :
     
    if (link1.uso > link2.uso) { jump link2; }
    else { jump link1; }

    isso vc precisa capturar o usuario QUANDO ele for logar e fazer com que sejama dicionadas regras de roteamento para este usuario (escolhendo qual link ele vai sair)...
    Ola,

    É exatamente isso que gostaria que alguem me indicasse, um programa que fizesse esse trabalho e que pudesse ser acoplado ao squid e php...

    Vc sabe de algum?

    Valew...

  10. #10

    Padrão

    nao conheço. mas pretendo fazer algo do tipo.. :P



  11. #11

    Padrão

    Ola,

    Mas alguem sabe, pelomenos aonde posso recuperar a informação de quantos Kbytes/s está passando por cada Eth?

    Obrigado.

  12. #12

    Padrão

    Citação Postado originalmente por Spartacus Ver Post
    Ola,

    Mas alguem sabe, pelomenos aonde posso recuperar a informação de quantos Kbytes/s está passando por cada Eth?

    Obrigado.
    iptraf
    IPTraf - An IP Network Monitor