Eu tenho cerca de 20 servidores Linux em uma rede pequena e preciso dos relógios deles decentemente próximos um do outro (por exemplo, dentro de 20msec). Comecei com todos eles sincronizados com europe.pool.ntp.org e o trabalho está feito.
Agora eu tenho duas perguntas:
- Sou um fardo perceptível para a piscina? Ou seja, faz alguma diferença perceptível para a piscina se eu estiver acessando de 20 servidores ou de 2?
- Se isso faz alguma diferença, qual é a instalação / configuração que manterá minha sub-rede sincronizada e o pool sob carga leve? Existem diretrizes para redes enormes ( http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101 ), mas não encontrei nenhuma para redes pequenas.
peer
relacionamento. Veja, por exemplo, ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3101Respostas:
Dado que o pool está em constante necessidade de servidores por muitos anos (consulte [1]), eu diria que, embora 2 ou 20 servidores não façam realmente a diferença, você deve sempre lembrar que não está sozinho. Então é melhor você pensar em, digamos, 1000 administradores. Nesse caso, estamos falando de 2000 ou 20000 servidores, e isso faz a diferença.
Você deve sincronizar dois [2] servidores em sua rede com o pool (vamos chamá-los de Servidores NTP Primários ) e depois sincronizar todos os outros servidores para esses dois. Esse método também tem a vantagem de que o tempo entre todos os seus servidores será correspondido mais de perto (em menos de 1 ms). Isso está de acordo com as melhores práticas da IETF .
1) A configuração para os servidores NTP principais
Substitua as linhas
server
erestrict
do seu ntp [d] .conf pelo seguinte e mantenha o restante nos padrões de distribuição [3]:Observe que essa configuração também permite que hosts de toda a Internet consultem o horário do seu host por meio de consultas NTP. Use seu firewall se você não quiser. No meu exemplo, 10.11.12.1 e 10.11.12.2 são os IPs dos servidores NTP principais (eles têm duas placas de rede, uma voltada para a Internet pública e outra para a sub-rede 10.11.12.x local). Cada servidor NTP principal tem o outro declarado como ponto (ponto significa basicamente servidor e cliente - você usa o outro host como fonte de tempo e o outro host também como fonte de tempo). Portanto, ajuste o IP na 1ª linha para que a configuração de cada Servidor NTP Primário aponte para o outro como um par. Veja [4] sobre minha escolha de usar 4 servidores.
2) A configuração para todos os outros servidores
2A) Se você tiver duas interfaces de rede
É melhor usar a segunda interface para criar uma sub-rede local (por exemplo
10.11.12.0/24
) e usá-la para consultas NTP. Nesse caso, as linhas restritas podem ser mais apertadas. Portanto, substitua novamente as linhasserver
erestrict
do seu ntp [d] .conf pelo seguinte e mantenha o restante com os padrões de distribuição [3]:2B) Se você não possui duas interfaces de rede
Você deve usar as seguintes linhas restritas (e leia a observação sobre o uso do firewall para bloquear o acesso aos servidores NTP acima). Portanto, substitua novamente as linhas
server
erestrict
do seu ntp [d] .conf pelo seguinte e mantenha o restante com os padrões de distribuição [3]:Notas
[1] De 2006 a 2012, eles constantemente solicitam a adesão de mais servidores: a solicitação de 2006 , a de 2009 e a de 2012 . Verifique www.pool.ntp.org para atualizações sobre o status atual.
[2] Dois servidores NTP principais são sugeridos apenas como uma maneira simples de ter redundância sem acordos complicados de alta disponibilidade. Você pode optar por 3 ou 4 por outros motivos (leia novamente as melhores práticas da IETF )
[3] Na prática e não importa a sua distribuição, a única outra coisa que você precisa incluir na configuração do ntpd é uma linha que define um diretório para colocar um arquivo de deriva e um nome para ele - por exemplo
driftfile /var/lib/ntp/ntp.drift
. Eu testei minha solução no CentOS, Debian e Ubuntu. Eu acho que funciona na maioria das outras distros.[4] Configurei 4 servidores de pool seguindo as práticas recomendadas . A configuração de mais de 4 servidores é tecnicamente aceita, mas você aumentará a carga no pool NTP para obter um ganho questionável na disponibilidade; portanto, não faça isso. Nas práticas recomendadas, vejo que "a partir do ntp-4.2.6, a diretiva 'pool' gerará associações" suficientes "para fornecer um serviço de horário robusto", portanto, se você usar .pool. endereços como eu faço aqui e ntp> = 4.2.6 o número exato de linhas de servidor provavelmente não importa.
Rant Oh! Eu odeio NTP (exceto que eu gosto que ele funcione). A documentação oficial está cheia de informações obsoletas e elas têm "como eu as uso?" informações misturadas com detalhes científicos sobre os internos. E eu também odeio como
restrict 127.0.0.1
realmente significaallow everything for 127.0.0.1
Histórico de atualizações
Eu removi a
iburst
opção da configuração dos servidores NTP locais porque a facilidade de uso deles é discutível. (Ver comentários). A remoção deles adiciona apenas alguns minutos de tempo de espera à primeira sincronização.Créditos
Comentários e respostas dos usuários do SF Marki e Sven forneceram um bom ponto de partida para esta resposta. Graças a ambos.
fonte
iburst
é um parâmetro irritante para uso em servidores públicos, portanto, não faça isso (embora não seja tão irritante quantoburst
). Os administradores de servidores de pool estão fazendo um favor a você sem saber quem você é e sem qualquer recompensa para si mesmos, apenas para o melhor funcionamento da Internet. Se você, trabalhando mais, pode facilitar a vida deles, deve isso a eles.burst
, mas atéiburst
diz (nantpd
página de manual) " com esta opção, uma saraivada de mensagens é trocada para ajustar os dados e ajustar o relógio em cerca de 10 segundos ". Usar oiburst
comando " ajustar meu relógio rapidamente é mais importante do que manter a carga no servidor baixa ", e isso é falta de educação.iburst
é muito menos censurável queburst
. O que quero dizer é que, quando você usa o recurso de outra pessoa de graça, há um argumento de que você deve se curvar para ser considerado; simplesmente não ser ativamente desatento pode não ser suficiente. Concordo que é uma boa prática, mas esses documentos não levam em consideração se os servidores upstream aos quais você está sincronizando fazem parte da sua empresa ou não; eles ditam as melhores práticas técnicas (que, eu concordo, é usariburst
), e não as melhores práticas sociais .A abordagem usual para isso é usar uma configuração em camadas - você sincroniza um ou dois servidores em sua rede com o pool e os usa como sua fonte de horário local. Esses níveis são chamados de estratos no jargão NTP.
Além disso, pense sobre isso: se você fizer isso como descrito, não será realmente perceptível, mas se 1000 sites do seu tamanho começarem, você terá 20 mil solicitações desnecessárias e, em algum momento, ficará perceptível.
Leia http://en.wikipedia.org/wiki/Network_Time_Protocol
fonte
pool.ntp.org
. Certamente o tráfego DNS excede o tráfego NTP. Você também precisa armazenar em cache o DNS localmente? Mesmo o tráfego DNS provavelmente será minúsculo em comparação com o restante do consumo de largura de banda.ntp.pool.org
eles violam os termos do pool ; se eles fizeram isso corretamente aplicando uma zona de fornecedor (consulte o link), também é esperado que eles também contribuam para o projeto do pool na proporção da carga deles (novamente, consulte o link).