Вопрос или проблема
У нас есть 2 физических сервера Hyper-V, на которых запущено 8 ВМ, на каждом из физических серверов работает контроллер домена в виде ВМ, и все серверы работают на 2008R2.
Виртуальный PDC настроен на NTP и синхронизацию с time.microsoft.com, а остальные, включая физические серверы, используют NT5DS. Этот основной виртуальный PDC определенно содержит FSMO, иUDP 123 активен.
Когда я выполняю w32tm /query /status
Я получаю “Поставщик синхронизации времени VM IC” в качестве источника на обоих виртуальных контроллерах домена, я понимаю, что это означает синхронизацию с хостом.
Когда я выполняю w32tm /resync /rediscover
Я получаю “не удалось выполнить повторную синхронизацию, так как данные о времени недоступны” и событие с ID 134 в журналах – есть идеи по этому поводу?
Я также просматривал журналы и получил события 144 и 12.
Я следовал инструкциям MS KB о настройке внешнего источника времени и внес все изменения в реестр, но, похоже, DNS меня подводит?
Но когда я изменяю время на одной из физических машин, именно оттуда устанавливается время.
Может быть, если я их всех аннулирую, зарегистрирую и обновлю, а затем синхронизирую, но я боюсь создать еще большую проблему!
Я пытаюсь оставить синхронизацию времени между ВМ и Hyper-V Host включенной, поскольку считаю, что это лучшее решение из прочитанного.
Спасибо за помощь.
@PSaul в целом прав. Вам не нужно использовать time.microsoft
или time.windows.com
в качестве источника времени для вашего контроллера домена, который удерживает FSMO роль эмулятора PDC. В качестве стандартного источника они часто перегружены, часто работают медленно из-за нехватки локальности и иногда недоступны. Выберите NTP пул, который ближе к вам.
Тем не менее, не отключайте интеграцию синхронизации времени Hyper-V. Это необходимо для определенных функций, таких как сброс времени после перезагрузки или когда виртуальная машина возвращается из сохраненного состояния. Что вам нужно сделать, так это сказать вашим виртуализированным контроллерам домена игнорировать их Hyper-V хост в качестве источника времени.
Это можно сделать следующим образом:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
Эта команда удаляет гипервизор как возможный источник для W32Time.
w32tm /config /syncfromflags:DOMHIER /update
Теперь скажите W32Time искать лучший возможный источник времени в иерархии домена. Если вы хотите использовать внешний источник для обоих контроллеров домена, вы можете настроить это с помощью команд, указанных @PSaul, или здесь. В общем, контроллер домена, удерживающий роль эмулятора PDC, должен синхронизироваться с внешним источником, а остальные контроллеры домена должны синхронизироваться с ним.
net stop w32time & net start w32time
w32tm /resync /force
Перезапустите службу времени и принудительно выполните повторную синхронизацию.
w32tm /query /source
Наконец, вам следует подтвердить, что ваши контроллеры домена имеют правильный источник времени.
Смотрите отличный блог пост Бена Армстронга для получения дополнительной информации.
Я наконец заставил это работать! Цель этого – помочь людям, которые начинают с нуля в установке времени домена.
В этом примере все серверы, основной контроллер домена (PDC), другие контроллеры домена (DC) и другие серверы работают на Windows 2008 R2 и виртуализированы с помощью Hyper-V.
Прежде всего, вам нужно будет отключить службу ‘Time Synchronization Integration Service’ на любой виртуальной машине в Hyper-V, но вместо этого вы должны управлять службой Windows Time (сервис w32tm) изнутри виртуального контроллера домена, вы не должны отключать это, потому что при перезагрузке ВМ это может вызвать проблемы, это должно выполняться с помощью w32tm. Информация MSDN
Вам нужно будет узнать, какой сервер является PDC и работает с ролями FSMO. Выполните команду: netdom query fsmo Результатом должна быть ваша PDC, и именно здесь вы внесете большинство изменений.
Убедитесь, что в брандмауэре есть правило “Исходящие” на UDP123, и программа это %SystemRoot%\System32\w32tm.exe, просто перейдите в каталог Windows и найдите exe файл для времени.
Это место, где вносятся изменения в реестр!
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time
Убедитесь, что PDC в конфигурации по указанному выше адресу реестра установлен на NTP для “Типа” и все остальные серверы установлены на NT5DS, это значит, что NTP – это основной источник! Наилучшей практикой здесь будет, чтобы PDC искал время извне, а все остальные синхронизировались с ним.
Выполните это на всех контроллерах домена (включая PDC), это частично отключит Windows Time, чтобы он не обращался к хостовой машине за временем, это важно, потому что мы виртуальны.
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
Вы можете перейти на сайт ntp.org, чтобы найти сервер, ближайший к вам, для синхронизации вашего внешнего времени. Я рекомендую не использовать Microsoft, так как они часто перегружены и могут сбиться из-за этого.
Ниже приведенная команда настроит PDC на внешний источник, но также проверьте настройки реестра, как указано здесь, чтобы синхронизироваться извне (вам нужно сделать и то и другое) MS KB 816042
Выполните это на PDC
w32tm /config /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:MANUAL /reliable:yes
w32tm /config /update
w32tm /resync
w32tm /resync /rediscover
Запустите эти 2 команды в любое время на любом сервере, чтобы увидеть их источник и когда они в последний раз обновлялись, их будут использовать в течение всего этого упражнения, чтобы убедиться, что ваш PDC и другие серверы получают время из правильного места.
w32tm /query /status
w32tm /query /source
Затем выполните это на всех DC, кроме PDC, это заставит их обращаться к PDC за временем и синхронизироваться с ним.
w32tm /config /syncfromflags:DOMHIER /update
net stop w32time
net start w32time
w32tm /resync /force
Проблемы: Когда вы выполняете запрос статуса или источника, дайте им одну-две минуты после изменений, вам не стоит наблюдать за Local CMOS Clock и вам не следует использовать VM IC Time Synchronization Provider в качестве источника.
Если все прошло успешно, PDC должен прочитать внешний сайт, который вы установили, а другие серверы должны указать PDC в качестве источника.
Надеюсь, это поможет людям, удачи!
Я бы предложил:
- НЕ включать синхронизацию времени между хостом HyperV и гостевыми ВМ —
особенно для DC. У держателя роли PDC должен быть обновленный NTP из
нескольких хороших источников времени. Часы хоста также могут обновляться через NTP,
но вы хотите, чтобы PDC был “мастером” для других DC и серверов-участников. (по крайней мере, на VMwre, я предполагаю, что так же и с HyperV) - Убедитесь, что у вас открыт UDP порт 123 для исходящего трафика.
- Что вы можете разрешать FQDN NTP-серверов (можете ли вы выполнить PING?)
- Все другие DC и машины-участники должны обновляться автоматически.
Не используйте ТОЛЬКО time.windows.com или time.microsoft.com, используйте один из серверов *.pool.ntp.org. Я использую north-america.pool.ntp.org или ca.north-america.pool.ntp.org — чем ближе, тем лучше. Вы можете проверить: http://www.pool.ntp.org/, чтобы найти сервера, близкие к вам.
Затем выполните что-то вроде:
w32tm /config /manualpeerlist:"north-america.pool.ntp.org 0.pool.ntp.org" /syncfromflags:MANUAL /update /reliable:YES
(Добавьте любые NTP-серверы, которые хотите. В Канаде я также использую time.nrc.ca)
После чего выполните:
net stop w32time
net start w32time
Вы можете проверить Пары с помощью:
w32tm /query /peers
Проверьте системный журнал, чтобы увидеть, обновляется ли он. Вы должны быть в состоянии установить часы на 1 минуту вперед, перезапустить службу w32time, и она обновится в течение 30 секунд. [допускается менее 5 минут временного смещения в пределах домена AD]
Как рекомендуют другие, определенно не включайте аппаратную синхронизацию времени с хоста на гостя. Вам также следует синхронизироваться только с внешними NTP-серверами с контроллера домена, который удерживает роль эмулятора корневого PDC в лесу. Если контроллер домена, имеющий роль эмулятора корневого PDC, не синхронизируется, то DC, которые зависят от него, столкнутся с проблемами.
Вам также может быть полезно попробовать следующий пакет исправлений:
Синхронизация времени не выполняется, даже если служба W32Time успешно запущена в Windows Server 2008 или в Windows Server 2008 R2
http://support.microsoft.com/kb/2493006
Может оказаться более полезным, если вы используете флаг /verbose для w32tm:
w32tm /query /status /verbose /computer:dcname
Дополнительная информация:
“Для виртуальных машин, настроенных как контроллеры домена, рекомендуется отключить синхронизацию времени между хост-системой и гостевой операционной системой, действующей как контроллер домена. Это позволяет вашему гостевому контроллеру домена синхронизировать время из иерархии домена.”
“Чтобы отключить поставщик синхронизации времени Hyper-V, выключите ВМ и снимите флажок синхронизации времени под Интеграционными службами.”
Ответ или решение
Гипервизор Hyper-V и синхронизация времени для виртуальных доменных контроллеров
Синхронизация времени имеет критическое значение для работы доменной инфраструктуры, особенно когда дело касается виртуализированных доменных контроллеров. Рассмотрим, как правильно настраивать синхронизацию времени на виртуальных машинах (ВМ), работающих под управлением гипервизора Hyper-V, чтобы избежать проблем, связанных с временными несоответствиями.
1. Проблема
У вас два физических сервера Hyper-V, каждый из которых содержит виртуальный доменный контроллер (DC), работающий под управлением Windows Server 2008 R2. Ваша основная ВМ с ролью эмулятора PDC настроена на использование NTP-сервера time.microsoft.com. Однако при проверке статуса с помощью команды w32tm /query /status
вы получаете, что источником времени является "VM IC Time Synchronization Provider", что означает синхронизацию со хостовой системой.
Когда вы пытаетесь выполнить повторную синхронизацию с помощью команды w32tm /resync /rediscover
, система сообщает, что не удалось провести синхронизацию, поскольку данные времени не доступны, что также подтверждается появлением события ID 134 в журналах. Это указывает на проблемы с конфигурацией.
2. Рекомендации по настройке
Для того чтобы исправить эту ситуацию и настроить правильную синхронизацию времени, выполните следующие шаги:
2.1. Отключение провайдера времени Hyper-V
Сначала необходимо завершить работу виртуальной машины и отключить интеграцию службы времени Hyper-V. Для этого выполните следующую команду на каждом из виртуальных контроллеров домена:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
Это отключит использование виртуального времени от хоста.
2.2. Настройка внешнего источника NTP
Теперь настройте ваш основной DC, который держит роль PDC, для синхронизации времени с внешними NTP-серверами:
w32tm /config /manualpeerlist:"<ваш NTP сервер>, 0x1" /syncfromflags:MANUAL /reliable:YES
w32tm /config /update
w32tm /resync
Используйте сервера из пула pool.ntp.org
, которые предоставляют более надежное время. Например, для Северной Америки можно использовать north-america.pool.ntp.org
.
2.3. Настройка остальных контроллеров
На остальных контроллерах домена, которые должны синхронизироваться с вашим PDC, выполните:
w32tm /config /syncfromflags:DOMHIER /update
net stop w32time
net start w32time
w32tm /resync /force
2.4. Проверка статуса
После всех этих изменений проверьте, что синхронизация проходит успешно:
w32tm /query /status
w32tm /query /source
Вы должны увидеть, что основной контроллер домена синхронизируется с внешним NTP-сервером, а остальные контроллеры – с PDC.
3. Заключение
Правильная настройка синхронизации времени является одним из важных аспектов информационной инфраструктуры. Следуя данным рекомендациям, вы сможете избежать проблем, связанных с несоответствиями во времени между DC и клиентскими машинами. Не забывайте учитывать, что корректная синхронизация времени предотвращает потенциальные ошибки во взаимодействии служб Active Directory и может значительно повлиять на работу всей сетевой инфраструктуры.