Pull to refresh
0
Microsoft
Microsoft — мировой лидер в области ПО и ИТ-услуг

Windows Server 2016 и службы интеграции Hyper-V

Reading time 5 min
Views 40K
Службы интеграции 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).

Предварительно нужно удостовериться в наличии установленных April 2014, update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 (2919355) и Service Pack 1 for Windows 7.

IS из KB доступен в виде cab-файла, который можно применить через PowerShell: Add-WindowsPackage -PackagePath <path> -Online. Если нужно применить обновление IS на выключенной ВМ (offline vm servicing), то рекомендуем обратиться к данному руководству.

Примечание: более новая версия IS выложена в виде vmguest.iso (смотрите ниже, неофициальный источник загрузки) для упрощения процесса самостоятельного обновления.

Где я могу найти VMGuest.iso?


Загрузить VMGuest.ISO можно здесь. Данный образ содержит IS Windows Server 2012 R2, обновленные на текущий момент (февраль, 2017. Версия IS 6.3.9600.18398). Вы можете использовать их для установки или обновления IS «доисторических» ОС на узлах Windows Server 2016 (миграция на новые ОС предпочтительна) или на узлах Windows Server 2012 R2/Windows 8.1.

Об авторе


Роман Левченко начал свою IT-карьеру в 2007 году и на данный момент работает в качестве Системного Архитектора в лидирующем интеграторе. Имеет опыт построения комплексных систем преимущественно на базе продуктов Microsoft с использованием облачных технологий Azure и широкого спектра аппаратного обеспечения от ведущих вендоров. Сертифицирован по технологиям Windows Server, Hyper-V, System Center, VMware vSphere и системам объединенных коммуникаций. Впервые получил статус MVP в 2014 году и является VMware vExpert с 2016 года. Делится своим практическим опытом по автоматизации (PowerShell), облачным технологиям (Azure, Hybrid/Private Clouds) и виртуализации в блоге, активно участвует в жизни технических сообществ.
Tags:
Hubs:
+9
Comments 15
Comments Comments 15

Articles

Information

Website
www.microsoft.com
Registered
Founded
Employees
Unknown
Location
США