Esta questão está relacionada com esta questão e < href="https://serverfault.com/questions/630762/how-can-i-have-ntpdate-ignore-skew/631621?noredirect=1"> esta pergunta anterior eu perguntei no serverfault . / p>
De acordo com minha pergunta anterior, estou interessado em sincronizar a hora na minha máquina de forma rápida (idealmente menos de um segundo), síncrona (se o processo for concluído com 0 status, o tempo deve ser sincronizado) e ("robusto" aqui significa que, desde que recebamos uma resposta do servidor ntp, o tempo deve ser definido de acordo com a resposta). Eu correrei ntp
em segundo plano depois dessa rápida sincronização inicial.
Usar ntpdate
parece ser muito esquisito, e não é recomendado de qualquer maneira (eu fico esporádico "nenhum erro de servidor disponível", acho que principalmente devido a discrepâncias com o servidor ntp, não de uma falha em alcançar o servidor ntp ). No entanto, uma coisa boa sobre ntpdate
é que ele tem uma opção -p
que me permite reduzir o tempo necessário para definir meu tempo em meros milissegundos (quando funciona).
Usar sudo ntpd -gq
, como sugerido nas perguntas anteriores, parece tornar a sincronização do relógio mais confiável, mas demora pelo menos 7-8 segundos na minha máquina, presumivelmente porque ntpd
está tirando várias amostras com o tempo de espera intermediário. Pior, ntpd
geralmente trava por minutos antes de sair com sucesso. Não sei por que isso acontece porque o servidor ntp está acessível e respondendo a solicitações durante todo esse período de tempo.
Assim, estou procurando uma maneira de acelerar o tempo que leva para sincronizar o relógio de uma máquina usando ntpd -gq
, e estou disposto a sacrificar alguns milissegundos de precisão do relógio inicial para ter um relógio mais rápido sincronização. A razão pela qual estou disposto a fazer esse sacrifício é que a sincronização é parte de um processo de bootstrap que estou executando muitas vezes por dia e esperando de 8 segundos a vários minutos para que o ntp seja executado toda vez que ele diminui o processo (até o ponto que não tenho escolha a não ser aceitar o comportamento rápido, mas depreciado e não confiável de ntpdate
).
Existe uma maneira de obter um desempenho rápido e confiável com ntpd
?
EDIT: Aqui está o meu ntp.conf (se você está se perguntando sobre a localização de server
, ele foi programaticamente anexado ao arquivo depois de remover todos os servidores existentes):
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# Specify one or more NTP servers.
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
# Use Ubuntu's ntp server as a fallback.
# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details. The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.
# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255
# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines. Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient
server pool.ntp.org