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


13

У нас є два фізичні гіпер-V сервери, що працюють між ними 8 VM, кожен фізичний сервер має на ньому контролер домену, який працює в VM, а всі сервери - 2008R2

PDC VM встановлений на NTP і синхронізується з time.microsoft.com, а решта, включаючи фізичні сервери, є NT5DS. Цей головний PDC VM, безумовно, містить FSMO і UDP 123 є активним

коли я запускаю w32tm / запит / статус

Я отримую провайдера синхронізації часу VM на обох постійних комп'ютерах, я знаю, це означає синхронізацію з хостом.

Коли я запускаю w32tm / resync / reiscover

Я отримав "не повторно синхронізував, оскільки не було даних про час" та ідентифікатор події 134 в журналах не мав ідеї щодо цього?

Я також переглянув журнали і отримав подію 144 & 12

Я слідкував за деталями MS KB щодо налаштування зовнішнього джерела часу та вніс усі зміни в реєстрі, але я думаю, DNS отримує мене?

Але коли я зміню час на одній з фізичних машин, саме звідси встановлюється час. Можливо, якщо я відреєструю їх усіх і зареєструю, оновіть та синхронізуйте, але я боюся, що це створить більшу проблему!

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

Спасибі за вашу допомогу



У мене нарешті це працює! Мета цього - допомогти людям, які починають на початку встановлення часу домену.

У цьому прикладі всі сервери, первинний контролер домену (PDC), інші контролери домену (DC) та інші сервери працюють під керуванням Windows 2008 R2 і віртуалізуються з Hyper-V.

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

Вам потрібно буде з’ясувати, який сервер є PDC та виконує ролі FSMO. Запустіть це: запит на netdom fsmo Результатом має бути ваш PDC, і саме тут ви вносите більшість змін.

Переконайтеся, що в брандмауері є UDP123 правило "Outbound", і програма% SystemRoot% \ System32 \ w32tm.exe просто перегляньте каталог Windows і знайдіть exe на час

Тут змінюються зміни в реєстрі! HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time

Переконайтеся, що для PDC під конфігурацією у вищевказаній адресі реєстру встановлено значення NTP для "типу", а всі інші сервери - NT5DS, це означає, що NTP - тато! Найкраща практика полягає в тому, щоб PDC шукав зовні час і все синхронізувався з ним.

Запустіть це на всіх контролерах домену (включаючи PDC), це частково вимкне час Windows, щоб він не дивився на хост-машину час, що важливо, тому що ми віртуалізовані. reg додати HKLM \ SYSTEM \ CurrentControlSet \ Послуги \ W32Time \ TimeProviders \ VMICTimeProvider / v Увімкнено / t reg_dword / d 0

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

Знизу команда встановить PDC на зовнішній вигляд, але також перевірить параметри реєстру, як визначено тут, щоб синхронізувати зовнішньо (потрібно зробити і те й інше) http://support.microsoft.com/kb/816042

Запустіть це на PDC w32tm / config /manualpeerlist: korište0.pool.ntp.org,0x1 ”/ syncfromflags: MANUAL / надійний: так w32tm / config / update w32tm / resync w32tm / resync / reiscover

Запустіть ці 2 команди в будь-який час на будь-якому сервері, щоб побачити їх джерело, і коли вони востаннє оновлені, вони будуть використовуватися протягом цієї вправи, щоб переконатися, що ваш PDC та інші сервери отримують час з потрібного місця w32tm / query / status w32tm / query / джерело

Потім запустіть це на всіх DC, окрім PDC, це змусить їх дивитись на PDC протягом часу і перезавантажувати його w32tm / config / syncfromflags: DOMHIER / update net stop w32time net start w32time w32tm / resync / force

Проблеми: Коли ви запускаєте запит про стан або джерело, надайте їм хвилину або 2 після змін, ви не повинні дивитись на локальний годинник CMOS, і ви не повинні використовувати постачальника синхронізації часу vm ic як джерело.

У випадку успіху PDC повинен прочитати встановлений вами зовнішній сайт, а інші сервери повинні вказати PDC як джерело

Сподіваюся, це допомагає людям удачі!


Привіт, відповіді містяться в розділі "Відповіді", а не як редагування питання.
Майкл Хемптон

2
Це не повністю працює в новій версії Hyper-V 2012R2 з останніми оновленнями інтеграції, оскільки час негайно повертається на базовий хост після встановлення сервером NTP. Навіть просидівши деякий час, він застряг у неправильний час. Я виявив, що, також змінивши ключ реєстру TimeProviders / VMICTimeProvider / InputProvider = 0, сервер перестав так швидко охоплюватися до основного хоста.
Brain2000

1
Я відформатував вашу відповідь нижче для кращої читабельності. Можливо, ви хочете видалити відповідь із свого запитання і матиме посилання лише на вас.
Тіло

Відповіді:


12

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

Однак не відключайте інтеграцію Hyper-V Time Synchronization. Це потрібно для певних функцій, таких як скидання часу після перезавантаження або коли віртуальна машина повертається із збереженого стану. Що ви хочете зробити, це сказати вашим віртуалізованим контролерам домену ігнорувати їх хост 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

Нарешті, ви повинні підтвердити, що у ваших контролерів домену є правильне джерело часу.

Докладнішу інформацію див. У відмінному дописі блогу Бен Армстронг .


Дякую за інформацію, я прочитав блог Бена Армстронга і хотів дотримуватися найкращих практик. На VM, який є 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, але все ще не можу ping time.windows.com, який я вважав дивним! Час встановлюється одним з хостів. В цьому я впевнений, але він встановлений на NT5DS, і він / запит / статус повідомляє мені його за допомогою PDC, чи потрібно мені запускати деякі команди на хості, щоб змусити його повторно синхронізувати до PDC VM? Я бачив команду reg add, і я припускаю, що це потрібно зробити на всіх DC? Мені цікаво, чи потрібно w32tm / config / syncfromflags: DOMHIER / оновлення також потрібно запускати на PDC або просто на всіх інших DC?
Карл

Я думаю, що кінець першого коментаря відсутній, після того як я запустив команди нижче на PDC. Все сказане вдало, але коли я запустив w32tm / query / status, у мене все ще було джерело “vm постачальника синхронізації часу ic” w32tm / config /manualpeerlist:дія0.pool.ntp.org,0x1 ”/ syncfromflags: MANUAL / надійний: так w32tm / config / update w32tm / resync w32tm / resync / повторно відкрити та почати та зупинити
Karl

Дякую за всі поради, я думаю, що я нарешті маю це, але я залишу на декілька днів для підтвердження, а потім оновлю те, що зробив, щоб виправити
Карл


5

У мене нарешті це працює! Мета цього - допомогти людям, які починають на початку встановлення часу домену.

У цьому прикладі всі сервери, первинний контролер домену (PDC), інші контролери домену (DC) та інші сервери працюють під керуванням Windows 2008 R2 і віртуалізовані з Hyper-V.

Спочатку ви спершу прочитаєте, щоб відключити "Службу інтеграції синхронізації часу" на будь-якій віртуальній машині в Hyper-V, але замість цього вам слід маніпулювати службою часу Windows (послуга w32tm) зсередини віртуального постійного струму, не слід вимикати це, оскільки коли Перезапуск VM це спричинить проблеми, це слід робити з w32tm. Інформація про MSDN

Вам потрібно буде з’ясувати, який сервер є PDC та виконує ролі FSMO. Запустіть це: запит на netdom fsmo Результатом має бути ваш PDC, і саме тут ви вносите більшість змін.

Переконайтеся, що в брандмауері є UDP123 правило "Вихідне", і програма % SystemRoot% \ System32 \ w32tm.exe просто перегляньте каталог Windows і знайдіть exe на час

Тут змінюються зміни в реєстрі!

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time

Переконайтеся, що для PDC під конфігурацією у вищевказаній адресі реєстру встановлено значення 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

Проблеми : Коли ви запускаєте запит про стан або джерело, надайте їм хвилину або 2 після змін, ви не повинні дивитись на локальний годинник CMOS, і ви не повинні використовувати постачальника синхронізації часу VM IC як джерело.

У випадку успіху PDC повинен прочитати встановлений вами зовнішній сайт, а інші сервери повинні вказати PDC як джерело

Сподіваюся, це допомагає людям удачі!


Ще дві речі: Використовуйте GPO для налаштування часу NTP на PDCE - це означає, що він буде налаштований автоматично, якщо роль PDCE переміщується: www.sysadminlab.net/windows/configuring-ntp-on-windows-using-gpo.
Трікс

Для встановлення прапорів на службі NTP, розгляньте можливість використання 0x8 - це означає, що це надійний ресурс часу, який десь синхронізується з апаратним годинником. Також врахуйте не використовувати 0x1 для "спеціального інтервалу часу". Якщо вам не потрібно синхронізувати годинник через визначені проміжки часу, в наші дні це начебто непотрібно. Якщо постійний струм не отримує свого часу відразу після завантаження (наприклад, мережа не готова), він чекає цього всього інтервалу. Або якщо ви використовуєте 0x1 / 0x9, встановіть інше джерело з 0xa - резервним джерелом, одержуйте запит негайно, якщо первинне джерело не відповідають.
Трікс

1

Я б запропонував:

  • НЕ вмикаючи синхронізацію часу між хостом HyperV та гостьовими віртуальними машинами - особливо це стосується постійного струму. Власник ролі PDC повинен оновлюватись через NTP з кількох джерел часу. Годинник хоста може також оновлюватися через NTP, але ви хочете, щоб PDC був "головним" для інших постійних серверів та серверів-членів. (принаймні, з VMwre, я припускаю те саме з HyperV)
  • Переконайтесь, що у вас відкритий порт 123 UDP для вихідного трафіку.
  • Що ви можете вирішити FQDN серверів 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

Ви можете перевірити колег за допомогою:

w32tm /query /peers

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


0

Як рекомендують інші, напевно не потрібно апаратної синхронізації часу від господаря до гостя. Ви також повинні синхронізувати із зовнішніми серверами NTP тільки з контролера домену, який виконує роль емулятора 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, вимкніть VM та зніміть прапорець Синхронізація часу в розділі Інтеграційні послуги."

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.