Enterprise IT Solutions/Microsoft

Windows Time 서비스의 시간 동기화 방식과 설정 방법

iseop 2022. 1. 10. 20:14   인쇄용 버전

개요

얼마 전에 시간 동기화 문제때문에 중요한 서비스가 안 되어 트러블슈팅을 진행했었습니다.

그래서 이와 관련해서 Windows Time 서비스와 그 설정 도구인 w32tm 사용 방법에 대해 글을 적어보려 합니다.

 

NTP, SNTP, NT5DS, 하이퍼바이저

  • SNTP(Simple Network Time Protocol)는 RFC2030(v3)과 4330(v4)에 기술되어 있는 시간 동기화 프로토콜입니다. Windows 2003/XP와 그 이전 버전에서 사용했었다고 합니다. SNTP는 NTP를 단순화한 버전이라고 알고 있습니다. 여러 타임 소스를 지정하고, 우선순위가 높은 소스로부터 주기적으로 시간을 받아옵니다.
  • NTP는 SNTP보다 더 정밀한 시간 동기화 프로토콜입니다. 최근 Windows 서버/클라이언트는 NTP를 기본으로 사용합니다. w32tm /query /configuration 결과로 Type이 NTP라고 표시됩니다.
  • 도메인에 가입된 호스트의 시간 동기화 타입은 NT5DS라고 표시되는데, 이건 Windows 인증을 통해 인증된 NTP라고 합니다. 
  • 그리고 하이퍼바이저 상에서 실행되는 게스트 VM에서는 하이퍼바이저와 시간 동기화를 할 수 있는 별도의 방법이 있습니다. (VMware Tools, Hyper-V 등)

 

W32tm.exe 활용

현재 Time Source 확인하기: Hyper-V나 VMware에서 실행되는 게스트 OS에서는 Source가 각각

  • "VM IC Time Synchronization Provider" 또는
  • "vmwTimeProivider"라고 표시됩니다.
PS C:\Users\iseop> w32tm /query /status
Leap Indicator: 0(no warning)
Stratum: 4 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0360971s
Root Dispersion: 7.7858561s
ReferenceId: 0x34E772B7 (source IP:  52.231.114.183)
Last Successful Sync Time: 1/10/2022 8:03:50 PM
[[Source: time.windows.com,0x9]]
Poll Interval: 10 (1024s)

 

현재 설정값(레지스트리 값) 확인하기

  • Type이 NTP로 되어 있는 것을 확인할 수 있습니다.
  • 각 항목은 registry 또는 GPO를 통해서도 관리할 수 있습니다.
PS C:\Users\iseop> w32tm /query /configuration
[Configuration]

EventLogFlags: 2 (Local)
AnnounceFlags: 10 (Local)
TimeJumpAuditOffset: 28800 (Local)
MinPollInterval: 10 (Local)
MaxPollInterval: 15 (Local)
MaxNegPhaseCorrection: 54000 (Local)
MaxPosPhaseCorrection: 54000 (Local)
MaxAllowedPhaseOffset: 1 (Local)

FrequencyCorrectRate: 4 (Local)
PollAdjustFactor: 5 (Local)
LargePhaseOffset: 50000000 (Local)
LocalClockDispersion: 10 (Local)
HoldPeriod: 5 (Local)
PhaseCorrectRate: 1 (Local)
UpdateInterval: 360000 (Local)


[TimeProviders]

NtpClient (Local)
DllName: C:\WINDOWS\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 1 (Local)
AllowNonstandardModeCombinations: 1 (Local)
ResolvePeerBackoffMinutes: 15 (Local)
ResolvePeerBackoffMaxTimes: 7 (Local)
CompatibilityFlags: 2147483648 (Local)
EventLogFlags: 1 (Local)
LargeSampleSkew: 3 (Local)
SpecialPollInterval: 32768 (Local)
Type: NTP (Local)
NtpServer: time.windows.com,0x9 (Local)

NtpServer (Local)
DllName: C:\WINDOWS\system32\w32time.dll (Local)
Enabled: 0 (Local)
InputProvider: 0 (Local)

 

즉시 시간 동기화하기

PS C:\Users\iseop> w32tm /resync
Sending resync command to local computer
The command completed successfully.

 

참고