Служба синхронизации времени hyper v что это
Windows Server 2016 и службы интеграции Hyper-V
Службы интеграции Hyper-V отвечают за эффективное взаимодействие виртуальных машин и гипервизора посредством установки дополнительных сервисов в гостевую ОС. Для понимания степени важности, предлагаем кратко рассмотреть каждую из них, а также ключевые изменения в Windows Server 2016.
По умолчанию, не все службы включены. Guest Services, как правило, включается по мере необходимости. Остальные отвечают за более важную функциональность.
Operating System Shutdown – включает возможность завершения работы ВМ (аналогия привычного shutdown из гостевой ОС), используя Hyper-V Manager или PowerShell/WMI.
Time Synchronization – отвечает за предоставление синхронизации времени между хостом и виртуальной машины.
Data Exchange или KVP (key-value pairs) – предоставляет функционал обмена значениями формата key + value типа strings, расположенных в ветке реестра HKLM\Software\Microsoft\Virtual Machine\ или в файлах kvp_pool_x (для ОС Linux) через VMbus. На стороне хоста WMI-запросами занимается VMMS.exe (функции AddKvpItems, ModifyKvpItems и RemoveKvpItems). В свою очередь, на ВМ должна быть запущена служба Hyper-V Data Exchange Service.
HKLM\Software\Microsoft\Virtual Machine\Auto содержит информацию о ВМ, которая генерируется во время первого запуска службы Hyper-V Data Exchange Service.
HKLM\Software\Microsoft\Virtual Machine\External содержит данные, отправленные пользователем со стороны хоста. По умолчанию данный раздел пуст и не содержит никаких объектов KVP.
HKLM\Software\Microsoft\Virtual Machine\Guest презентует данные, которые необходимо отправить узлу виртуализации из данной ВМ. К примеру, сведения о AVMA-активации или кастомные параметры, которые вашему приложению необходимо передать на уровень выше (да, в целом, мы можем добавлять собственные пары key + value и работать с ними через KVP и WMI без предоставления credentials. Новая аналогия – PowerShell Direct, но со своими плюсами и минусами).
HKLM\Software\Microsoft\Virtual Machine\Guest\Parameters содержит информацию об узле виртуализации (наименование, FQDN, VMID и так далее). Запомните эту ветку – она далее нам пригодится.
Heartbeat отвечает за проверку состояния ВМ через hearbeats, выполняемые в определенный интервал, между ВМ и узлом.
Backup (volume snapshot) включает возможность использования задач резервного копирования ВМ на уровне хоста для обеспечения консистентности резервных копий.
Guest Services обеспечивают передачу файлов в ВМ через WMI или PowerShell (Copy-VMFile). По умолчанию, не включена. Более подробно можно почитать здесь.
Что нужно учитывать в Windows Server 2016?
Все помнят, что для установки служб интеграции приходилось монтировать ISO-образ (%systemroot%\system32\vmguest.iso) через опцию «Insert Integration Services Setup Disk» в консоли ВМ и запускать процесс установки внутри ВМ. Затем проверять версию IS время от времени для её актуализации (vmguest.iso, так же как и узел, тоже обновлялся через Windows Update). Данный процесс существенно поменялся в Windows Server 2016. Опции в консоли теперь нет, как и самого vmguest.iso. Теперь распространением IS на ВМ занимается сам Windows Update. Но есть особенности, которые мы рассмотрим ниже.
Автоматическая доставка IS через Windows Update доступна для новых ОС внутри ВМ (начиная с Windows Server 2012 R2/Windows 8.1 и новее). Дополнительных действий от вас не требуется.
Если гостевые ОС на базе Windows Server 2012/Windows 8 и старше, то требуется наличие рабочей службы Data Exchange Service (рассмотренная выше). DES предоставляет доступ к параметрам /values HostSystemOSMajor и HostSystemOSMinor, располагающимся в ветке HKLM\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters, для определения необходимости обновления IS на ВМ. Данные параметры должны присутствовать и иметь значения. В противном случае (к примеру, если DES не включен для ВМ или служба не выполняется), IS не будут предоставляться через WU.
TIP: мы можем вручную создать или изменить данные значения реестра для подачи «фальш»-сигнала, но данное действие официально не поддерживается.
Предположим, что в рамках ВМ выполняется Windows Server 2012 R2, а на хосте – Windows Server 2016. DES получает сведения о ВМ, сверяет значения между имеющимися на узле и полученные от ВМ и они оказываются различными, таким образом IS на ВМ не актуальны и их обновление будет выполнено через WU.
В случае с ОС на базе Linux, как правило, IS идут встроенными. В ряде случаев требуется пакет Linux Integration Services или FreeBSD Integration Services. Получить подробные сведения о требованиях к различным дистрибутивам и функциональности можно из статьи «Supported Linux and FreeBSD virtual machines for Hyper-V on Windows».
Если у Вас всё ещё есть виртуализированный Windows Server 2003, который уже не поддерживается, то, как минимум, рекомендуется устанавливать IS, используя vmguest.iso из Windows Server 2012 R2, к примеру. Надежность и производительность не гарантируется, но 2003-й год был уже 14 лет назад. Конечно, миграция на более новые версии ОС будет предпочтительна в данном случае.
Как установить IS вручную?
Если DES не выполняется или Windows Update недоступен из ВМ, то есть специальный KB для самостоятельной загрузки IS «Hyper-V integration components update for Windows virtual machines that are running on a Windows 10 or Windows Server 2016-based host» (доступная в KB версия IS: 6.3.9600.17903) + IS Update для устранения проблем с Windows Server Guest OSes (IS ver.6.3.9600.18080, применим и для Windows 7/8.1).
-Online. Если нужно применить обновление IS на выключенной ВМ (offline vm servicing), то рекомендуем обратиться к данному руководству.
Службы интеграции Hyper-V
Службы интеграции (часто называемые компонентами интеграции) — это службы, позволяющие виртуальной машине связываться с узлом Hyper-V. Многие из этих служб используются для удобства, а другие могут быть достаточно важны для правильной работы виртуальной машины.
В этой статье приведены справочные сведения по каждой из служб интеграции, доступной в Windows. Она также является отправной точкой для получения любых сведений, связанных с конкретными службами интеграции и их историей.
Руководства пользователя:
Краткий справочник
Имя | Название службы Windows | Имя управляющей программы Linux | Описание | Влияние на виртуальную машину при отключении |
---|---|---|---|---|
Служба пульса Hyper-V | vmicheartbeat | hv_utils | Сообщает, что виртуальная машина работает нормально. | Различается |
Завершение работы службы виртуальной машины Hyper-V | vmicshutdown | hv_utils | Позволяет узлу управлять выключением виртуальных машин. | Высокая |
Служба синхронизации времени Hyper-V | vmictimesync | hv_utils | Синхронизирует время виртуальной машины со временем на главном компьютере. | Высокая |
Служба обмена данными Hyper-V (KVP) | vmickvpexchange | hv_kvp_daemon | Позволяет виртуальной машине и узлу обмениваться между собой простыми метаданными. | Средний |
Служба запросов на теневое копирование томов Hyper-V | vmicvss | hv_vss_daemon | Позволяет службе теневого копирования томов выполнить резервное копирование виртуальной машины без ее выключения. | Различается |
Интерфейс гостевой службы Hyper-V | vmicguestinterface | hv_fcopy_daemon | Предоставляет интерфейс для узла Hyper-V для копирования файлов с виртуальной машины и на виртуальную машину. | Низкий |
Служба PowerShell Direct для Hyper-V | vmicvmsession | недоступно | Позволяет управлять виртуальной машиной с помощью PowerShell без подключения к сети. | Низкий |
Служба пульса (Hyper-V)
Имя службы Windows: vmicheartbeat
Имя управляющей программы Linux: hv_utils
Описание. Сообщает узлу Hyper-V, что на виртуальной машине установлена операционная система и что она загрузилась надлежащим образом.
Добавлено в: Windows Server 2012, Windows 8
Влияние. При отключении виртуальная машина не может сообщать о корректной работе своей операционной системы. Это может повлиять на некоторые виды мониторинга и диагностики на стороне узла.
Служба пульсов позволяет ответить на простые вопросы, например: «Загрузилась ли виртуальная машина?».
Когда Hyper-V сообщает, что состояние виртуальной машины — «Запущена» (см. пример ниже), это означает, что Hyper-V выделил ресурсы для виртуальной машины, и это не означает, что на виртуальной машине установлена или нормально работает операционная система. Здесь оказывается полезной служба пульсов. Служба пульсов сообщает Hyper-V о том, что операционная система на виртуальной машине загрузилась.
Проверка пульсов с помощью PowerShell
Запустите Get-VM от имени администратора, чтобы увидеть пульсы от виртуальной машины:
Выходные данные должны иметь следующий вид:
Поле Status определяется службой пульсов.
Служба завершения работы в качестве гостя (Hyper-V)
Имя службы Windows: vmicshutdown
Имя управляющей программы Linux: hv_utils
Описание. Позволяет узлу Hyper-V запрашивать завершение работы виртуальной машины. Компьютер виртуальной машины всегда может принудительно выключить виртуальную машину, но это похоже на нажатие кнопки выключения в отличие от корректного завершения работы.
Добавлено в: Windows Server 2012, Windows 8
Влияние:высокая степень влияния. При отключении узел не сможет корректно завершить работу виртуальной машины. Выключение будет только жестким, что может привести к потере или повреждению данных.
Служба синхронизации времени Hyper-V
Имя службы Windows: vmictimesync
Имя управляющей программы Linux: hv_utils
Описание: Синхронизирует системное время виртуальной машины с системным временем физического компьютера.
Добавлено в: Windows Server 2012, Windows 8
Влияние:высокая степень влияния. При отключении время на виртуальной машине будет случайным образом отклоняться от времени компьютера.
Служба обмена данными Hyper-V (KVP)
Имя службы Windows: vmickvpexchange
Имя управляющей программы Linux: hv_kvp_daemon
Описание. Предоставляет механизм для обмена простыми метаданными между виртуальной машиной и узлом.
Добавлено в: Windows Server 2012, Windows 8
Влияние. При отключении виртуальные машины с системой Windows 8, Windows Server 2012 или более ранней версией не будут получать обновления для служб интеграции Hyper-V. Отключение обмена данными также может повлиять на некоторые виды мониторинга и диагностики на стороне узла.
Служба обмена данными (иногда называемая KVP) предоставляет небольшой объем данных о виртуальной машине узлу Hyper-V (и наоборот) с помощью пар «ключ-значение» (KVP) в реестре Windows. Тот же механизм может также применяться для совместного использования настроенных данных виртуальной машиной и узлом.
Пары «ключ-значение» состоят из ключа и значения. И ключ, и значение являются строками, другие типы данных не поддерживаются. При создании или изменении пары «ключ-значение» она доступна как в гостевой ОС, так и на узле. Данные из пары «ключ-значение» передаются через шину VMbus Hyper-V и не требуют никакого сетевого подключения между гостевой ОС и узлом Hyper-V.
Служба обмена данными — это мощный инструмент для сохранения данных о виртуальной машине; для совместного использования интерактивных данных или передачи данных используйте PowerShell Direct.
Руководства пользователя:
Служба запросов на теневое копирование томов Hyper-V
Имя службы Windows: vmicvss
Имя управляющей программы Linux: hv_vss_daemon
Описание. Позволяет службе теневого копирования томов выполнять резервное копирование приложений и данных на виртуальной машине.
Добавлено в: Windows Server 2012, Windows 8
Влияние. При отключении невозможно выполнить резервное копирование виртуальной машины во время выполнения (с помощью VSS).
Служба запросов на теневое копирование томов необходима для службы теневого копирования томов (VSS). Служба теневого копирования томов (VSS) захватывает и копирует образы для резервного копирования в работающих системах, в частности на серверах, без существенного снижения производительности и с сохранением стабильности работы служб, предоставляемых этими системами. Для этого служба интеграции координирует рабочие нагрузки виртуальной машины с процессом резервного копирования узла.
Дополнительные сведения о теневом копировании томов см. здесь.
Интерфейс гостевой службы Hyper-V
Примечания.
Отключено по умолчанию. См. раздел PowerShell Direct с использованием Copy-Item.
Служба PowerShell Direct для Hyper-V
Имя службы Windows: vmicvmsession
Имя управляющей программы Linux: отсутствует
Описание. Предоставляет механизм для управления виртуальной машиной с помощью PowerShell, используя сеанс виртуальной машины без виртуальной сети.
Добавлено в: Windows Server TP3, Windows 10
Влияние. При отключении этой службы узел не сможет подключиться к виртуальной машине с помощью PowerShell Direct.
Примечания.
Изначально эта служба называлась службой сеансов виртуальных машин Hyper-V.
PowerShell Direct находится в активной разработке и доступен только для узлов и гостевых ОС с Windows 10 и Windows Server Technical Preview 3 или более поздней версией.
С помощью PowerShell Direct можно управлять виртуальной машиной средствами PowerShell с узла Hyper-V независимо от конфигурации сети и параметров удаленного управления на узле Hyper-V или виртуальной машине. Это позволяет администраторам Hyper-V автоматизировать управление и настройку с помощью сценариев.
Особенности настройки времени для виртуальных контроллеров домена
Сегодня речь пойдет о некоторых особенностях настройки службы времени на виртуальных контроллерах домена. Обычно схема синхронизации времени в домене Active Directory выглядит следующим образом:
• Все рядовые сервера и рабочие станции синхронизируют свое время с ближайшим доступным контроллером домена;
• Все контроллеры домена синхронизируются с контроллером, которому принадлежит роль PDC-эмулятор;
• PDC-эмулятор является главным источником времени в домене и поэтому должен быть настроен на синхронизацию с надежным внешним источником времени.
Например так выглядят настройки времени на нашем виртуальном контроллере домена. Как видите, на нем с помощью групповых политик настроена синхронизация с внешним источником pool.ntp.org.
Однако если проверить текущий источник времени, то можно довольно сильно удивиться, т.к. в качестве источника выступает непонятная сущность с названием VM IC Time Synchronization Provider.
Дело в том, что по умолчанию виртуальные машины Hyper-V синхронизируют свое время с хостом, причем вне зависимости от настроек службы времени внутри машины. В результате может получиться довольно странная ситуация, когда хост является членом домена и синхронизируется с контроллером, который в свою очередь является виртуальной машиной и синхронизируется с хостом.
Для того, чтобы избежать подобной ситуации, для виртуальных контроллерах домена необходимо отключить синхронизацию времени с хостом. Сделать это можно двумя способами.
Способ первый — отключить синхронизацию в свойствах ВМ. Для этого надо в оснастке Hyper-V Manager открыть свойства виртуальной машины, перейти в раздел «Integration Services» и снять галку с пункта «Time synchronization».
Или то же самое с помощью PowerShell. Например такой командой выведем состояние службы для ВМ:
А такой отключим синхронизацию:
Способ второй — отредактировать реестр внутри виртуальной машины. Для отключения синхронизации надо выставить значение 0 для параметра Enabled, находящегося в разделе HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider.
Эту настройку можно произвести из командной строки, выполнив команду:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
После отключения синхронизации любым из описанных способов необходимо хорошенько пнуть службу времени, чтобы она перестроилась на новый источник. На контроллере домена с ролью PDC-emulator необходимо рестартовать службу и запустить синхронизацию:
net stop w32time & net start w32time
w32tm /resync /force
На остальных контроллерах дополнительно надо выполнить команду:
w32tm/config /syncfromflags:DOMHIER /update
Это заставит службу времени выбрать в качестве источника PDC-emulator согласно доменной иерархии. Таким образом мы получим правильную схему синхронизации времени в домене.
Служба синхронизации времени hyper v что это
Этот форум закрыт. Спасибо за участие!
Лучший отвечающий
Вопрос
А вот физический хост постоянно убегает по времени от виртуального контроллера домена вперёд, за сутки больше минуты
— почему он не хочет синхронизоваться с конроллером домена?
Ответы
Все ответы
Роль виртуализации, сдается мне, тут не при чем.
Ознакомьтесь, может быть поможет. Удостоверьтесь, что хост синхронизируется с контроллером, в общем.
Эту статью уже видел, вроде всё настроено нормально
на физическом хосте выполняю
C:\Users\Admin>w32tm /monitor
Central.plx.local *** PDC ***[192.168.0.100:123]:
ICMP: 0ms задержка
NTP: +0.0000000s смещение относительно Central.plx.local
RefID: time.nist.gov [192.43.244.18]
Страта: 2
Получается он таки берёт время с контроллера домена, но время у них не совпадает
sysrtfm
Блог, инструкция системного администратора, форум, советы, помощь
Синхронизация времени на виртуальных машинах Hyper-V 2008 R2 SP1 хоста
Привет, столкнулся на работе с проблемкой. На виртуальных машинах рассинхронизировалось время, могло уехать на несколько часов за сутки. Причем виртуалки находятся на кластере Hyper-V Server, и кластер в собственном домене. Было принято решение настроить синхронизацию времени домена с внешнего источника времени.
В моем случае существует 2 контроллера домена кластера, один из них на самом кластере, другой на отдельной ноде Hyper-V кластера на выделенном сервере. Нам потребуется настроить оба контроллера домена (далее DC). Требуются права администратора домена.
Заходим на первый DC, открываем редактор реестра, заходим в раздел:
Присваиваем AnnounceFlags значение 5 как на скриншоте:
Далее в разделе Parameters меняем значение ключа NtpServer на:
И Type на NTP
Далее идем в управление сервером\службы находим там «Служба синхронизации времени Hyper-V» останавливаем ее и ставим тип запуска «Вручную»
Затем перезапускаем «Служба времени Windows»
Запускаем CMD от имени администратора
Для проверки корректности настроек вводим:
Если все корректно настроено то время синхронизируется. Далее вводим
Для определения от куда синхронизируется время. Последняя команда нужна для отображения разницы во времени с источником времени
Данные действия необходимо повторить на всех DC. Если на виртуальных серверах в этом домене будут проблемы со временем то нужно будет на них отключить «Служба синхронизации времени Hyper-V«. Через некоторое время (около 15 минут) проверяем синхронизацию времени на серверах.
Если у вас все работает корректно, то советую все равно проверить каким образом у Вас проходит синхронизация для того чтобы убедится что все так как должно быть.