윈도우11 NTP 서버 여러 개를 사용해 시간 동기화하는 방법

🏷️ 윈도우11

윈도우11에 기본값으로 설정된 Microsoft NTP 서버와 시간 동기화가 제대로 이뤄지지 않으면 SSL 인증 오류, 로그 시간 틀어짐, 클라우드 동기화 지연과 같은 문제가 발생할 수 있습니다.

일반적으로 윈도우 설정 → 날짜 및 시간에서 시간 서버를 하나 등록할 수 있는데요. 낮은 확률이지만 특정 NTP 서버와 동기화가 지연되는 경우가 발생할 수 있습니다.

시간 동기화 오류가 자주 발생한다면 w32time 프로세스에 여러 NTP 서버 주소를 등록하면 연결이 가장 빠른 원본 서버를 자동으로 골라 동기화할 수 있습니다.

w32time 프로세스란?

윈도우11 시간 서버 동기화 화면

윈도우의 시간 동기화는 Windows Time Service(W32Time)가 담당합니다. 이 서비스는 svchost 안에서 실행되며, 날짜 및 시간에서 지정한 NTP 서버를 기준으로 PC 시계를 자동으로 보정합니다.

윈도우 설정 화면에서는 NTP 서버를 하나만 선택할 수 있지만, 명령줄 도구를 사용하면 NTP 서버를 여러 개 등록할 수 있습니다.

W32Time은 등록된 서버들과 주기적으로 통신해 지연(latency), 변동폭(jitter), 원본까지의 전달 단계(stratum) 등을 평가하고, 가장 안정적인 소스를 선택해 동기화합니다.

이렇게 설정하면 서버 한 곳의 응답이 느리거나 동기화가 멈춰도 다른 서버로 자동 대체되므로 시간이 틀어질 위험을 크게 줄일 수 있습니다.

명령어로 NTP 서버 여러 개 등록하기

NTP 서버 피어 설정

명령 프롬프트를 관리자 권한으로 실행한 다음, 아래 명령어를 실행합니다.

w32tm /config /manualpeerlist:"time.google.com,0x9 time.cloudflare.com,0x9 time.windows.com,0x9 0.pool.ntp.org,0x9" /syncfromflags:manual /update

w32tm 명령어의 피어 리스트 옵션을 사용하면 여러 서버를 등록할 수 있습니다.

서버는 공백으로 구분하며 각 서버 뒤에 ,0x9 플래그를 붙여 클라이언트의 요청(0x8)과 특수 풀링 간격 사용(0x1)을 명시할 수 있습니다.

이 부분을 빼면 일부 NTP 서버가 응답하지 않을 수 있으므로 서버 주소 뒤에 포함하는 것이 좋습니다.

NTP 서버 피어 상태 확인

NTP 서버가 피어 목록에 등록되었는지 확인하려면 아래 명령어를 사용합니다. 필자의 경우 4개의 서버를 등록한 것이 확인됩니다.

w32tm /query /peers
시간 동기화 상태 확인

아래 명령어를 사용하면 로컬 PC와 시간 지연 오차, 동기화된 시간, 동기화에 사용된 NTP 서버(원본) 정보를 확인할 수 있습니다.

w32tm /query /status

참고 : Time synchronization may not succeed when you try to synchronize with a non-Windows NTP server

그룹 정책 편집으로 NTP 서버 여러 개 등록하기

사내 시스템 관리자라면 그룹 정책을 통해 일괄적으로 적용할 수 있습니다.

Windows NTP 클라이언트 구성

Win + R 키를 누른 후 gpedit.msc를 입력해 실행합니다.

왼쪽 트리 메뉴에서 [컴퓨터 구성 → 관리 템플릿 → 시스템 → Windows 시간 서비스 → 시간 공급자] 항목으로 이동한 다음 Windows NTP 클라이언트 구성을 더블 클릭합니다.

NTP 클라이언트 그룹 정책 설정
  1. 구성 : 사용
  2. NtpServer : time.google.com,0x9 time.cloudflare.com,0x9 time.windows.com,0x9 0.pool.ntp.org,0x9
  3. Type : NTP
  4. SpecialPollInterval: 3600

SpecialPollInterval은 너무 짧게 잡으면 불필요한 트래픽이 발생해 오히려 도익화가 불안정해질 수 있으므로 3600초 정도로 설정합니다.

설정을 마친 후, 컴퓨터를 재부팅하거나 아래 명령어를 각 PC에서 한 줄씩 실행해 바로 적용할 수 있습니다.

gpupdate /force
net stop w32time && net start w32time
w32tm /resync /force=

레지스트리로 NTP 서버 설정 배포하기

AD로 묶여있지 않은 소규모 환경에서는 레지스트리를 통해 여러 PC에 적용할 수 있습니다. 아래 내용을 .reg 파일로 저장한 다음 더블 클릭해서 적용합니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters]
"NtpServer"="time.google.com,0x9 time.cloudflare.com,0x9 time.windows.com,0x9 0.pool.ntp.org,0x9"
"Type"="NTP"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
"SpecialPollInterval"=dword:00000E10 ; 3600초
"Enabled"=dword:00000001

마치며

단일 NTP 서버와 동기화하는 경우, 네트워크 상태, 서버 응답에 따라 동기화가 지연될 수 있고 이로 인해 시간이 틀어져 예상치 못한 오류가 발생할 수 있습니다.

특히 개발, 서버 환경에서 시간을 기준으로 하는 이벤트 로깅을 할 때 오차가 발생하면 큰 이슈로 번질 수 있으니 여러 NTP 서버를 등록해 시간과 관련된 오류를 최소화할 수 있으니 활용해 보시길 바랍니다.

NTP 서버

저자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
올바른 이메일 주소를 입력해주세요.

같은 카테고리 글