WS2008 NTP - Использование time.windows.com,0x9 - Время всегда смещено вперед
У меня есть контроллер домена, настроенный на использование time.windows.com (с установленными флагами 0x09). Я заметил, что часы системы часто бывают быстрыми - они варьируются от 10 до 45 минут. Я всегда должен сбрасывать системную дату / время обратно к тому, что должно быть.
Когда я запускаю "w32tm /query /source", он говорит мне, что использует time.windows.com, и, очевидно, я доверяю Microsoft, чтобы она не обслуживала неправильное время, но почему часы моего сервера быстры?
РЕДАКТИРОВАТЬ:
В системном журнале есть несколько событий Time-Service:
Код события: 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
Сообщение: поставщик времени NtpClient в настоящее время получает действительные данные времени от 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
2 ответа
У меня была та же проблема, и я, наконец, решил ее сегодня утром. Вот что я сделал:
Просмотрите реестр (все кусты и ключи в 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 [ * ]
Надеюсь это поможет!
Это DC, выполняющий роль эмулятора PDC? Вам нужно только настроить один с ролью эмулятора PDC с внешним источником времени - другие DC автоматически синхронизируются с 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>
)