Como configurar o ntpd para sincronizar o horário com mais frequência?

10

Eu preciso definir o ntpd para sincronizar o tempo o mais rápido possível, como fazer isso?

UPD Eu preciso fazer o ntpd ajustar o relógio do sistema com mais frequência, não para pesquisar servidores. É necessário porque o relógio do sistema do meu PC virtual desvia muito o
maxpoll parece não mudar nada, porque eu defino minpoll / maxpoll em 4 e 5 e os ajustes de hora parecem ser feitos apenas uma vez em alguns minutos

user626528
fonte
Por que você quer fazer isso?
Kyle Smith
Porque preciso de um tempo preciso para minha tarefa. Alguma razão para não fazer isso?
user626528
8
@ user626528 define "hora precisa". Dizer que você precisa de precisão sem quantificar o grau de precisão de que precisa não faz sentido: um rifle sniper e um projétil de argamassa de 51 polegadas são munições "precisas".
voretaq7

Respostas:

12

A iburstopção faz várias verificações rapidamente assim que o daemon é iniciado e sempre que o servidor estiver inacessível, se você o tiver em sua configuração. A burstopção faz várias verificações rapidamente sempre que o servidor estiver acessível.

Por padrão ntpd, segue um recuo exponencial em que o tempo entre as verificações aumenta progressivamente, iniciando em 64 segundos e dobrando a cada vez, até um máximo de 1024 segundos.

A maxpollopção permite definir o valor máximo mais alto ou mais baixo. Esse valor é a potência de 2 em segundos entre as verificações, portanto, por 1024 segundos, maxpollé 10. Também minpollhá 6 como padrão e pode ser reduzido para 4.

Se você quiser algo mais frequente do que a cada 16 segundos, provavelmente precisará usar em ntpdatevez de ntpde executar seu próprio loop.

Por favor, não aponte isso para servidores de horário público sem entrar em contato com os mantenedores.

Ladadadada
fonte
3
Provavelmente é melhor que ele nunca use o NTPdate, pois ele não obedece às mensagens KOD ou ICMP.
21712 Chris Smith S
Ler mais sobre KoD e como executar um cliente bom NTP em geral: en.wikipedia.org/wiki/NTP_server_misuse_and_abuse
Ladadadada
O que o @ChrisS disse - ntpdateé ótimo para sincronizar o relógio uma vez ou para sincronizar à força com o seu próprio servidor NTP a cada segundo em máquinas onde o desvio do relógio local é atroz. Se você estiver na última situação, substitua a máquina (um relógio tão ruim será desviado por alguns segundos a cada minuto - você nunca terá tempo preciso).
precisa saber é o seguinte
10
Por favor, por favor, NÃO seja aquele cara que altera os padrões no NTP. Eu tenho que olhar semanalmente para o meu servidor NTP voltado para o público e usar armas nucleares para enviar um pacote por segundo. Se o seu servidor não ouvir a mensagem do ICMP dizendo "proibido administrativamente" , ligarei para o NOC do seu ISP e você terá um dia ruim. O NTP estabelecerá a precisão por milissegundos por conta própria e ajustará a velocidade da consulta para cima e para baixo, conforme necessário. Brincar não ajuda.
10134 Jeff Ferland
20

ntpdnão sincroniza o tempo periodicamente da maneira que você pensa, veja aqui para obter mais informações (leia tudo, tudo é importante. Versão curta: ntpdsincroniza o tempo e informa ao sistema com que rapidez está se afastando do tempo "verdadeiro", o O sistema ajusta sua freqüência de relógio para rastrear corretamente o tempo "verdadeiro". Dentro de um dia, a maioria dos sistemas está rastreando até 5 ms da referência).

Ausente uma EXCELENTE razão pela qual você não deve se preocupar com a maneira como ntpdajusta e disciplina seu relógio - esses algoritmos foram exaustivamente testados e depurados e, se uma referência de tempo adequada, produzirá taxas de erro muito pequenas.
Francamente, se você tem uma EXCELENTE razão, já sabe o que é e tem um orçamento substancial para contratar um especialista para fazer essas modificações (você não faria essa pergunta se realmente precisasse disso).

Se você precisar de uma precisão de tempo melhor do que a que ntpdpode sincronizar sozinho com uma máquina na rede, precisará de um relógio de referência de hardware de precisão especializado conectado localmente à máquina. O comércio de alta frequência e os experimentos científicos com picossegundos são as únicas coisas em que consigo pensar que exigem esse tipo de precisão.

voretaq7
fonte
@ChrisS que é uma bonita banda larga - você pode ter problemas de controle de temperatura em seu datacenter
voretaq7
3
Usamos Precision Time Protocol quando é realmente crítica ... en.wikipedia.org/wiki/Precision_Time_Protocol
ewwhite
6
-1 algorithm or program that requires high precision and accuracy! = mega corp with super massive budget.
TheLQ
@TheLQ Um receptor de GPS (como Chris S mencionado em sua resposta) também é uma referência de precisão e não requer nada parecido com um "orçamento super maciço" (você pode gastar entre cem e mil dólares por um). A precisão sobe a partir daí e o custo aumenta juntamente com ela, normalmente em uma curva exponencial. Cronometragem precisa nunca foi livre /
voretaq7
1
Outro uso para ter um relógio de referência local: medição de desempenho de rede unidirecional de alta precisão. internet2.edu/performance/owamp
Dan Pritts
7

Obtenha um receptor de tempo GPS, se você precisar de tempo altamente preciso. Ele verificará seu relógio a cada segundo. Se você não quiser gastar muito, pode adquirir um Garmin 18x LVC no eBay ou Amazon por menos de US $ 100 e conectá-lo a uma porta COM. Direções pela Internet, mas requer um nível mínimo de habilidade de fiação. Estão disponíveis soluções completas que custam mais, se você não gosta de projetos de bricolage.

Chris S
fonte