Синхронизация времени Hyper-V для контроллера домена VM

13

У нас есть 2 физических сервера Hyper-V, на которых запущено 8 виртуальных машин, каждый физический сервер имеет контроллер домена, работающий в виртуальной машине, и все серверы 2008R2

VM PDC настроен на NTP и синхронизирован с time.microsoft.com, а остальные, включая физические серверы, являются NT5DS. Этот основной виртуальный PDC определенно содержит FSMO и является активным UDP 123

когда я запускаю w32tm / query / status

Я получаю провайдер синхронизации времени ВМ IC на обоих виртуальных машинах, я знаю, что это означает синхронизацию с хостом.

Когда я запускаю w32tm / resync / rediscover

Я получил сообщение «Не выполняется повторная синхронизация, потому что нет данных о времени», и в журнале с идентификатором события 134 есть идеи по этому поводу?

Я также просмотрел журналы и получил событие 144 и 12

Я следил за подробностями MS KB по настройке внешнего источника времени и внес все изменения в реестр, но я думаю, что DNS меня достает?

Но когда я меняю время на одной из физических машин, это время, откуда оно устанавливается. Может быть, если я отменим их регистрацию, зарегистрируюсь, обновлюсь и синхронизируюсь, но я боюсь, что это создаст большую проблему!

Я пытаюсь оставить синхронизацию времени между виртуальной машиной и хостом Hyper-V включенной, так как считаю, что это лучшее из того, что я прочитал.

Спасибо за вашу помощь



Я наконец получил это работает! Цель этого состоит в том, чтобы помочь людям, которые начинают с начала установки времени доменов.

В этом примере все серверы, основной контроллер домена (PDC), другие контроллеры домена (DC) и другие серверы работают под управлением Windows 2008 R2 и виртуализируются с помощью Hyper-V.

Прежде всего, вы прочтете, чтобы отключить «Службу интеграции синхронизации времени» на любой виртуальной машине в Hyper-V, но вместо этого вам следует манипулировать службой времени Windows (служба w32tm) из виртуального контроллера домена, поэтому не следует отключать это, поскольку Перезапуск виртуальной машины это вызовет проблемы, это должно быть сделано с w32tm. http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

Вам нужно будет выяснить, какой сервер является PDC и работает роли FSMO. Запустите: netdom query fsmo Результатом должен быть ваш PDC, и именно здесь вы вносите большинство своих изменений.

Убедитесь, что в брандмауэре есть правило «Outbound» на UDP123, и программа% SystemRoot% \ System32 \ w32tm.exe, просто перейдите в каталог Windows и найдите exe для времени

Это где изменения реестра идут вниз! HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time

Убедитесь, что PDC в разделе config в указанном выше адресе реестра имеет значение NTP для «типа», а все остальные серверы - NT5DS, это означает, что NTP - это папа! Лучшая практика здесь состоит в том, чтобы PDC выглядел вовремя и все синхронизировалось с ним.

Запустите его на всех контроллерах домена (включая PDC), он частично отключит время Windows, поэтому он не смотрит на хост-компьютер на время, что важно, потому что мы виртуализированы. reg add HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ VMICTimeProvider / v Включено / t reg_dword / d 0

Вы можете перейти на сайт ntp.org http://support.ntp.org/bin/view/Servers/WebHome, чтобы найти ближайший к вам сервер для синхронизации внешнего времени. Я рекомендую не использовать Microsoft, поскольку они интенсивно используются и могут выскользнуть из-за этого.

Приведенная ниже команда настроит внешний вид PDC, но также проверит параметры реестра, как определено здесь, для внешней синхронизации (необходимо выполнить оба действия) http://support.microsoft.com/kb/816042

Запустите это на PDC w32tm / config /manualpeerlist: Пользователей 0.pool.ntp.org,0x1 ”/ syncfromflags: РУЧНОЙ / надежный: да w32tm / config / update w32tm / resync w32tm / resync / rediscover

Запустите эти 2 команды в любое время на любом сервере, чтобы увидеть их источник, и при последнем обновлении они будут использоваться в этом упражнении, чтобы убедиться, что ваш PDC и другие серверы получают время из нужного места. W32tm / query / status w32tm / query /источник

Затем запустите это на всех DC, кроме PDC, он заставит их посмотреть на PDC время и повторно синхронизировать с ним w32tm / config / syncfromflags: DOMHIER / update net stop w32time net start w32time w32tm / resync / force

Проблемы: Когда вы запускаете запрос «Состояние» или «Источник», дайте им минуту или две после изменений, вы не должны смотреть на локальные часы CMOS и не должны также использовать провайдера синхронизации времени в качестве источника.

В случае успеха PDC должен прочитать внешний сайт, который вы установили, а другие серверы должны указать PDC в качестве источника

Надеюсь, это поможет людям удачи!

Карл
источник
Привет, ответы идут в разделе «Ответ», а не в виде изменений к Вопросу.
Майкл Хэмптон
2
Это не полностью работает в более новой версии Hyper-V 2012R2 с последними обновлениями интеграции, поскольку время сразу же возвращается к базовому хосту после его настройки сервером NTP. Даже посидев некоторое время, он застрял в неподходящее время. Я обнаружил, что, также изменив раздел реестра TimeProviders / VMICTimeProvider / InputProvider = 0, сервер так легко перестал привязываться к базовому хосту.
Brain2000
1
Я отформатировал ваш ответ ниже для лучшей читаемости. Возможно, вы захотите удалить ответ из вашего вопроса и только ссылку на ваш ответ.
Тило

Ответы:

12

@PSaul в основном правильно. Вы не хотите использовать time.microsoftили time.windows.comкак источник времени для вашего контроллера домена, который держит роль эмулятора PDC FSMO. По умолчанию они интенсивно используются, часто медленны из-за отсутствия локальности и иногда недоступны. Выберите пул NTP, который ближе к вам.

Однако не отключайте интеграцию синхронизации Hyper-V. Это требуется для определенных функций, таких как сброс времени после перезагрузки или когда виртуальная машина возвращается из сохраненного состояния. Что вы хотите сделать, так это сказать вашим виртуализированным контроллерам домена игнорировать их хост Hyper-V в качестве источника времени.

Это можно сделать следующим образом:

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

Эта команда удаляет источник времени Hyper-V как возможный источник для W32Time.

w32tm /config /syncfromflags:DOMHIER /update

Теперь скажите W32Time поиск лучшего источника времени в иерархии доменов. Если вы хотите использовать внешний источник для обоих контроллеров домена, вы можете настроить его, используя команды @PSaul, опубликованные здесь . Вообще говоря, контроллер домена, выполняющий роль эмулятора PDC, должен синхронизироваться с внешним источником, а другие контроллеры домена должны синхронизироваться с ним.

net stop w32time & net start w32time
w32tm /resync /force

Перезапустите службу времени и выполните ресинхронизацию.

w32tm /query /source

Наконец, вы должны подтвердить, что ваши контроллеры домена имеют правильный источник времени.

См. Отличный пост в блоге Бена Армстронга для более подробной информации.


источник
Спасибо за информацию, я прочитал блог Бена Армстронга и хотел придерживаться лучших практик. На виртуальной машине, которая сегодня является PDC, я запустил: w32tm / config /manualpeerlist: рабочей0.pool.ntp.org,0x1 ”/ syncfromflags: MANUAL / надежный: да w32tm / config / update w32tm / resync w32tm / resync / rediscover
Карл
В реестре 0.pool.ntp.org 0x1 теперь является значением для NTP-сервера. Я могу пропинговать 0.pool.ntp.org с PDC, но все еще не могу пропинговать time.windows.com, что мне показалось странным! Время установлено одним из хостов, я уверен в этом, но установлено NT5DS, и он / запрос / статус сообщает мне, что он использует PDC, нужно ли мне запускать некоторые команды на хосте, чтобы заставить его повторно синхронизироваться? на ВМ PDC? Я видел команду reg add, и я предполагаю, что это должно быть сделано на всех DC? Мне интересно, w32tm / config / syncfromflags: DOMHIER / update также нужно запускать на PDC или только на всех других DC?
Карл
Я думаю, что конец первого комментария отсутствует после того, как я выполнил следующие команды на PDC. Все сказали, что успешно, но когда я запустил w32tm / query / status, у меня все еще был источник «провайдера синхронизации времени vm ic» w32tm / config / update w32tm / resync w32tm / resync / переоткрыть и запустить и остановить
Карл
Спасибо за все советы, которые, я думаю, у меня наконец есть, но я уеду на несколько дней, чтобы подтвердить, а затем я обновлю то, что я сделал, чтобы исправить
Карл
5

Я наконец получил это работает! Цель этого состоит в том, чтобы помочь людям, которые начинают с начала установки времени доменов.

В этом примере все серверы, основной контроллер домена (PDC), другие контроллеры домена (DC) и другие серверы работают под управлением Windows 2008 R2 и виртуализируются с помощью Hyper-V.

Прежде всего, вы прочтете, чтобы отключить «Службу интеграции синхронизации времени» на любой виртуальной машине в Hyper-V, но вместо этого вам следует манипулировать службой времени Windows (служба w32tm) из виртуального контроллера домена, поэтому не следует отключать это, поскольку Перезапуск виртуальной машины это вызовет проблемы, это должно быть сделано с w32tm. Информация MSDN

Вам нужно будет выяснить, какой сервер является PDC и работает роли FSMO. Запустите: netdom query fsmo Результатом должен быть ваш PDC, и именно здесь вы вносите большинство своих изменений.

Убедитесь, что в брандмауэре есть правило «Outbound» на UDP123, и программа % SystemRoot% \ System32 \ w32tm.exe, просто перейдите в каталог Windows и найдите exe для времени

Это где изменения реестра идут вниз!

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time

Убедитесь, что PDC в разделе config в указанном выше адресе реестра имеет значение NTP для « Типа », а все остальные серверы - NT5DS, это означает, что NTP - это папа! Лучшая практика здесь состоит в том, чтобы PDC выглядел вовремя и все синхронизировалось с ним.

Запустите его на всех контроллерах домена (включая PDC), он частично отключит время Windows, поэтому он не смотрит на хост-компьютер на время, что важно, потому что мы виртуальные.

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

Проблемы : Когда вы запускаете запрос «Состояние» или «Источник», дайте им одну или две минуты после изменений, вам не следует смотреть на локальные часы CMOS и не следует также использовать поставщик синхронизации времени ВМ IC в качестве источника.

В случае успеха PDC должен прочитать внешний сайт, который вы установили, а другие серверы должны указать PDC в качестве источника

Надеюсь, это поможет людям удачи!

Карл
источник
Еще две вещи: используйте объект групповой политики для настройки времени NTP на PDCE - это означает, что оно будет настроено автоматически при перемещении роли PDCE: www.sysadminlab.net/windows/configuring-ntp-on-windows-using-gpo.
Trix
Для установки флагов в службе NTP рассмотрите возможность использования 0x8 - это означает, что это надежный источник времени, который где-то синхронизируется с аппаратными часами. Также рассмотрите возможность не использовать 0x1 для «специального временного интервала». Если вам не нужно синхронизировать ваши часы через определенные промежутки времени, в наши дни это не нужно. Если DC не получает свое время сразу после загрузки (например, сеть не готова), он ожидает весь этот интервал. Или, если вы используете 0x1 / 0x9, установите другой источник с 0xa - резервный источник, немедленно запрашивается, если первичный источник (и) не отвечает.
Trix
1

Я бы предложил:

  • НЕ разрешать синхронизацию времени между хостом HyperV и гостевыми виртуальными машинами - особенно для контроллеров домена. Обладатель роли PDC должен обновляться через NTP из нескольких источников хорошего времени. Часы хоста также могут обновляться через NTP, но вы хотите, чтобы PDC был «главным» для других контроллеров домена и рядовых серверов. (по крайней мере с VMwre, я предполагаю то же самое с HyperV)
  • Убедитесь, что у вас открыт UDP-порт 123 для исходящего трафика.
  • Что вы можете разрешить полное доменное имя NTP-серверов (можете ли вы их PING?)
  • Все остальные контроллеры домена и компьютеры-участники должны обновляться автоматически.

Не используйте ТОЛЬКО 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

Вы можете проверить Peers с:

w32tm /query /peers

Проверьте системный журнал, чтобы увидеть, если он обновляется. Вы должны установить время на 1 минуту, перезапустить службу w32time, и она обновится в течение 30 секунд. [в домене AD допустимо отклонение времени менее 5 минут]

PSaul
источник
0

В соответствии с рекомендациями других, определенно нет аппаратной синхронизации времени между хостом и гостем. Синхронизировать с внешними NTP-серверами также следует только с контроллера домена, который выполняет роль эмулятора корневого PDC леса. Если контроллер домена роли эмулятора корневого PDC вашего леса не синхронизируется, у контроллеров домена, которые полагаются на него, возникнут проблемы.

Вы также можете попробовать следующее исправление:

Синхронизация времени не выполняется, даже если служба W32Time успешно запущена в Windows Server 2008 или Windows Server 2008 R2

http://support.microsoft.com/kb/2493006

Это может оказаться более полезным, если вы используете / verbose флаг для w32tm:

w32tm /query /status /verbose /computer:dcname

Дополнительная информация:

https://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv%28WS.10%29.aspx

«Для виртуальных машин, которые настроены как контроллеры домена, рекомендуется отключить синхронизацию времени между хост-системой и гостевой операционной системой, действующей как контроллер домена. Это позволяет вашему гостевому контроллеру домена синхронизировать время из иерархии домена».

«Чтобы отключить поставщик синхронизации времени Hyper-V, выключите виртуальную машину и снимите флажок« Синхронизация времени »в службах Integration Services».

Грег Аскью
источник