Algumas configurações que podem ser feitas sobre o balanceamento de registros DNS
DNS Round-robin é uma técnica de distribuição de carga, balanceamento de carga, de tolerância a falhas, provisionamento múltiplo e redundante de hosts através do registro DNS. Seu conceito é simples, em caso de múltiplos registros iguais o DNS revesa a resposta sobre esse objeto a cada vez que é consultado.
Porém existem problemas nesse processo, o DNS round-robin balanceia a carga de solicitações mas ele não evita a consulta caso uma dessas respostas seja mais lenta. Além disso a decisão entre balancear ou não depende da máscara registrada e de quem solicitou/perguntou (por exemplo, se o servidor DNS possuí 3 registros idênticos que apontam para IPs classes B diferentes, e ele verificar que o endereço de origem é da mesma classe C que um dos registros o servidor não irá balancear entre os 3 registros mas irá responder somente para o registro que aparentemente é da mesma rede do solicitante)
Agora vamos explicar como mudar algumas dessas configurações
Mudando a política de balanceamento (RoundRobin)
Embora a configuração padrão no Windows Server 2003 seja basear a proximidade na Classe C
Primeiro entenda qual valor pode ser definido e qual a máscara de rede ele representa
Máscara | Valor |
255.255.255.192 | 0x0000003F |
255.255.255.128 | 0x0000007F |
255.255.255.0 | 0x000000ff |
255.255.0.0 | 0x0000ffff |
255.0.0.0 | 0x00ffffff |
Digamos aqui que você queira mudar a máscara para B. Abra o prompt de comando (CMD) como administrador e execute o seguinte comando:
Dnscmd /Config /LocalNetPriorityNetMask 0x0000FFFF
Mudando a distribuição de carga (respostas) no DNS
Considere que você possuí os servidores de nomes A, B e C. Cadastrando três CNAMES iguais seusite.seu_dominio.com e apontando para cada um desses servidores o DNS fará um balanceamento de respostas (round robin), dividindo a carga igualmente entre A, B e C. Porém, é possível alterar essa proporção e fazer, por exemplo, que o servidor A receba o dobro das requisições dos outros…. então o servidor receberá 50% das requisições totais enquanto os servidores B e C fiquem com 25% das requisições cada. Para configurar isso, no servidor DNS abra o PowerShell como administrador e execute o seguinte comando:
Para criarmos escopos de zonas (locais), execute os seguintes comandos:
Add-DnsServerZoneScope -ZoneName "seu_dominio.com" -Name "AltoDesempenho"
Add-DnsServerZoneScope -ZoneName "seu_dominio.com" -Name "MedioDesempenho1"
Add-DnsServerZoneScope -ZoneName "seu_dominio.com" -Name "MedioDesempenho2"
Ainda no PowerShell vamos agora criar os registros do site em cada escopo, com os seguintes comandos:
Add-DnsServerResourceRecord -ZoneName "seu_dominio.com" -A -Name "seusite" -IPv4Address "192.0.0.1" -ZoneScope "AltoDesempenho"
Add-DnsServerResourceRecord -ZoneName "seu_dominio.com" -A -Name "seusite" -IPv4Address "182.0.0.1" -ZoneScope "MedioDesempenho1"
Add-DnsServerResourceRecord -ZoneName "seu_dominio.com" -A -Name "seusite" -IPv4Address "192.0.0.1" -ZoneScope "MedioDesempenho2"
Por fim, vamos executar criar a divisão de cargas, com o comando:
Add-DnsServerQueryResolutionPolicy -Name"Politica_de_cargas" -Action ALLOW -ZoneScope "AltoDesempenho,2;MedioDesempenho1,1;MedioDesempenho2,1" -ZoneName "seu_dominio.com"
Fontes/Referências
https://docs.microsoft.com/pt-br/troubleshoot/windows-server/networking/how-to-use-netmask-ordering-round-robin-feature
https://docs.microsoft.com/pt-br/windows-server/networking/dns/deploy/app-lb
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Entre em contato conosco pelo e-mail equipe@nvlan.com.br.