Balanceamento - dois links em um único servidor (não dá)
Opa. Cara, eu segui a risca esse tutorial. Pode ser que, meu sistema tenha alguma coisa de diferente configurada. Mas sinceramente, nao sei te responder.
Soh sei que segui aquele tutorial, coloquei a rodar e deu certo. Utilizo kernel 2.4.26 com os devidos patches, e o iptables com sistema de connection tracking, como mostra no tutorial.
Att,
Guilherme
Balanceamento - dois links em um único servidor (não dá)
Citação:
Postado originalmente por GuileW
Opa. Cara, eu segui a risca esse tutorial. Pode ser que, meu sistema tenha alguma coisa de diferente configurada. Mas sinceramente, nao sei te responder.
Soh sei que segui aquele tutorial, coloquei a rodar e deu certo. Utilizo kernel 2.4.26 com os devidos patches, e o iptables com sistema de connection tracking, como mostra no tutorial.
Att,
Guilherme
Tentei aquele tutorial e outros em todos tipos de sistemas e em kernels 2.4 e 2.6 e nenhum deu 100%, quem saiba um dia que tenha oportunidade de testar de nvo de certo, mas vlw pelas dicas.
falows
Balanceamento - dois links em um único servidor (não dá)
Citação:
Postado originalmente por GuileW
Opa. Cara, eu segui a risca esse tutorial. Pode ser que, meu sistema tenha alguma coisa de diferente configurada. Mas sinceramente, nao sei te responder.
Soh sei que segui aquele tutorial, coloquei a rodar e deu certo. Utilizo kernel 2.4.26 com os devidos patches, e o iptables com sistema de connection tracking, como mostra no tutorial.
Guilherme,
Eu também segui a risca o tutorial mas sempre no kernel 2.6 (2.6.13-4). Vou fazer mais algumas tentativas e se não der certo vou retornar ao RedHat 9 e tentar com o kernel 2.4.
Att,
Nataniel Klug
Balanceamento - dois links em um único servidor (não dá)
Citação:
Postado originalmente por GuileW
Citação:
Postado originalmente por ruyneto
Citação:
Postado originalmente por GuileW
Seguinte pessoal, nao sei quanto a voces, mas atualmente tenho dois link trabalhando em sistema load balance e nunca deu problema. Tenho outro cliente que trabalha com 3 ADSL em load balance, tambem nunca deu problema e outro que tem uns 5 ADSL. Estou usando Debian como servidor com kernel 2.4.30, uma placa de rede para cada link externo e uma para LAN.
Nao vamos nos esquecer dos patches a serem aplicados no kernel.
Se mais alguem tiver uma experiencia positiva, comente!
Aqui está a fonte de onde fiz o meu load balance, que já está a 6 meses rodando:
http://www.ssi.bg/~ja/nano.txt
Att,
Guilherme F. Weidle Jr
Cara voce foi o primeiro que vi ate hoje que disse que funciona, diz ae algumas informações que eu tive problema, ele não da erro em downloads grandes, msn ou banco??
Tpo assim esses 5 links ou 2 links quando voce monitora fica cada um com uma porcentagem igual do trafego ou ele primeiro enche o link 1 depois o link 2 e assim por diante? Não teve problemas com a diferença entre a taxa de download e upload do server que pode gerar o travamento do roteamento??
Vlw pelas informações e falows
Ola, desculpe pela demora nas respostas da sua pergunta. Respostas:
Nao, ele nao da erro no MSN nem em downloads grandes nem mesmo com bancos.
Os links ficam com procentagem igual de uso, metade para cada um. Ele nao enche um depois ou outro e etc...
Desconheco tal problema de taxe de download e upload... Afinal, os ADSL sao assimetricos mesmo. Mas no meu caso eu tenho um link dedicado de 1M e um link ADSL 1,5M. Eu nao trabalho na proporcao de 1 para 1 e sim, na propoercao 3 para 2, jogando mais para o link dedicado. No outro sistema com 3 ADSL, ai sim a proporcao eh de 1 para 1, pois sao todos ADSL de 1M.
Att,
Guilherme
Amigo eu ja viz varias formas o loadbalaced.
Uma delas é usando o
Static Equal Cost Multi-Path routing (ECMP)
Exemplo: (Considere a seguinte situação onde nós temos que distribuir pacotes do passagens da rede 192.168.0.0/24 a 2 Gateway- 10.1.0.1 e 10.1.1.1: Adicione as rotas default - uma para ISP1 e 2 para ISP2 assim que nós pode começar a relação 1:3:
http://www.faarnet.com.br/tms/ecmp.jpg
Nesse aqui é muito granfino, funciona muito legal, mas tive um problema que acho q vc pode saber oque é. A respeito do MSN e sites de Bancos, foi como os amigos estavam falandp sobre o cache do kernel, tem a opção do Connection tracking na minha opinião se aumenta-se a opção de ficar mais tempo com o determinado IP acabaria com o problema de rompímento de conexão. o que vc acha ?
http://www.faarnet.com.br/tms/track.JPG
E tmb por
Standard Policy-Based Routing with Failover
Este exemplo mostrará como distribuir pacotes, usando uma política definida administrador. A política para esta instalação é a seguinte: distribua pacotes da rede 192.168.0.0/24, usando a passagem 10.0.0.1, e os pacotes da rede 192.168.1.0/24, usando a passagem 10.0.0.2. Se GW_1 não responder ao ping, use GW_Backup para a rede 192.168.0.0/24, se GW_2 não responder ao ping, usam GW_Backup também para a rede 192.168.1.0/24 em vez de GW_2.
http://www.faarnet.com.br/tms/PB.jpg
Nesse aqui ele funciona sem problemas, pq aqui eu digo para onde cada ip vai passar, mas ai foge na realidade e o trabalho triplica, o ideal seria que o proprio sistema diria para onde cada um fosse ! e é oque o ECMP faz.
Posta ai oque acha, qualquer coisa será muito bem vinda!
Balanceamento - dois links em um único servidor (não dá)
Hoje tenho 2 links e faço um pseudo-balanceamento .
Uso o esquema padrao de criar as rotas e marcar os pacotes com mangle. Porém, na regra que marca os pacotes coloco -m random
iptables -t mangle -I OUTPUT -m random --average 50 -p tcp --dport 80 -j MARK --set-mark 1001
iptables -t mangle -I PREROUTING -m random --average 50 -p tcp --dport 80 -j MARK --set-mark 1
neste exemplo 50% das conexoes web saem pelo link 1
vejam que nao é um balaceamento de verdade (pela carga do link).
Balanceamento - dois links em um único servidor (não dá)
Legal este ultimo exemplo mostrado!
Vamos a algumas explicacoes de minha parte, que pode estar gerando um desentenditmento. Vale para o que eu estou usando baseado no tutorial.
1- Na verdade nao eh sistema LOAD_BALANCE REAL, pq ele nao se baseia pela CARGA dos links. Ele simplesmente manda uma conexao para um link, outra para outro link e assim por diante. Logo, ele atua na saida de pacotes. Portanto, se alguem que sai pelo link 1 faz um download de 2 horas e ocupar o link 1, ele nao vai saber disso e vai continuar mandando as conexoes pelos 2 links conforme o "peso" configurado. No meu caso, a cada 5 conexoes ele manda 3 para um link e 2 para o outro.
2- O mais importante eh aparentemente óbvio é o seguinte: Caso um dos links caia, todas as conexoes correntes por aquele link cairão tb! Eh impossivel fazer com que isso nao aconteça com esse sistema, afinal, são dois LINKS distintos com ips distintos e NAO UM SISTEMA DE LOAD BALANCE REAL que possui 2 linhas fisicas. Portanto, não se iludam com isso. Caiu o link, adeus conexoes ativas por ele.
3- As conexoes ATIVAS NÃO caem com o tempo. Este sistema de cache do tracking apaga o cache APÓS PERÍODO DE INATIVIDADE. Se não fosse assim, até mesmo com um link normal ficaria caindo... Pelo menos é o que eu acho, não fui muito a fundo nisso. Mas não consigo acreditar que o sistema simplesmente apagaria a conexao ativa, sendo que ela está ativa. Isso pra mim não faz sentido.
4- Em caso de falha em um dos links, o kernel demora um pouco ateh saber disso. Para ficar mais rapida a detecção, basta deixar rodando um teste de ping e dar o comando ip route flush cache.
5- Muito importante mencionar a importancia do patch nesse caso. Olha o que o tutorial nos diz a respeito: "O sistema de NAT não faz idéia de como lidar com rotas alternativas, isso é trabalho para o sistema de roteamento. E, uma das alterações proporcionadas pelo patch é fazer o sistema de roteamento preparar a rota de um pacote individual para o sistema do NAT, fazendo-o enxergar como se aquela é a única rota possível"
6- Todos os pontos acima com excessão do 5, são de minha opinião e experiência com este assunto até então. Posso estar errado em alguns ou em todos :). Mas o fato é: Aqui está funcionando.
Acho que esses pontos podem (ou não) esclarecer algumas coisas.
Espero encontrar um tempo a mais para traduzir todo o tutorial. Ele esclarece várias questões.
Att,
Guilherme