У нас есть доменная сеть Windows с двумя хостами Hyper-V. На этих хостах есть несколько клиентов виртуальных машин Hyper-V. Два из этих клиентов - контроллеры домена.
Оба хоста Hyper-V являются клиентами этого домена. Это приводит к распространенной проблеме синхронизации времени, поскольку хосты будут пытаться синхронизировать свое время с эмулятором PDC, а контроллеры домена синхронизируют свое время с хостом Hyper-V.
Работая над этой проблемой, я не осознавал, что брандмауэр в сети не разрешает исходящий трафик на порт 123. Это привело к нескольким (неудачным) попыткам реконфигурации.
Как только проблема была понята, я настроил хосты на синхронизацию с надежным источником времени на месте и хотел, чтобы контроллеры домена просто снова использовали поставщик синхронизации времени VM IC (чтобы они синхронизировали время с хостом).
Но один из контроллеров домена отказывается переключаться на поставщика синхронизации времени VM IC, он по-прежнему использует источник Local CMS Clock (который, насколько я понимаю, не желательно).
Я попытался отключить компонент синхронизации времени для этой виртуальной машины в диспетчере Hyper-V, затем перезагрузил компьютер, пару раз перезапустил службу w32time и повторно включил компонент синхронизации времени. Это не сработало. Я также пробовал другие варианты этого процесса, которые тоже не помогли.
Я попытался изменить Enabled
значения в реестре (HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders
) для разных поставщиков времени.
Я переустановил пакет интеграции Hyper-V в клиенте.
Лучшая практика для синхронизации времени в Hyper-V -:
Для контроллеров домена: Отключите синхронизацию времени Hyper-V внутри гостевой системы, но оставьте синхронизацию времени Hyper-V включенной в конфигурации виртуальной машины в консоли управления Hyper-V. Таким образом, Hyper-V устанавливает часы, когда гость загружается или возобновляет работу после паузы, но при нормальной работе гость отвечает за свои собственные часы. Используйте эту команду на гостевой машине, чтобы остановить ее использование виртуальной машины IC:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
(Для контроллера домена важно, чтобы он сам отвечал за синхронизацию времени, потому что AD необходимо знать качество времени. Если гость управляет часами, он имеет доступ к индикатору качества сетевого времени. Но если Hyper-V управляет часами, то гость видит часы как авторитетные часы и всегда предполагает, что они правильные, даже если это не так.)
Для всех остальных гостей: Используйте гостевые дополнения Hyper-V для синхронизации часов. Если в гостевой системе не установлены дополнения, используйте аппаратные часы, которые гипервизор Hyper-V будет эмулировать.
Поскольку в вашем случае вы не использовали настройки синхронизации времени для гостей DC, я предлагаю вам сбросить настройки w32time сначала, затем переустановите гостевые дополнения и, наконец, примените параметр реестра, указанный выше.