[GTER] Balanceamento de carga - BIND 9

Gerson Abdon Caldeira gersonagc at gmail.com
Thu Mar 31 00:31:29 -03 2005


On Mar 30, 2005 10:37 PM, Rubens Kuhl Jr. <rubensk at gmail.com> wrote:
> Acho que a maior questão é como balancear a parte recursiva do
> trabalho, não a parte autoritativa... uma das soluções mais
> interessantes é utilizar balanceamento sem um balanceador central, em
> que todas as máquinas recebem os pacotes e decidem conforme a presença
> de mais nós no cluster atender todas as máquinas ou não.
> 
> A forma mais completa de se fazer isso com Linux é descrita aqui:
> http://www.ultramonkey.org/papers/active_active/active_active.shtml
> (ele é baseada num paper bastante tradicional de 2001 chamado "How to
> do simple loadbalancing with Linux without a single point of failure",
> que é citado nas referências)
> 

   Exato. Rodei, rodei, rodei e cheguei no LVS
(www.linuxvirtualserver.org). Nele dá pra você balancear pacotes UDP
(nem todas as soluções funcionam com ele). O problema é que do jeito
que ele foi implementado, se muitas requisições forem feitas de um
host (em intervalo de tempo mínimo), o diretor (Director) só repassará
os pacotes para um servidor (Real Server). Resolvi esse "pequeno
problema" me metendo a fuçar no código do LVS no Kernel 2.6. Achei um
patch (ops - one-packet scheduling -, acho que de um dos autores. Tem
referência na página do projeto) e adaptei para o 2.6 (diacho, tive
que fazer praticamente outro porque mudou muuuita coisa).
   A performance dos "trabalhores", juntos, é fantástica. As perdas
mostraram-se, em testes simples (usando queryperf), muito pequenas.
   Outro grande problema que encontrei foi quanto às atualizações de
zona (imagina, o DNS é não-recursivo - zonas master e zonas slave - e
recursivo). Foi uma mistureba de script perl + rsync + ssh + rndc +
mecanismos de locking. Acho que consegui resolver isso de forma
simples. Tentei usar algum FS distribuido mas é impraticável tamanho
trabalho por tão pouca informação.

> Vale lembrar que antes de colocar um MAC multicast/broadcast numa rede
> switched, é bom verificar se é possível limitar esse flood às portas
> do cluster (configuração manual ou IGMP), ou deixar essas portas numa
> VLAN separada.
> 

   Essa parte eu não entendi muito bem. Poderia me ajudar a entender?
A gente utilizou o "Direct Routing" pra não criar um gargalo no
director.

Gerson.

> Rubens
> 
> On Wed, 30 Mar 2005 21:21:50 -0300 (BRT), Lao DanTong
> <danton at inexo.com.br> wrote:
> > On Wed, 30 Mar 2005, Gerson Abdon Caldeira wrote:
> >
[...]



More information about the gter mailing list