jump to navigation

Dns Load Balancing no Bind maio 22, 2011

Posted by Leonardo Pucci in Uncategorized.
add a comment

O Balanceamento de carga é um recurso simples de se implantar e que ajuda quando existe uma grande utilização de recursos distrubuidos em vários servidores. Seja pela questão de processamento seja para aumentar a disponibilidade sem se concentrar em um único ponto de falha.

O bind, nativamente já vem com a opção rrset-order setada como cíclica. Então, ao se adicionar mais do que 1 ip por host, ele já realizará um balanceamento direcionando a consulta para ips diferentes.

; arquivo zone do bind

ftp   IN  A   192.168.0.10
ftp   IN  A   192.168.0.11
ftp   IN  A   192.168.0.12
www   IN  A   192.168.0.150
www   IN  A   192.168.0.161
blog    IN  A    192.168.10.12
blog    IN  A    192.168.10.13

Lembrando que ao realizar uma consulta, o TTL da query que foi feita será armazenado na máquina.

Exemplificando:  Com um TTL de 12 horas, a máquina que resolveu um ip, realizará a conexao para o mesmo ip nestas doze horas respeitando a configuração de cache da máquina. Sendo assim, será feito o balanceamento, mas não ocorrerá um troca caso o servidor esteja fora do ar.

Nao considero este balanceamento de carga como uma boa opção para High Availability, pois caso voce diminua o tempo de vida do pacote, o numero de consultas DNS aumentará substancialmente e ao deixar o TTL ativo, ele será armazenado em provedores e proxys que farão o armazenamento da resolução.

Uma opção interessante seria a utilizaçao do HA-proxy. Desta forma voce poderia balancear o HA via software levando em consideração se os hosts estão ativos, caracterizando uma situação de High Availability.

 Uma opção legal que achei a respeito do balanceamento de carga via dns, é a opção Split Horizon :

Mapemanto geográfico: Baseado no ip addres que está fazendo a consulta, o servidor retorna um endereço ip mais conveniente para aquela região, diminuindo a latência entre o usuário e o servidor.

Filtragem por ip: Desta forma usuários diferentes podem receber endereços diferentes. Voce pode oferecer um serviço personalizado via dns para certos clientes.

Com esta opção, voce pode fazer até um balanceamento de carga distribuindo ip´s para varios servidores diferentes. Acho mais efetivo do que o round robin padrao do dns.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.