Вопрос или проблема
Я думаю, заголовок хорошо резюмирует ситуацию…
У меня есть PDC-эмулятор (Windows Server 2022), который работает на гипервизоре Hyper-V, и я пытаюсь синхронизировать его с правильным временем. Сервер всегда работает примерно на 5 минут быстрее, даже после того, как я указываю ему синхронизироваться с пулами NTP-серверов (time.nist.gov и pool.ntp.org). Я получаю событие с ID 261, где мне сообщают, что оно успешно синхронизировало время, но при этом все равно отстаёт чуть менее чем на 5 минут.
Исключением является, может быть, 1 секунда каждый раз, когда он пытается синхронизироваться. Он показывает ПРАВИЛЬНОЕ время всего на эту 1 секунду, а затем возвращается к неправильному времени.
Я также попробовал w32tm /stripchart, и он выдает ошибку 0x800705B4. Добавление флага /packetinfo дает ссылочные и исходные временные метки как 0 (ну, 0x00000000etc0), что странно.
Я пробовал следить за пакетами, и сервер (клиент) связывается с NTP-сервером.
w32tm /query /status/verbose
Leap Indicator: 0(no warning)
Stratum: 2 (secondary reference - syncd by (S)NTP)
Precision: -23 (119.209ns per tick)
Root Delay: 0.0751364s
Root Dispersion: 266.0852887s
ReferenceId: 0x84A36102 (source IP: 132.163.97.2)
Last Successful Sync Time: 2/19/2025 7:12:31 AM
Source: time.nist.gov,0x8
Poll Interval: 7 (128s)
Phase Offset: -0.0000053s
ClockRate: 0.0156250s
State Machine: 3 (Spike)
Time Source Flags: 0 (None)
Server Role: 576 (Reliable Time Service)
Last Sync Error: 0 (The command completed successfully.)
Time since Last Good Sync Time: 7.9033052s
Есть идеи, что здесь происходит? Как я могу это исправить? Что еще я могу проверить?
Спасибо!
Итак, решение заключалось в снятии галочки с синхронизации времени в настройках виртуальной машины в Hyper-V. Теперь вроде бы все нормально.
Спасибо!
Ответ или решение
Теория
Когда время на сервере или клиентской машине отклоняется от эталонного времени, это может привести к различным проблемам в IT-инфраструктуре, например, нарушениям в работе доменных служб Active Directory и задержкам в аутентификации. В вашем случае проблема связана с домен-контроллером, исполняющим роль PDC-эмулятора, что делает эту ситуацию особенно критичной.
Windows Server использует службу времени Windows (W32Time) для синхронизации системного времени. Эта служба должна быть настроена для получения точного времени от авторитетного источника, например, NTP-сервера (Network Time Protocol). В гипервизоре Hyper-V существуют дополнительные механизмы управления временем, которые могут вмешиваться в работу W32Time.
Пример
Рассмотрим более подробно вашу ситуацию. Вы используете PDC-эмулятор на Windows Server 2022 внутри среды Hyper-V. Эта машина пытается синхронизировать свое время с внешними NTP-серверами, такими как time.nist.gov и pool.ntp.org. Несмотря на это, сервер продолжает работать на примерно 5 минут быстрее точного времени. Интересно, что каждый раз при попытке синхронизации время становится точным на одну секунду, затем возвращается к неправильному значению.
При выполнении команды w32tm /query /status/verbose
вы получили статус успешно выполненной синхронизации, но при этом вы заметили необычные значения в параметрах, таких как ReferenceId
и Last Successful Sync Time
. Ошибка 0x800705B4 также сигнализирует о таймауте, что говорит о возможных проблемах либо на сетевом уровне связи с NTP-серверами, либо с внутренними механизмами обработки времени.
Применение
Ваша ситуация, вероятно, связана с конфигурацией Hyper-V, где включена синхронизация времени через интеграционные сервисы. Это частая причина проблем, когда VM пытается одновременно синхронизировать время и через гипервизор, и через стандартные механизмы W32Time, создавая конфликт или петлю обратной связи.
Чтобы устранить данную проблему, вы предприняли правильный шаг, отключив синхронизацию времени в настройках виртуальной машины на уровне Hyper-V. Теперь VM использует только один механизм для синхронизации, что исключило конфликт и позволило серверу правильно синхронизировать время.
Для подобного рода проблем рекомендуется:
-
Проверить настройки синхронизации времени на уровне гипервизора. Убедитесь, что функция "Time synchronization" отключена для таких VMs, которые должны управляться исключительно через W32Time.
-
Убедиться в корректности конфигурации NTP-сервисов. Проверьте наличие правильных NTP-серверов в списке настроек, возможные сетевые ограничения или проблемы с подключением.
-
Проверить и настроить параметры W32Time. Используйте команды
w32tm /config
для проверки правки конфигурации. Возможно, потребуется установить дополнительные параметры, такие какAnnounceFlags
,UpdateInterval
и другие. -
Мониторинг и логирование. Используйте системные логи для оценки работы служб и выявления повторяющихся аномалий после изменений в конфигурации.
-
Обновление и патчи. Убедитесь, что вы используете актуальные конфигурации ПО Windows и Hyper-V, регулярно применяйте обновления и патчи, особенно те, что касаются времени и синхронизации служб.
Эти шаги помогут вам минимизировать вероятность возникновения подобных проблем в будущем и сохранить высокую степень надежности вашей IT-инфраструктуры.