Para usar uma implementação NTP real, você precisa instalar e configurar uma, chronyou talvez ntpd. Faça isso se precisar de algum monitoramento do desempenho do tempo. Eu assumirei crony.
Adicionar ibursta seus poolou server linhas na sua configuração para acelerar os poucos pacotes iniciais. Ainda pode demorar alguns minutos para estabilizar, seja paciente.
chronyc trackingmostrará o deslocamento atual. Para ter uma idéia de quais são seus requisitos, a precisão de um segundo pode tolerar facilmente o deslocamento de dezenas de milissegundos.
chronyc makestepfará o ajuste atual imediatamente. Normalmente não é necessário.
Sobre a única maneira de definir o tempo com timesyncd é manualmente: timedatectl set-time "2019-01-15 00:40:16". Não possui meios robustos para disciplinar e monitorar o relógio. Estatísticas básicas de NTP via timedatectl timesync-statussão relativamente novas, não acho que essa opção esteja disponível no Red Hat 7 ou no Ubuntu 18.04.
systemd define "sincronizado" como se o NTP fosse usado para dizer ao Linux para ajustar o relógio. Especificamente, se a disciplina do kernel chamar adjtimex () retornou sem erro, e não o estado inicial. Veja o código fonte, systemd / src / basic / time-util.c.
Obrigado pela sua resposta, John. Então, na verdade, posso desativar o systemd-timesyncd e usar apenas o chrony? Não sei ao certo por que o systemd tem uma opção NTP e é chamado timeSYNCd se, na verdade, não é possível sincronizar a hora? “Systemd define" sincronizado "para ser se a disciplina do kernel NTP chamar adjtimex () retornou sem erro e não o estado inicial” - isso não está muito claro para mim.
manifestador
1
@chevallier systemd-timesyncd é muito simples e é bom o suficiente para os casos mais comuns, por exemplo, um servidor com um relógio em tempo real que deve estar em execução na rede 24x7. O seu caso não é comum, portanto você provavelmente não deve usá-lo. O chrony é muito melhor para lidar com interrupções na conectividade da rede e ser desligado por longos períodos (por exemplo, um laptop) ou não ter um RTC (por exemplo, dispositivos incorporados).
Michael Hampton
1
O timesyncd é um cliente SNTP, portanto, define o horário sem discipliná-lo adequadamente. O que é adequado para requisitos de precisão grosseira. Se você deseja medir o desempenho do tempo ou aguardar a sincronização, use um NTP completo como chrony ou ntpd.
John Mahowald
11
Sem instalar mais pacotes ... Desligue o NTP, defina manualmente a hora para estar próximo o suficiente , ative o NTP novamente:
Definir serviço NTP inativo
$ timedatectl set-ntp false
Defina a hora manualmente
Sim, isso é triste, mas funciona e você não precisa se preocupar em instalar nada e fazê-lo funcionar. Obtenha a hora LOCAL aproximada no relógio de parede, no telefone e na Internet. Ele não precisa ser perfeito, porque ativaremos o ntp em um momento ...
$ sudo timedatectl set-time "2019-06-22 13:41:00"
Definir serviço NTP ativo
$ sudo timedatectl set-ntp true
Esperar
john@mybox:~$ timedatectl
Local time: Sat 2019-06-22 13:49:53 AEST
Universal time: Sat 2019-06-22 03:49:53 UTC
RTC time: Sat 2019-06-22 03:49:54
Time zone: Australia/Sydney (AEST, +1000)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
O "Relógio do sistema sincronizado: não" passará para "sim" quando tiver sido ajustado o suficiente para ser considerado 'em sincronia'.
Solução de problemas
$ cat /etc/systemd/timesyncd.conf
[Time]
NTP=pool.ntp.org
$ timedatectl timesync-status
Server: 13.210.208.89 (au.pool.ntp.org)
Poll interval: 8min 32s (min: 32s; max 34min 8s)
Packet count: 0
$ grep systemd-timesyncd /var/log/syslog | tail
Jun 22 14:13:09 meebox systemd-timesyncd[8333]: Timed out waiting for reply from 103.214.220.220:123 (au.pool.ntp.org).
Meus pacotes ntp estavam sendo bloqueados pelo firewall corporativo.
Instalar outro serviço de sincronização de tempo também foi minha primeira ideia, mas isso é apenas uma solução alternativa. Eu estava procurando uma solução real. É você quem responde. Funciona. Obrigado :-)
Sem instalar mais pacotes ... Desligue o NTP, defina manualmente a hora para estar próximo o suficiente , ative o NTP novamente:
Definir serviço NTP inativo
Defina a hora manualmente
Sim, isso é triste, mas funciona e você não precisa se preocupar em instalar nada e fazê-lo funcionar. Obtenha a hora LOCAL aproximada no relógio de parede, no telefone e na Internet. Ele não precisa ser perfeito, porque ativaremos o ntp em um momento ...
Definir serviço NTP ativo
Esperar
O "Relógio do sistema sincronizado: não" passará para "sim" quando tiver sido ajustado o suficiente para ser considerado 'em sincronia'.
Solução de problemas
Meus pacotes ntp estavam sendo bloqueados pelo firewall corporativo.
fonte