Перепост отсюда: http://it-padla.livejournal.com/5896.html
Чисто для себя, чтобы не забыть.
Спасибо автору.
Возникла проблема с настройкой точного времени.
Чисто для себя, чтобы не забыть.
Спасибо автору.
Возникла проблема с настройкой точного времени.
Покопавшись в интернете, нашёл достаточно полную статью по этой теме.
Что мы имеем, три контроллера домена, работающих под Windows 2003 Server R2, кучу рабочих станций под Windows XP Professional SP3. В качестве ntp сервера в компании служит Cisco 2821
Признаками проблемы на DC, являющемся еще и PDC эмулятором является наличие следующих ошибок в Event log:
1.
Event Type: Warning
Event Source: W32Time
Event Category: None
Event ID: 47
Date: 17.11.2009
Time: 13:21:45
User: N/A
Computer: DC04
Description:
Time Provider NtpClient: No valid response has been received from manually configured peer ntp.mydomain.ua,0×1 after 8 attempts to contact it. This peer will be discarded as a time source and NtpClient will attempt to discover a new peer with this DNS name.
Event Source: W32Time
Event Category: None
Event ID: 47
Date: 17.11.2009
Time: 13:21:45
User: N/A
Computer: DC04
Description:
Time Provider NtpClient: No valid response has been received from manually configured peer ntp.mydomain.ua,0×1 after 8 attempts to contact it. This peer will be discarded as a time source and NtpClient will attempt to discover a new peer with this DNS name.
2.
Event Type: Error
Event Source: W32Time
Event Category: None
Event ID: 29
Date: 17.11.2009
Time: 13:21:45
User: N/A
Computer: DC04
Description:
The time provider NtpClient is configured to acquire time from one or more time sources, however none of the sources are currently accessible. No attempt to contact a source will be made for 15 minutes. NtpClient has no source of accurate time.
Event Source: W32Time
Event Category: None
Event ID: 29
Date: 17.11.2009
Time: 13:21:45
User: N/A
Computer: DC04
Description:
The time provider NtpClient is configured to acquire time from one or more time sources, however none of the sources are currently accessible. No attempt to contact a source will be made for 15 minutes. NtpClient has no source of accurate time.
3.
Event Type: Information
Event Source: W32Time
Event Category: None
Event ID: 38
Date: 17.11.2009
Time: 14:06:45
User: N/A
Computer: DC04
Description:
The time provider NtpClient cannot reach or is currently receiving invalid time data from ntp.mydomain.ua
(ntp.m|0×1|192.168.0.50:123->10.10.72.17:123).
Event Source: W32Time
Event Category: None
Event ID: 38
Date: 17.11.2009
Time: 14:06:45
User: N/A
Computer: DC04
Description:
The time provider NtpClient cannot reach or is currently receiving invalid time data from ntp.mydomain.ua
(ntp.m|0×1|192.168.0.50:123->10.10.72.17:123).
На остальных контроллерах домена, вместо Event ID 47, присутствует Event ID: 24
Event Type: Warning
Event Source: W32Time
Event Category: None
Event ID: 24
Date: 18.11.2009
Time: 6:46:56
User: N/A
Computer: DC03
Description:
Time Provider NtpClient: No valid response has been received from domain controller pdacemul.addomain after 8 attempts to contact it. This domain controller will be discarded as a time source and NtpClient will attempt to discover a new domain controller from which to synchronize.
Event Source: W32Time
Event Category: None
Event ID: 24
Date: 18.11.2009
Time: 6:46:56
User: N/A
Computer: DC03
Description:
Time Provider NtpClient: No valid response has been received from domain controller pdacemul.addomain after 8 attempts to contact it. This domain controller will be discarded as a time source and NtpClient will attempt to discover a new domain controller from which to synchronize.
Итак, вот процедура по восстановлению работоспособности сервиса w32tm
- Находим все DC и того, кто из них PDC эмулятор
netdom query fsmo - на PDC делаем следующее
w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly
которая произведет 5 сравнений с источником, а затем w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
которая непосредственно выполнит настройку. Можно указать сразу несколько серверов, в этом случае необходимо раздели имена серверов пробелом и всех их заключит в ковычки: /manualpeerlist:"time.windows.com clock0.macomnet.ru"
- Теперь проверяю доступность с PDC эмулятора сервера времени.
portqry –n ntp.mydomain.ua –e 123 –p UDP Querying target system called:
ntp.mydomain.ua
Attempting to resolve name to IP address…
Name resolved to 10.10.72.17UDP port 123 (ntp service): LISTENING or FILTEREDДолжно быть именно так “LISTENING or FILTERED”Эта утилита входит в комплект Support Tools для Windows 2003 Server. К сожалению, на Windows 2008 R2 она не работает. - Затем, с помощью regedit открываю параметры ntp сервера
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServerТам должен быть записан ip адрес или полной имя нашего ntp сервера и запись должна обязательно заканчиваться строкой “,0×1”. Кавычки, понятное дело, нужно убрать. Кстати, к этому суффиксу я вернусь позже. Для уверенности в том, что тут нету ошибки, неплохо бы попингать скопированный оттуда адрес или имя. - Там же, следует перейти к параметру
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Typeи убедиться, что там прописано NTP, а не NT5DS - Теперь следует проверить еще одно значение
HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlagsтут должна быть 5 - Перезапускаем сервис времени:
net stop w32time && net start w32time - Теперь перезапускаю синхронизацию:
w32tm /resync /rediscover - На остальных контроллерах домена рекомендуется запустить:w32tm /unregister
w32tm /registerЭта операция удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре. - Очень рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.
- Если на pdc эмуляторе ошибки появляются заново, как в моем случае, то стоит попробовать заменить значение 0×1 на 0×08 в параметре
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServerчтобы стали посылаться стандартные клиентские запросы. - Перезапускаем сервис времени
net stop w32time && net start w32time - Очень рекомендуется проверить все политики, имеющие отношение к настройкам сервиса времени, а именно:Default Domain Controllers group policy
Default Domain group policy
ну и все другие, которые имеют отношение к домен контроллерам, серверам и рабочим станциям и в которых изменены любые значения в разделеComputer configuration/Administrative Templates /System/Windows Time service/Time ProvidersУбедитесь, что все значения там в состоянии “not configured”. При необходимости, играть с параметрами следует позже. - Если что-то меняли в политике, то перезапускаем сервис времени:
net stop w32time && net start w32time - Если и после этого ничего не помогло, то нужно обнулить параметры сервиса времени и на pdc эмуляторе
net stop w32time
w32tm /unregister
w32tm /registerпосле чего нужно будет настраивать все параметры заново, начиная с п.3. Если вдруг, на этапе удаления напишет про запрет доступа, то нужно перезагрузиться. - В особо тяжелых случаях может помочь включение лога для сервиса. Для настройки этого используются три параметра в реестре по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
Если нижеприведенных ключей там нету, а их нету по умолчанию, то их следует создатьValue Name: FileLogSize
Data Type: DWORD
Value data: 10000000Этот параметр определяет максимальный размер файла лога в байтах. Значение 10000000 байт ограничит файл приблизительно в 10 Mb.Value name: FileLogName
Data Type: REG_SZ (String)
Value data: C:\Test\w32time_log.txtЭтот параметр определяет место и имя файла лога.Value name: FileLogEntries
Data Type: REG_SZ (String)
Value: 0-116Этот параметр определяет уровень детализации лога. Диапазон значений параметра 0-116.(Если ввести туда 0-300, то уровень детализации станет максимальным)Вместо изменения значений в реестре, можно то же самое сделать из командной строкиw32tm /debug /enable /file:C:\Test\w32time_log.txt /size:100000 /entries:0-300Чтобы выключить логи отладки можно ввести командуw32tm /debug /disable
У меня этот алгоритм сработал и, наконец-то, вопрос с временем был закрыт.
Кстати, проверить что со временем все в порядке можно так:
w32tm /monitor
dc01.addomain [192.168.0.60]:
ICMP: 0ms delay.
NTP: +0.0009899s offset from pdcemul.addomain
RefID: pdcemul.addomain [192.168.0.50]
dc03.addomain [192.168.0.20]:
ICMP: 0ms delay.
NTP: -0.0014416s offset from dc04.addomain
RefID: pdcemul.addomain [192.168.0.50]
pdcemul.addomain *** PDC *** [192.168.0.50]:
ICMP: 0ms delay.
NTP: +0.0000000s offset from pdcemul.addomain
RefID: ntp.mydomain.ua [10.10.72.17]
*****************************
и выдержка из support.microsoft.com
*****************************
Информация в данной статье относится к следующим продуктам.
Чтобы настроить внутренний сервер времени для синхронизации с внешним
источником показаний времени, выполните указанные ниже действия.
ICMP: 0ms delay.
NTP: +0.0009899s offset from pdcemul.addomain
RefID: pdcemul.addomain [192.168.0.50]
dc03.addomain [192.168.0.20]:
ICMP: 0ms delay.
NTP: -0.0014416s offset from dc04.addomain
RefID: pdcemul.addomain [192.168.0.50]
pdcemul.addomain *** PDC *** [192.168.0.50]:
ICMP: 0ms delay.
NTP: +0.0000000s offset from pdcemul.addomain
RefID: ntp.mydomain.ua [10.10.72.17]
*****************************
и выдержка из support.microsoft.com
*****************************
Информация в данной статье относится к следующим продуктам.
- Windows Server 2012 Standard
- Windows Server 2012 Essentials
- Windows Server 2008 R2 Standard
- Windows Server 2008 R2 Datacenter
- Windows Server 2008 R2 Enterprise
- Windows Server 2008 Standard
- Windows Server 2008 Enterprise
- Windows Server 2008 Datacenter
- Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
- Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
- Microsoft Windows Server 2003, Standard Edition (32-bit x86)
- Microsoft Windows Server 2003, Web Edition
- Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
- Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
- Windows Server 2008 R2 Service Pack 1
- Измените тип сервера на NTP. Для этого выполните следующие действия.
- Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК.
- Найдите и выделите следующий раздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
- В правой области щелкните правой кнопкой мыши параметр Тип, а затем выберите команду Изменить.
- В появившемся окне Изменение строкового параметра в поле Значение введите NTP и нажмите кнопку ОК.
- Присвойте параметру
AnnounceFlagsзначение 5. Для этого выполните следующие действия.
- Найдите и выделите следующий раздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
- В правой области щелкните правой кнопкой мыши параметр AnnounceFlags, а затем выберите команду Изменить.
- В появившемся окне Изменение параметра DWORD в поле Значение введите 5 и нажмите
кнопку ОК.
Свернуть это изображение- Если полномочный сервер времени, на котором флаг AnnounceFlag равен 0x5, не синхронизируется с вышестоящим сервером, клиентский сервер может неправильно синхронизироваться с ним при возобновлении синхронизации между полномочным сервером времени и вышестоящим сервером. Соответственно, при наличии проблем с сетевым подключением или иных потенциальных причин сбоя синхронизации полномочного сервера с вышестоящим для флага AnnounceFlag следует задать значение 0xA, а не 0x5.
- Если полномочный сервер времени, на котором флаг AnnounceFlag равен 0x5, синхронизируется с вышестоящим сервером по интервалу SpecialPollInterval, клиентский сервер может неправильно синхронизироваться с ним после перезагрузки полномочного сервера времени. Соответственно, если для полномочного сервера времени настроена синхронизация с вышестоящим NTP-сервером по фиксированному интервалу SpecialPollInterval, для флага AnnounceFlag следует задать значение 0xA, а не 0x5.
- Найдите и выделите следующий раздел
реестра:
- Включите сервер NTP. Для этого выполните следующие действия.
- Найдите и выделите следующий раздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
- На правой панели щелкните правой кнопкой мыши параметр Enabled, а затем выберите команду Изменить.
- В появившемся окне Изменение параметра DWORD в поле Значение введите 1 и нажмите кнопку ОК.
- Найдите и выделите следующий раздел
реестра:
- Укажите источники времени. Для этого выполните следующие действия.
- Найдите и выделите следующий подраздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
- На правой панели щелкните правой кнопкой мыши параметр NtpServer, а затем выберите команду Изменить.
- В появившемся окне Изменение строкового параметра в поле Значение введите Peers и нажмите кнопку ОК.
Свернуть это изображение
- Найдите и выделите следующий подраздел
реестра:
- Задайте интервал опроса. Для этого выполните следующие действия.
- Найдите и выделите следующий раздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
- На правой панели щелкните правой кнопкой мыши параметр SpecialPollInterval, а затем выберите команду Изменить.
- В появившемся окне Изменение параметра DWORD в поле Значение введите TimeInSeconds и нажмите кнопку
ОК.
Свернуть это изображение
- Найдите и выделите следующий раздел
реестра:
- Задайте параметры, определяющие максимальную величину коррекции времени. Для
этого выполните следующие действия.
- Найдите и выделите следующий раздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
- На правой панели щелкните правой кнопкой мыши параметр MaxPosPhaseCorrection, а затем выберите команду Изменить.
- В диалоговом окне Изменение параметра DWORD в разделе Система исчисления выберите значение Десятичная.
- В появившемся окне Изменение параметра DWORD в поле Значение введите TimeInSeconds и нажмите кнопку
ОК.
Свернуть это изображение - Найдите и выделите следующий раздел
реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
- На правой панели щелкните правой кнопкой мыши параметр MaxNegPhaseCorrection, а затем выберите команду Изменить.
- В диалоговом окне Изменение параметра DWORD в разделе Система исчисления выберите значение Десятичная.
- В появившемся окне Изменение параметра DWORD в поле Значение введите TimeInSeconds и нажмите кнопку
ОК.
Свернуть это изображение
- Найдите и выделите следующий раздел
реестра:
- Закройте редактор реестра.
- Для того, чтобы перезапустить службу времени, введите в командной строке
следующую команду и нажмите клавишу Ввод:
net stop w32time && net start w32time