/ etc / hosts não suporta round robin, mas você pode escrever um simples script bash para substituir uma entrada marcada com um comentário #RoundRobin (ou qualquer outra tag que você queira usar, apenas reflita na linha grep em o script).
#!/bin/bash
fqdnips=( $(nslookup sub.domain.com|grep Address:|awk -F\ '{ print $2 }'|grep -v '#') )
new='printf "${fqdnips[@]}"'
old='grep "#RoundRobin" /etc/hosts|awk -F\ '{ print $1 }''
sed -i "s/$old/$new/g" /etc/hosts
O script acima captura a saída de nslookup para sub.domain.com e armazena-a em uma matriz. Em seguida, ele imprime o valor mais alto para $ new e pega o valor existente para a tag #RoundRobin atribuído em / etc / hosts ... por último, ele executa uma substituição de sed
A entrada do arquivo / etc / hosts seria semelhante a esta
127.0.0.1 localhost
::1 localhost
11.12.13.14 sub.domain.com #RoundRobin
Por fim, coloque este script no crontab da raiz para ser executado a cada hora e agora você terá um round robin / etc / host.
Isso é particularmente útil se você tiver uma página codificada que está obtendo alguns dados de uma API e a pesquisa de DNS do servidor da API estiver causando muito tempo de espera na execução do script da página ... resultando em alto consumo de CPU o que de outra forma pareceria ser uma página simples. Para evitar a dispendiosa pesquisa de DNS (especialmente se seu site está fazendo centenas deles por minuto para tráfego intenso), você deve usar / etc / hosts para resolver o FQDN do servidor de API remoto. Isso reduzirá drasticamente o uso da CPU para extrair os dados da API e gerar a página.