Управление временем — один из ключевых аспектов системного администрирования. Как правило, все клиентские серверы и рабочие станции синхронизируют время с доменом Active Directory, однако откуда берется точное время в AD? Это зависит от разных факторов. В стандартной конфигурации время синхронизируется с серверами Microsoft, а виртуальные машины обычно получают данные от хост-сервера.
Лучше всего задать единый источник данных о точном времени для всех компьютеров в корпоративной сети — сервер (или несколько серверов), с которым будут синхронизироваться все системы. Это может быть ресурс или пул ресурсов в Интернете, либо локальный сервер. Так или иначе, с источником точного времени стоит определиться заранее.
За синхронизацию компьютеров и серверов Windows отвечает сетвой протокол Network Time Protocol (NTP). NTP использует для своей работы протокол UDP порт по умолчанию 123. Что бы в дальнейшем можно было настроить работу этого сетевого протокола, необходимо проверить, не блокирует ли этот порт фаерволл.
Способы указания NTP Сервера.
1) Команда w32tm позволяет задать список пиров, предоставляющих информацию о точном времени для домена. Чтобы получить дополнительные сведения о команде w32tm, введите в командной строке указанную команду w32tm /?
Первым, что необходимо сделать, это выяснить в каком состоянии находятся контролеры домена в домене. Для этого запускаем в командной строке команду (если у вас права доменного администратора, то можете запустить командную строку на своей рабочей станции)
w32tm /monitor — команда позволяет посмотреть с каким сервером (серверами)/сервисом происходит синхронизация и какая разница во времени с эталонным севером.
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update — этой командой мы указываем с каким сервисом/сервером будет происходить синхронизация ( в данном примере с time.windows.com).
Эта команда выполняется на контроллере домена однократно и записывает указанные адреса в реестр ( по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\Parametrs в параметре NTPServer должно быть прописано time.windows.com). Можно указать сразу несколько серверов, разделенных пробелами.
2) Еще один способ указать контролеру домена сервер с кем он будет синхронизироваться по времени, это локальные или групповые политики. Запускаем реестр- Нажмите кнопку Пуск, выберите команду Выполнить, введите в командную строку gpedit.msc и нажмите кнопку ОК. Заходим «Конфигурация компьютера- Политики- Административные шаблоны- Система- Служба времени Windows- Поставщики времени» и настраиваем политику. В данном примере в значении NTPServer прописываем time.windows.com, в значении Тип указываем NTP. Тип- указывает узлы одноранговой сети, принимающие синхронизацию следующих типов:
NoSync— Служба времени не синхронизируется с другими источниками.
NTP- Служба времени выполняет синхронизацию с серверами, указанными в записи реестра NtpServer.
NT5DS- Служба времени выполняет синхронизацию на основе иерархии домена.
AllSync- Служба времени использует все доступные механизмы синхронизации.
Значение CrossSiteSyncFlags выбираем 2.
CrossSiteSyncFlags. Определяет возможность выбора службой партнеров по синхронизации за пределами домена компьютера.
Нет 0
PdcOnly 1
Все 2
В значении ResolvePeerBackoffMinutes прописываем 15
ResolvePeerBackoffMinutes- указывает первоначальный интервал ожидания (в минутах) перед тем, как начать поиск узла одноранговой сети для синхронизации. Если службе времени Windows не удается успешно синхронизироваться с источником времени, будут выполняться повторные попытки с использованием указанных значений параметров ResolvePeerBackoffMinutes и ResolvePeerBackoffMaxTimes.
В значении ResolvePeerBackoffMaxTimes прописываем 7
ResolvePeerBackoffMaxTimes- указывает максимальное число раз удвоения интервала ожидания в случае, если повторяющиеся попытки поиска узла одноранговой сети для синхронизации не дали результата. Нулевое значение предполагает, что интервал ожидания всегда равен первоначальному, указанному в параметре ResolvePeerBackoffMinutes.
В значении SpecialPollInterval прописываем 3600
SpecialPollInterval- указывает интервал специального опроса (в секундах) для узлов одноранговой сети, настроенных вручную. Если специальный опрос включен, то служба времени Windows будет использовать его интервал вместо динамического значения, определяемого с помощью алгоритмов синхронизации, встроенных в службу времени Windows.
Если вы создали политику, то ее нужно применить на все контролеры домены.
Я очень надеюсь, моя статья помогла Вам! Просьба поделиться ссылкой с друзьями:
обновлено 26.03.2012
Все хотят видеть на компьютере точное время, кроме того, это очень важно для нормального функционирования домена Windows и AD. Казалось бы, чего проще, настраиваешь PDC эмулятор на синхронизацию с каким-нибудь ntp и все становится на места само собой … Но нет, уже несколько раз, наблюдалась рассинхронизация контроллеров домена между собой и жалобы пользователей на то, что наше время отличается от точного на пару минут.
Казалось бы, смешная проблема – пару минут, но для некоторой работы и пара минут важно. Особенно, если это редактора новостной ленты www.korrespondent.net. Правда были еще и шуточные жалобы, что они из-за этой проблемы целых 2, 3 или 5 минут перерабатывают
Стандартные “танцы с бубнами”, которые делал я, а потом и наш сетевой инженер, по руководству от Microsoft помогали, но не долго. Т.е. время сходится, ошибки из лога исчезают, а через пару часов, или, через сутки все начинается заново. А потом, через пару-тройку недель, или месяц-другой, ошибка снова достигает размера более 2-х минут и все заново.
Итак, хочешь что-то сделать хорошо – сделай это сам. Что мы имеем, три контроллера домена, работающих под 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,0x1 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.
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|0x1|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.
Итак, вот процедура по восстановлению работоспособности сервиса w32tm
- Если кто не знает этого наизусть, то так вот находим все DC и того, кто из них PDC эмулятор
netdom query fsmo - Теперь проверяю доступность с 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 сервера и запись должна обязательно заканчиваться строкой “,0x1”. Кавычки, понятное дело, нужно убрать. Кстати, к этому суффиксу я вернусь позже. Для уверенности в том, что тут нету ошибки, неплохо бы попингать скопированный оттуда адрес или имя. - Там же, следует перейти к параметру
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 эмуляторе ошибки появляются заново, как в моем случае, то стоит попробовать заменить значение 0x1 на 0x08 в параметре
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]
Один из возможных источников проблем с синхронизацией времени — смена PDC emulator в домене. Чтобы избежать этой ситуации не забудьте:
На «старом» PDC Emulator запустить
w32tm /config /syncfromflags:domhier /reliable:no /update
net stop w32time net start w32time
Затем следует передать роль PDC Emulator на новый контроллер домена.
На «новом» PDC Emulator запустить
w32tm /config /manualpeerlist:PEERS /syncfromflags:manual /reliable:yes /update
где PEERS — сервера — источники точного времени, причем значение это или DNS имя, или IP адрес. Если источников больше одного, то между ними необходимо ввести пробел, а сам список должен быть в кавычках: «time.domain.com time1.domain.com».
Путь: It.notes > Windows > Настройка службы времени (NTP) в Windows 2003 / 2008 / 2008 R2
Служба времени Windows, несмотря на кажущуюся простоту является основой нормального функционирования AD.
Итак, в нормально настроенной среде служба времени функционирует так: пользователи получают точное время от ближайшего контроллера домена, на котором они зарегистрировались, все доменные контроллеры запрашивают об этом DC с ролью FSMO «Эмулятор PDC», а тот, в свою очередь, синхронизируется с внешним источником времени. Внешним источником как правило выступает один или несколько NTP-сервера институтов времени, например time.windows.com или NTP-сервер вашего провайдера.
Если у вас рассинхронизация контроллеров домена между собой и жалобы пользователей на то, что наше время отличается от точного, то вам сюда.
Настройка вашего доменного контроллера с ролью «Эмулятора PDC» на синхронизацию с внешним источником:
- находим все 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»
!!!внимание, связь с источником осуществляется по протоколу NTP – 123 порт UDP.
Все эти изменения аналогичнв следующим значениям в реестре
#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 - Если Вы перенесли роль PDC Emulator на другой сервер, необходимо дополнительно выполнить настройку старого сервера командой
w32tm /config /syncfromflags:domhier /reliable:no /update
и перезапустить службу времени —net stop w32time net start w32time
- На остальных контроллерах домена рекомендуется сделать
w32tm /unregister w32tm /register
Эта операция удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре.
Очень рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.
Если проблемы всё равно возникают, то стоит попробовать заменить значение 0х01 на 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”. При необходимости, играть с параметрами следует позже.
В особо тяжелых случаях может помочь включение лога для сервиса. Для настройки этого используются три параметра в реестре по пути
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
Несколько самых известных источников времени:
1. ntp2.usno.navy.mil
2. pool.ntp.org
3. clock0.macomnet.ru
Проверить что со временем все в порядке можно так:
C:\>w32tm /monitor dc.local *** PDC ***[[::1]:123]: ICMP: 0ms задержка NTP: +0.0000000s смещение относительно dc.local RefID: 'LOCL' [0x4C434F4C] Страта: 1
C:\>w32tm /dumpreg /subkey:parameters Имя параметра Тип параметра Данные параметра ------------------------------------------------------------------ ServiceDll REG_EXPAND_SZ %systemroot%\system32\w32time.dll ServiceMain REG_SZ SvchostEntry_W32Time ServiceDllUnloadOnStop REG_DWORD 1 Type REG_SZ NTP NtpServer REG_SZ pool.ntp.org,0
ну и в нагрузку
http://support.microsoft.com/kb/816042
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q216734
логипрование изменения системного времени http://it-tips.tk/windows/vkluchit-logging-izmenenie-vremeni-change-time/
Time synchronization is an important aspect for all servers in a Data Center of an organization. An organization should have a master NTP server which should be synced with an external reliable source, for example, the NTP server should be synced with the NPL Time in India for Indian Standard Time (IST). All servers and computers of that organization should be synced with the master NTP server.
If you have an NTP server and want to sync your windows servers with this NTP server then follow the steps given below:
- Open a command prompt (Windows Key + R)
- In the Command Prompt window, type the following line, where peers is a comma-separated list of IP addresses of the appropriate time sources and press ENTER:
w32tm /config /manualpeerlist: peers /syncfromflags:MANUAL
In this case where you have an NTP server type the ip address of the NTP server as given below:
w32tm /config /manualpeerlist:xx.xx.xx.xx /syncfromflags:MANUAL
Press ENTER. You should get a message that the command was completed successfully.
- Type w32tm /config /update
- Press ENTER. You should get a message that the command was completed successfully.
- To immediately synchronize with the external time server, type w32tm /resync and press ENTER. You should get a message that the command was completed successfully.
- Type Exit and press ENTER.
Note: UDP Port 123 should be open on the firewall if a firewall exists between these servers.
Вся настрока выполняется из командной строки. Последовательность действий следующая:
net time /setsntp:time.windows.com
— указали, что Windows будет синхронизироваться с этим сервером NTP
net stop w32time && net start w32time
— перезапустили службу времени Windows
w32tm /resync
— отправили команду для принудительной синхронизации на локальный компьютер
В ответ должны получить следующее:
Команда синхронизации отправлена на local computer…
Команда выполнена успешно.
Через некоторое время проверяем журнал событий системы. Если все настроено верно, то в журнале будет информационное сообщение от источника W32Time с кодом (ID) 35 и текстом Служба времени выполняет синхронизацию системного времени с источником времени time.windows.com
Если возникли какие-то проблемы, то в журнал будет записана ошибка с кодом (ID) 29 от источника W32Time и текстом NTP-клиент поставщика времени настроен на получение времени из одного или нескольких источников, однако ни один из этих источников недоступен. Попытки подключения к источнику не будут выполняться в течение ХХ мин. NTP-клиент не имеет источника правильного времени. В таком случае, убедитесь, что файрвол не блокирует соединения с NTP-сервером по протоколу UDP порт 123. Проверьте, что имя NTP-сервера Mobatime указано верно. Для этого в командной строке выполните
net time /querysntp
В ответ будет выведено имя сервера NTP.
Для определения величины расхождения локального времени и времени любого компьютера в сети, используйте команду
w32tm /stripchart /computer:имя_компьютера
На экран будет выводиться информация о дельте локального времени и времени на имя_компьютера до прерывания работы при помощи Ctrl+C.
Если Ваша сеть с доменами, то клиенты будут автоматически синхронизировать свои часы с контроллером домена. Если Вы не используете в сети доменов, то настраивать клиентов придётся вручную.
Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.