NTP funciona, mas o relógio não é o mesmo

3

Estou tentando sincronizar várias máquinas (9 máquinas clonadas de uma máquina para que tenham exatamente a mesma configuração) em uma rede local usando o NTP.
Todas as máquinas rodam o FreeBSD 10.2 no VirtualBox com o Ubuntu 14.04 como host OS & sem adições de convidados.
Estou usando o host Ubuntu e os servidores padrão do ntp como servidor de horário:

logfile /var/log/ntpd
driftfile /var/db/ntp.drift
logconfig=allsync + allclock

server pool.ntp.org iburst
server 192.168.1.110 iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10

Parece que o NTP está funcionando:

root@vccc:~ # ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.1.110   173.44.32.10     3 u    8   64    1    0.168   36.817   0.280
 LOCAL(0)        .LOCL.          10 l    -   64    0    0.000    0.000   0.000
 176.9.253.76 (n 129.70.132.33    3 u    1   64    1  231.664   99.656  17.441

Mas quando eu verifico o tempo em duas máquinas (usando painéis sincronizados no tmux) ao mesmo tempo, elas não são as mesmas:

# for i in {1..5};do date && sleep 1; done │# for i in {1..5};do date && sleep 1; done
Mon Dec 21 00:43:52 IRST 2015              │Mon Dec 21 00:43:32 IRST 2015
Mon Dec 21 00:43:53 IRST 2015              │Mon Dec 21 00:43:33 IRST 2015
Mon Dec 21 00:43:54 IRST 2015              │Mon Dec 21 00:43:34 IRST 2015
Mon Dec 21 00:43:55 IRST 2015              │Mon Dec 21 00:43:35 IRST 2015
Mon Dec 21 00:43:56 IRST 2015              │Mon Dec 21 00:43:36 IRST 2015

O que é com o NTP?
Como posso fazer todas as máquinas terem exatamente o mesmo tempo?

Editar
Eu usei TZ=UTC date como @chexum sugerido, mas obtive o mesmo resultado:

Machine 1: Sun Dec 20 22:53:00 UTC 2015

Machine 2: Sun Dec 20 22:52:59 UTC 2015

Machine 3: Sun Dec 20 22:52:47 UTC 2015

Machine 4: Sun Dec 20 22:52:31 UTC 2015

Machine 5: Sun Dec 20 22:52:59 UTC 2015

Machine 6: Sun Dec 20 22:52:39 UTC 2015

Machine 7: Sun Dec 20 22:53:00 UTC 2015

Machine 8: Sun Dec 20 22:52:45 UTC 2015

Machine 9: Sun Dec 20 22:52:39 UTC 2015

E aqui está a saída de ntpq -pn|grep '*' :

Machine #1:  
*194.225.150.25  193.67.79.202    2 u   13   64    1   15.677   57.252   9.383

Machine #2:  
*194.225.150.25  193.67.79.202    2 u   16   64    1   17.431   77.865  26.331

Machine #3:  
*192.168.1.110   91.189.94.4      3 u   16   64    1    0.618  106.251  49.607

Machine #4:  
*194.225.50.25   129.70.132.33    3 u   16   64    1   16.556  258.324 111.098

Machine #5:  
*194.225.50.25   129.70.132.33    3 u   19   64    1   16.290   95.826  34.486

Machine #6:  
*192.168.1.110   91.189.94.4      3 u   18   64    1    1.111  132.498  79.517

Machine #7:  
*194.225.150.25  193.67.79.202    2 u    2   64    1   15.815   33.073   1.654

Machine #8:  
*194.225.50.25   129.70.132.33    3 u   19   64    1   15.812  135.808  58.548

Machine #9:  
*192.168.1.110   91.189.94.4      3 u    1   64    1    0.148   48.311   0.015
    
por RYN 20.12.2015 / 22:19

2 respostas

2

Você pode verificar o arquivo de configuração real do fuso horário? A diferença de ~ 20 segundos sugere que há uma incompatibilidade entre os fusos horários, e um é configurado com segundos bissextos e o outro sem segundos bissextos:

> TZ=right/Europe/London date; TZ=Europe/London date
Sun Dec 20 22:34:45 GMT 2015
Sun Dec 20 22:35:10 GMT 2015

Talvez seja mais fácil verificar se TZ=UTC date é impresso ao mesmo tempo em todas as máquinas para descartar diferenças nos fusos horários.

Isso deve levar em conta 26 segundos exatamente (1 diferença adicional de segundos pode ser explicada se marcada logo no segundo limite). Você tem certeza de que ambos os clientes acima estão sincronizados perfeitamente agora?

Alguns GPS também notam as diferenças de segundos saltantes, mas se todos os seus clientes estiverem usando o mesmo servidor NTP, isso não terá efeito - apenas se você usar um dispositivo GPS local (ruim) como o tempo NTP. fonte.

    
por 20.12.2015 / 23:43
1

Parece-me que o NTP não executou o ntpdate na inicialização para corrigir as discrepâncias de ~ 15 segundos. O NTP selecionou os servidores preferidos, mas está tendo que gradualmente reduzir o tempo para sincronizar. Tente parar o ntpd; execute o ntpdate em qualquer servidor ntp acessível e reinicie o ntp.

    
por 22.12.2015 / 01:00