NTP는 작동하지만 시계가 다릅니다.

NTP는 작동하지만 시계가 다릅니다.

NTP를 사용하여 LAN에 있는 여러 컴퓨터를 동기화하려고 합니다(9개의 컴퓨터가 한 컴퓨터에서 복제되어 동일한 구성을 갖습니다).
모든 시스템은 Ubuntu 14.04를 호스트 OS로 사용하여 VirtualBox에서 FreeBSD 10.2를 실행하고 있으므로 게스트 OS를 추가할 필요가 없습니다.
Ubuntu 호스트와 ntp 기본 서버를 시간 서버로 사용합니다.

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

NTP가 작동하는 것 같습니다.

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

그러나 두 컴퓨터의 시간을 동시에 확인하면(tmux의 동기화 창을 사용하여) 동일하지 않습니다.

# 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

NTP는 무엇에 사용되나요?
모든 기계가 정확히 같은 시간을 갖도록 만드는 방법은 무엇입니까?

편집하다
@chexum의 제안을 따랐고 TZ=UTC date동일한 결과를 얻었습니다.

기계 1: 2015년 12월 20일 일요일 22:53:00 UTC

기계 2: 2015년 12월 20일 일요일 22:52:59 UTC

기계 3: 2015년 12월 20일 일요일 22:52:47 UTC

기계 4: 2015년 12월 20일 일요일 22:52:31 UTC

기계 5: 2015년 12월 20일 일요일 22:52:59 UTC

기계 6: 2015년 12월 20일 일요일 22:52:39 UTC

기계 7: 2015년 12월 20일 일요일 22:53:00 UTC

기계 8: 2015년 12월 20일 일요일 22:52:45 UTC

기계 9: 2015년 12월 20일 일요일 22:52:39 UTC

출력은 다음과 같습니다 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

답변1

실제 시간대 프로필을 확인할 수 있나요? 약 20초의 차이는 윤초로 구성된 시간대와 윤초로 구성된 시간대 간의 불일치를 나타냅니다.

> 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

TZ=UTC date시간대 차이를 배제하기 위해 모든 컴퓨터에서 인쇄 시간이 동일한지 확인하는 것이 더 쉬울 수도 있습니다 .

그러나 이는 정확히 26초를 차지해야 합니다(두 번째 경계에서 확인하면 추가 1초 차이가 설명될 수 있음). 위의 두 클라이언트가 이제 완벽하게 동기화되어 있습니까?

일부 GPS 스틱은 윤초 차이를 잊어버리는 것으로 악명 높지만 모든 클라이언트가 동일한 NTP 서버를 사용하는 경우 (나쁜) 로컬 GPS 장치를 NTP 시간 소스로 사용하는 경우에만 영향을 미칩니다.

답변2

내 생각에는 NTP가 ~15초 차이를 수정하기 위해 시작 시 ntpdate를 실행하지 않은 것 같습니다. NTP는 기본 서버를 선택했지만 동기화를 달성하려면 시간을 점진적으로 조정해야 합니다. ntpd를 중지해 보십시오. 연결 가능한 ntp 서버에 대해 ntpdate를 실행한 다음 ntp를 다시 시작하십시오.

관련 정보