Вложенная Виртуализация Hyper-V — Первый Шаг

Автор статьи – Михаил Комаров, MVP – Cloud and Datacenter Management Добрый день.

Цель сегодняшней статьи — рассказать о реализации вложенной виртуализации на платформе Hyper-V. Ни для кого не секрет, что Hyper-V не поддерживает вложенную виртуализацию, в отличие от других производителей.

С выходом Windows Server 2016 Техническая предварительная версия 4 (TP4), которая предназначена для тех, кто хочет опробовать новый функционал, ситуация изменилась.

Демонстрации вложенной виртуализации можно увидеть в записи доклада " Один отчет, один ноутбук, один центр обработки данных " События Microsoft TechDay 2015 .

Все демонстрации проводились на HP Blade Gen 8 с базовым процессором Intel Xeon E5 2670 и 32 ГБ оперативной памяти.

Выбор этой системы был обусловлен желанием показать, насколько низким может быть порог вхождения в технологии виртуализации.

В общем, обычная система по сегодняшним меркам, когда у большинства дома стоит Intel Core i3 или выше, а объем оперативной памяти начинается от 8Гб.

Это означает, что при необходимости вы можете использовать вложенную виртуализацию.

Архитектура Вспомним классический вариант виртуализации.

Если у нас есть физический хост с поддержкой технологии виртуализации на уровне чипсета и процессора и необходимыми опциями, включенными в BIOS, то мы получаем следующую картину:

Вложенная виртуализация Hyper-V — первый шаг

На нулевом уровне находится физический хост, а на первом уровне — тонкий уровень программного обеспечения, называемый гипервизором.

Также на первом уровне есть раздел с корневой операционной системой и разделы для виртуальных машин.

Проиллюстрируем с помощью утилиты CoreInfo от Марка Руссиновича поведение параметров процессора, связанное с виртуализацией.

В таблице показаны первые несколько строк утилиты CoreInfo.

Вложенная виртуализация Hyper-V — первый шаг

До включения роли Hyper-V параметр процессора, связанный с виртуализацией, передавался в операционную систему.

Это можно увидеть в двух строках в левой части таблицы.

Первый параметр — отсутствие гипервизора, второй — флаг, отвечающий за виртуализацию.

После включения роли гипервизора еще раз посмотрим на свойства процессора в корневом разделе и увидим следующее: гипервизор включен, а флаг, связанный с виртуализацией, не транслируется в корневой раздел операционной системы.

Обратим также внимание на значение подписи микропроцессора, которое в нашем случае равно 0000710 и связано с физическим процессором.

Перейдем к вложенной виртуализации.



Вложенная виртуализация Hyper-V — первый шаг

На рисунке видно, что необходимо перебросить флаг, связанный с виртуализацией, в гостевую ОС.

То есть в общем-то мы должны сказать гипервизору на первом уровне, что необходимо включить поддержку виртуализации в общем процессоре виртуальной машины.

Для этого вам необходимо запустить скрипт, изменяющий некоторые свойства виртуальной машины.

Одним из основных свойств, которые меняет скрипт, является поведение процессора виртуальной машины.

// Set-VMProcessor -VMName $vmName -ExposeVirtualizationExtensions $true //.

О других параметрах мы поговорим чуть позже.

Проиллюстрируем поведение параметров процессора, связанных с виртуализацией, на виртуальной машине.

В таблице показаны первые несколько строк утилиты CoreInfo.

Вложенная виртуализация Hyper-V — первый шаг

Из таблицы видно, что виртуальная машина «понимает», что она работает под гипервизором.

Но до запуска скрипта флаг, связанный с виртуализацией, не передается.

Далее выполнился скрипт, изменивший свойства нашей виртуальной машины и ее процессора, и появился флаг, связанный с виртуализацией.

Далее мы включили роль Hyper-V, после чего появился тонкий слой виртуализации и наша операционная система переместилась в свой корневой раздел, флаг виртуализации исчез.

Обратим также внимание на значение подписи микропроцессора, которое в нашем случае стало FFFFFFFF, что указывает на виртуализацию процессора.

Далее мы создали виртуальную машину внутри виртуальной машины и для чистоты эксперимента запустили утилиту CoreInfo.

Вложенная виртуализация Hyper-V — первый шаг

В целом ожидаемый результат — наличие гипервизора и отсутствие флага виртуализации на первом этапе и наличие флага виртуализации на втором.

В результате мы имеем вот такое решение.



Вложенная виртуализация Hyper-V — первый шаг

Настройки и ограничения Теперь поговорим о некоторых ограничениях этой технологии в TP4 для включенной вложенной виртуализации на первом уровне виртуальной машины:

  • В настоящее время поддержка доступна только для процессоров Intel с поддержкой EPT (SLAT).

  • Динамическую память необходимо отключить.

  • Изменение размера памяти приводит к ошибкам.

  • Снимки с работающей виртуальной машины не допускаются.

  • Живая миграция приводит к ошибкам.

  • Сохранение и восстановление могут привести к ошибкам.

  • Вам необходимо включить подмену MAC в свойствах сетевого адаптера.

Пошаговая инструкция выглядит так:
  1. Устанавливаем сборку на физический хост с включенными опциями виртуализации.

  2. Создаем виртуальную машину, в которой включим виртуализацию.

    На эту машину желательно выделить не менее 4ГБ ОЗУ, иначе скрипт придется править.

    Виртуальную машину необходимо выключить!

  3. Запускаем скрипт на физическом хосте, указав имя ранее созданной виртуальной машины.

    Ссылка на скрипт находится в конце статьи.

  4. Включите роль Hyper-V на виртуальной машине.

  5. Создаем новую виртуальную машину с помощью диспетчера Hyper-V в ранее созданной виртуальной машине.

В результате у нас есть решение, которое позволит вам делать множество вещей на одном физическом хосте.

Например, кластер, собранный из хостов Hyper-V, что позволит сократить количество используемого оборудования как дома, так и в учебных аудиториях.

Ресурсы Техническая предварительная версия Windows Server Анонс поддержки вложенной виртуализации от группы продуктов (англ.

) Ссылка на утилиту CoreInfo Ссылка на скрипт на GitHub Спасибо за внимание, Михаил Комаров MVP — управление облаком и центром обработки данных

Теги: #Hyper-V #Windows Server 2016 #вложенная виртуализация #вложенная виртуализация
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.