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

в 10:16, , рубрики: hyper-v, microsoft, windows server 2016, Блог компании Microsoft, виртуализация, Серверное администрирование

Службы интеграции Hyper-V отвечают за эффективное взаимодействие виртуальных машин и гипервизора посредством установки дополнительных сервисов в гостевую ОС. Для понимания степени важности, предлагаем кратко рассмотреть каждую из них, а также ключевые изменения в Windows Server 2016.

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

По умолчанию, не все службы включены. Guest Services, как правило, включается по мере необходимости. Остальные отвечают за более важную функциональность.

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

Operating System Shutdown – включает возможность завершения работы ВМ (аналогия привычного shutdown из гостевой ОС), используя Hyper-V Manager или PowerShell/WMI.

Time Synchronization – отвечает за предоставление синхронизации времени между хостом и виртуальной машины.

Data Exchange или KVP (key-value pairs) – предоставляет функционал обмена значениями формата key + value типа strings, расположенных в ветке реестра HKLMSoftwareMicrosoftVirtual Machine или в файлах kvp_pool_x (для ОС Linux) через VMbus. На стороне хоста WMI-запросами занимается VMMS.exe (функции AddKvpItems, ModifyKvpItems и RemoveKvpItems). В свою очередь, на ВМ должна быть запущена служба Hyper-V Data Exchange Service.

HKLMSoftwareMicrosoftVirtual MachineAuto содержит информацию о ВМ, которая генерируется во время первого запуска службы Hyper-V Data Exchange Service.

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

HKLMSoftwareMicrosoftVirtual MachineExternal содержит данные, отправленные пользователем со стороны хоста. По умолчанию данный раздел пуст и не содержит никаких объектов KVP.

HKLMSoftwareMicrosoftVirtual MachineGuest презентует данные, которые необходимо отправить узлу виртуализации из данной ВМ. К примеру, сведения о AVMA-активации или кастомные параметры, которые вашему приложению необходимо передать на уровень выше (да, в целом, мы можем добавлять собственные пары key + value и работать с ними через KVP и WMI без предоставления credentials. Новая аналогия – PowerShell Direct, но со своими плюсами и минусами).

HKLMSoftwareMicrosoftVirtual MachineGuestParameters содержит информацию об узле виртуализации (наименование, FQDN, VMID и так далее). Запомните эту ветку – она далее нам пригодится.

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

Heartbeat отвечает за проверку состояния ВМ через hearbeats, выполняемые в определенный интервал, между ВМ и узлом.

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

Backup (volume snapshot) включает возможность использования задач резервного копирования ВМ на уровне хоста для обеспечения консистентности резервных копий.

Guest Services обеспечивают передачу файлов в ВМ через WMI или PowerShell (Copy-VMFile). По умолчанию, не включена. Более подробно можно почитать здесь.

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

Что нужно учитывать в Windows Server 2016?

Все помнят, что для установки служб интеграции приходилось монтировать ISO-образ (%systemroot%system32vmguest.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, располагающимся в ветке HKLMSOFTWAREMicrosoftVirtual MachineGuestParameters, для определения необходимости обновления IS на ВМ. Данные параметры должны присутствовать и иметь значения. В противном случае (к примеру, если DES не включен для ВМ или служба не выполняется), IS не будут предоставляться через WU.

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

TIP: мы можем вручную создать или изменить данные значения реестра для подачи «фальш»-сигнала, но данное действие официально не поддерживается.

Предположим, что в рамках ВМ выполняется Windows Server 2012 R2, а на хосте – Windows Server 2016. DES получает сведения о ВМ, сверяет значения между имеющимися на узле и полученные от ВМ и они оказываются различными, таким образом IS на ВМ не актуальны и их обновление будет выполнено через WU.

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

В случае с ОС на базе 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».

Предварительно нужно удостовериться в наличии установленных 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), то рекомендуем обратиться к данному руководству.

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

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

Об авторе

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

Автор: Microsoft

Источник

Поделиться

* - обязательные к заполнению поля