Назад | Перейти на главную страницу

WS2008 NTP - Использование time.windows.com, 0x9 - Время всегда смещено вперед

У меня есть контроллер домена, настроенный на использование time.windows.com (с установленными флагами 0x09). Я заметил, что часто системные часы бывают быстрыми - от 10 минут до 45 минут. Мне всегда приходится сбрасывать системную дату / время обратно на то, что должно быть.

Когда я запускаю "w32tm / query / source", он сообщает мне, что использует time.windows.com, и, очевидно, я верю, что Microsoft не обслуживает неправильное время, но почему часы моего сервера быстрые?

РЕДАКТИРОВАТЬ:

В системном журнале есть несколько событий службы времени:

ID события: 142

Сообщение: служба времени прекратила рекламировать как источник времени, потому что локальные часы не синхронизированы.

ID события: 139

Сообщение: служба времени начала показывать рекламу в качестве источника времени.

Эти два сообщения появляются парами примерно каждый час. Событие 142 появляется через 14–16 минут после появления 139.

Возвращаясь на несколько месяцев назад, появляются следующие события:

ID события: 35

Сообщение: служба времени теперь синхронизирует системное время с источником времени time.windows.com, 0x9 (ntp.m | 0x9 | 0.0.0.0: 123-> 65.55.21.21:123).

ID события: 37

Сообщение: поставщик времени NtpClient в настоящее время получает действительные данные времени от time.windows.com, 0x9 (ntp.m | 0x9 | 0.0.0.0: 123-> 65.55.21.21:123).

ID события: 47

Сообщение: поставщик времени NtpClient: не получен действительный ответ от настроенного вручную узла time.windows.com, 0x9 после 8 попыток связаться с ним. Этот одноранговый узел будет отклонен как источник времени, и NtpClient попытается обнаружить нового однорангового узла с этим DNS-именем. Ошибка: образец времени был отклонен, потому что: одноранговый узел не синхронизирован или прошло слишком много времени с момента последней синхронизации однорангового узла.

Эти три события появляются в журнале только один раз, еще в октябре.

РЕДАКТИРОВАТЬ:

Вот результат работы w32tm / query / status / verbose:

enter code here

C:\Users\Administrator>w32tm /query /status /verbose
Leap Indicator: 3(last minute has 61 seconds)
Stratum: 3 (secondary reference - syncd by (S)NTP)
Precision: -6 (15.625ms per tick)
Root Delay: 0.1794868s
Root Dispersion: 4.6419912s
ReferenceId: 0x41371515 (source IP:  65.55.21.21)
Last Successful Sync Time: 2011-12-05 23:25:18
Source: time.windows.com,0x9
Poll Interval: 6 (64s)

Phase Offset: 0.0000695s
ClockRate: 0.0156243s
State Machine: 1 (Hold)
Time Source Flags: 0 (None)
Server Role: 0 (None)
Last Sync Error: 2 (The computer did not resync because only stale time data was available.)
Time since Last Good Sync Time: 1281.9919104s

У меня была такая же проблема, и я наконец решил ее сегодня утром. Вот что я сделал:

Посмотрите в реестр (все кусты и ключи в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time) как на сервере с проблемой времени, так и на другом рядовом сервере, который правильно синхронизирует ntp.

Нашел несколько неточностей и экспортировал нужные ключи \ кусты с рабочего сервера на сломанный. Следующие ключи были испорчены, вот хорошие ключи, которые я экспортировал из рабочей коробки на сломанную. Обратите внимание, что эти значения могут отличаться от ваших, поэтому, пожалуйста, не используйте ключи ниже:

Улей безопасности отсутствовал, поэтому я воссоздал его следующим образом:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Security]
"Security"=hex:01,00,04,80,84,00,00,00,90,00,00,00,00,00,00,00,14,00,00,00,02,\
  00,70,00,05,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,\
  00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,\
  00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,04,00,00,00,00,00,14,00,\
  8d,01,02,00,01,01,00,00,00,00,00,05,06,00,00,00,00,00,14,00,9d,01,02,00,01,\
  01,00,00,00,00,00,05,13,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,\
  00,00,00,00,00,05,12,00,00,00

И заметил, что у куста NtpServer отсутствовали ключи, это было исправлено путем импорта:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer]
"DllName"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,\
  00,33,00,32,00,74,00,69,00,6d,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
"Enabled"=dword:00000000
"InputProvider"=dword:00000000
"AllowNonstandardModeCombinations"=dword:00000001
"EventLogFlags"=dword:00000000
"ChainEntryTimeout"=dword:00000010
"ChainMaxEntries"=dword:00000080
"ChainMaxHostEntries"=dword:00000004
"ChainDisable"=dword:00000000
"ChainLoggingRate"=dword:0000001e

Затем я изменил следующие существующие ключи, чтобы уменьшить фазу:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Config] 
"MaxAllowedPhaseOffset"=dword:00000001 
"SpecialPollInterval"=dword:00000005 
"SpecialInterval"=dword:00000001

Убедившись, что реестр верен, выполните следующие команды через командную строку от имени администратора:

w32tm /config /manualpeerlist:"YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM,0x01" /syncfromflags:MANUAL /update
net stop w32time && net start w32time
w32tm /resync /computer:YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM /rediscover

Подождал несколько минут, затем проверил синхронизацию

w32tm /monitor /computers:YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM

Это должно выглядеть примерно так:

YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM[IPOFYOUR.NTP.OR.DC:123]:
    ICMP: 0ms delay
    NTP: +0.0496804s offset from local clock
        RefID: YOURNTPSERVER-OR-PDCHERE [IPOFYOUR.NTP.OR.PDC]
        Stratum: 3

Затем проверьте фазу:

w32tm /stripchart /computer:YOURNTPSERVER-OR-DCHERE.YOURDOMAIN.COM

Должно получиться так:

10:08:42 d:+00.0000000s o:+00.0139224s  [           *           ]
10:08:44 d:+00.0000000s o:-00.0015659s  [           *           ]
10:08:46 d:+00.0000000s o:-00.0014534s  [           *           ]
10:08:48 d:+00.0000000s o:-00.0013418s  [           *           ]
10:08:50 d:+00.0000000s o:-00.0012421s  [           *           ]

Надеюсь это поможет!

Это контроллер домена выполняет роль эмулятора PDC? Вам нужно будет только настроить один с ролью эмулятора PDC с внешним источником времени - другие контроллеры домена автоматически синхронизируются с PDC.

Текущий статус службы времени можно получить через w32tm /query /status /verbose - он должен предоставить вам некоторую информацию о состоянии ваших локальных часов, отклонении при последней синхронизации и точности. Согласно вашим зарегистрированным событиям, ваши местные часы кажутся слишком ненадежными для источника времени. Интервал синхронизации w32time по умолчанию будет составлять 1024 секунды после некоторых успешных синхронизаций - это около 17 минут, что примерно равно разнице во времени между вашими событиями 139 и 142.

Если это виртуализированная система, вам следует рассмотреть альтернативные аппаратные эмуляции таймера. VMWare опубликовала исчерпывающий документ по этой теме которую стоит прочитать, даже если вы используете разные продукты виртуализации.

Если это физическая система, рассмотрите возможность уменьшения MaxPollInterval для службы w32time в качестве временного решения или перемещения роли эмулятора PDC на другой компьютер с более надежными часами.

Изменить: проблема «устаревших данных времени» действительно может быть проблемой с сервером времени, который вы пытаетесь запросить. Попробуйте заменить "time.windows.com" по умолчанию на сервер из общедоступного пула NTP (<region>.pool.ntp.org) в вашей конфигурации NTP (просто используйте net time /setsntp:<servername>)