![WS2008 NTP - Использование time.windows.com,0x9 - Время всегда смещено вперед](https://rvso.com/image/568258/WS2008%20NTP%20-%20%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20time.windows.com%2C0x9%20-%20%D0%92%D1%80%D0%B5%D0%BC%D1%8F%20%D0%B2%D1%81%D0%B5%D0%B3%D0%B4%D0%B0%20%D1%81%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%BE%20%D0%B2%D0%BF%D0%B5%D1%80%D0%B5%D0%B4.png)
У меня есть контроллер домена, настроенный на использование time.windows.com (с установленными флагами 0x09). Я заметил, что системные часы часто спешат - они колеблются от 10 до 45 минут. Мне всегда приходится сбрасывать системную дату/время на то, что должно быть.
Когда я запускаю «w32tm /query /source», он сообщает мне, что использует time.windows.com, и, очевидно, я доверяю Microsoft и не считаю, что она будет показывать неправильное время, но почему часы моего сервера спешат?
РЕДАКТИРОВАТЬ:
В системном журнале есть несколько событий службы времени:
Идентификатор события: 142
Сообщение: Служба времени прекратила рекламу в качестве источника времени, поскольку местные часы не синхронизированы.
Код события: 139
Сообщение: Служба времени начала рекламироваться как источник времени.
Эти два сообщения появляются парами примерно каждый час. Событие 142 появляется через 14–16 минут после 139.
Возвращаясь на несколько месяцев назад, можно отметить следующие события:
Код события: 35
Сообщение: Служба времени сейчас синхронизирует системное время с источником времени time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->65.55.21.21:123).
Код события: 37
Сообщение: Поставщик времени NTP-клиент в настоящее время получает действительные данные о времени от time.windows.com,0x9 (ntp.m|0x9|0.0.0.0:123->65.55.21.21:123).
Код события: 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
решение1
У меня была та же проблема, и я наконец решил ее сегодня утром. Вот что я сделал:
Проверьте реестр (все кусты и ключи в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time) как на сервере с проблемой времени, так и на другом сервере-участнике, который правильно синхронизирует NTP.
Я нашел несколько несоответствий и экспортировал необходимые ключи \ улья с рабочего сервера на сломанный. Следующие ключи были испорчены, вот хорошие ключи, которые я экспортировал с рабочего ящика на сломанный. Обратите внимание, что эти значения могут не совпадать с вашими, поэтому, пожалуйста, не используйте ключи ниже:
Безопасность Hive отсутствовала, поэтому я воссоздал ее с помощью этого:
[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 [ * ]
Надеюсь это поможет!
решение2
Это контроллер домена, выполняющий роль эмулятора 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>
)