У меня здесь на работе Dell T710, который по какой-то причине не успевает. Это двойной четырехъядерный процессор с оперативной памятью 32 ГБ и работает под управлением Windows 2008 R2. Вместо того, чтобы иметь несколько серверов, мы запускаем несколько виртуальных машин под Hyper-V. На всех виртуальных машинах включена «синхронизация времени», и часы виртуальной машины идут в ногу с часами хоста.
На одной из виртуальных машин размещено наше программное обеспечение для управления магазином, и, поскольку оно использует системное время для действий с отметками времени, очень важно, чтобы часы были как можно более точными. Каждый день у меня проблемы из-за того, что часы идут медленно. Утром это обычно на 2 или 3 минуты медленно, а в некоторые дни (например, сегодня) это было целых 10 минут. Если я устанавливаю время сервера с помощью интернет-приложения времени, время устанавливается правильно, а затем рабочие станции выполняют протокол NTP. Работает нормально, но даже к концу дня часы снова отключаются на 1-2 минуты.
Проблема сводит с ума, и я перепробовал все, что мог придумать и найти в Интернете, включая:
НИЧТО не останавливает часы от дрейфа. Из моих исследований это может быть связано с тем фактом, что нагрузка на сервер может влиять на время, но нагрузка совсем пустая, возможно, скачки на 10-50%, это небольшая компания. А для справки я просто смотрю на свой мобильный телефон.
Если синхронизация хоста включена, все остальные изменения, которые вы делаете, не будут иметь значения, так как гости будут пытаться синхронизировать время с аппаратным временем на хосте, что, очевидно, не успевает за временем. Фактически, синхронизация времени хоста отменяет любые изменения времени, которые вы вносите, поэтому отключите ее и избавьте себя от головной боли.
Как бы то ни было, я всегда отключаю синхронизацию времени гостя и хоста (с любым гипервизором) и указываю все свои серверы на правильный источник NTP. В домене для этого нужно указать один контроллер домена на пул NTP, а другие компьютеры домена - на него. Если вы не присоединены к домену, вы также можете запустить сценарий, чтобы все ваши машины были подключены к одному и тому же серверу или пулу NTP.
Поскольку вы заявили, что хост виртуальной машины не является частью домена, это звучит так, как будто у вас может быть проблема с оборудованием, в частности, вы можете убедиться, что ваша материнская плата на этом сервере точно хранит и считает время.
В качестве отправной точки я бы запланировал запуск сценария периодически в течение дня, чтобы увидеть, сможете ли вы определить, есть ли другие события, которые могут повлиять на него. В качестве примера вы можете запланировать следующую команду для дампа в текстовый файл каждый час в течение 24 часов, она будет записывать смещение из ваших источников NTP.
C:\> w32tm /monitor
Возможно, вы захотите опубликовать несколько результатов здесь после этого, но вы также можете поговорить с Dell, чтобы узнать, есть ли какие-либо известные проблемы, касающиеся CMOS или дрейфа времени с оборудованием, у них может быть исправление BIOS или отправка технический специалист по замене оборудования.
Наконец, вам не нужно разделять хосты виртуальных машин, чтобы они находились вне домена, на самом деле вы можете захотеть, чтобы они были в домене в будущем, если вам когда-нибудь понадобится войти в кластеризацию и высокую доступность, будучи членом требуется домен. Тем не менее, вам необходимо убедиться, что у вас есть физический DC.
Решено
Что интересно, мою проблему решило простое исправление. На сервере работают 8 виртуальных машин, ни одна из них не является высоконагруженной (в основном это простаивающие или тестовые виртуальные машины), а две являются наиболее важными: контроллер домена и терминальный сервер 2003 для программного обеспечения управления магазином. Я решил менять одну виртуальную машину каждый день, пока не увижу каких-либо изменений в поведении. Я начал с отключения «Синхронизации времени» для сервера 2003, и с тех пор у меня не было никакого отклонения часов. Прошло 3 дня, и часы на 3 секунды быстрее, чем мой сотовый телефон, совсем неплохо. Похоже, моя первая попытка оказалась удачной.
Но я до сих пор не могу понять, почему часы хоста смещаются из-за виртуальной машины. Я не верю, что был реальный дрейф, скорее TS каким-то образом входил в своего рода бесконечный цикл попыток установить время с хоста, и каким-то образом это испортило часы хоста. Или TS каким-то образом устанавливал часы хоста (разве время не синхронизируется в одну сторону?), Вызывая небольшой дрейф, и DC уловил этот дрейф, и он распространился через NTP обратно на TS. Я не могу этого объяснить.