Cuando consulto el estado del demonio NTP con ntpdc -c sysinfo
, obtengo el siguiente resultado:
system peer: 0.0.0.0
system peer mode: unspec
leap indicator: 11
stratum: 16
precision: -20
root distance: 0.00000 s
root dispersion: 12.77106 s
reference ID: [73.78.73.84]
reference time: 00000000.00000000 Thu, Feb 7 2036 7:28:16.000
system flags: auth monitor ntp kernel stats
jitter: 0.000000 s
stability: 0.000 ppm
broadcastdelay: 0.000000 s
authdelay: 0.000000 s
Esto indica que la sincronización NTP falló. Sin embargo, el tiempo del sistema es preciso con una precisión de 1 segundo. Cuando ejecuté mi sistema sin conexión de red durante el mismo período que lo hice ahora, la hora del sistema se desviaría ~ 10 segundos.
Este comportamiento sugiere que el sistema tiene otra forma de sincronizar la hora. Me di cuenta de que también existe systemd-timesyncd.service
(con el archivo de configuración en /etc/systemd/timesyncd.conf
) y timedatectl status
me da la hora correcta:
Local time: Thu 2016-08-25 10:55:23 CEST
Universal time: Thu 2016-08-25 08:55:23 UTC
RTC time: Thu 2016-08-25 08:55:22
Time zone: Europe/Berlin (CEST, +0200)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2016-03-27 01:59:59 CET
Sun 2016-03-27 03:00:00 CEST
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2016-10-30 02:59:59 CEST
Sun 2016-10-30 02:00:00 CET
Entonces mi pregunta es ¿cuál es la diferencia entre los dos mecanismos? ¿Uno de ellos está en desuso? ¿Se pueden usar en paralelo? ¿En cuál debo confiar cuando quiero consultar el estado de sincronización NTP?
(Tenga en cuenta que tengo un sistema diferente (en una red diferente) para el que ambos métodos indican éxito y producen el tiempo correcto).