Запуск виртуальной машины внутри виртуальной машины

Содержание

VirtualBox: как запустить виртуальную машину внутри другой виртуальной машины (вложенная виртуализация)

Функция вложенной виртуализации – Nested VT-x/AMD-v позволяет запускать виртуальные машины внутри других виртуальных машин. То есть используя вложенную виртуализацию можно установить тот же Virtualbox на уже имеющуюся виртуальную машину и запускать другие виртуальные машины уже внутри неё.

virtualbox nested vt x amd v on

Начиная с версии 6.1, VirtualBox поддерживает функцию вложенной виртуализации на хост-системах с процессорами AMD и Intel (убедитесь, что у вас установлена последняя версия Virtualbox).

Для процессоров Intel вложенная виртуализация недоступна из графического интерфейса программы (опция «Включить Nested VT-x/AMD-v» недоступна в настройках Virtualbox), но её можно включить посредством командной строки. Далее и рассмотрим как это сделать.

virtualbox nested vt x amd v on screenshot 1

Как включить вложенную виртуализацию Nested VT-x с помощью командной строки

В нашем примере вложенная виртуализация была подключена для виртуальной Windows 10.

Теперь, если мы перейдём в настройки VirtualBox (Настроить → Система → Процессор), то увидим, что опция «Включить Nested VT-x/AMD-v» теперь активна,

virtualbox nested vt x amd v on screenshot 5

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

Источник

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

Автор статьи — Михаил Комаров, MVP — Cloud and Datacenter Management

Добрый день! Цель сегодняшней статьи — рассказать о реализации вложенной виртуализации на платформе Hyper-V. Не секрет, что Hyper-V не поддерживал вложенную виртуализацию в отличие от других производителей. С выходом сборки Windows Server 2016 Technical Preview 4 (TP4), которая предназначена для желающих попробовать новый функционал, ситуация изменилась. Демонстрации вложенной виртуализации можно увидеть в записи доклада «Один доклад, один ноутбук, один датацентр» мероприятия Microsoft TechDay 2015.

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

Выбор этой системы был обусловлен желанием показать, насколько невысоким может быть порог вхождения в технологии виртуализации. В общем обычная система по сегодняшним меркам, когда у большинства дома стоят Intel Core i3 и выше, и объем оперативной памяти стартует от 8GB. Это значит, что Вы при необходимости сможете использовать вложенную виртуализацию.

Архитектура

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

image loader

На нулевом уровне здесь физический хост, а на первом уровне — тонкий слой программного обеспечения, называемый гипервизором. Также на первом уровне находится раздел с корневой операционной системой и разделы для виртуальных машин. Проиллюстрируем с использованием утилиты CoreInfo от Марка Руссиновича поведение параметров процессора, связанных с виртуализацией. В таблице приведены первые несколько строк работы утилиты CoreInfo.

image loader

До включения роли Hyper-V в операционную систему передавался параметр процессора, связанный с виртуализацией. Это видно по двум строкам в левой части таблицы. Первый параметр — отсутствие гипервизора, второй – флаг, ответственный за виртуализацию. После включения роли гипервизора посмотрим снова на свойства процессора в корневом разделе и увидим следующее: гипервизор включен, и флаг, связанный с виртуализацией, не транслируется в раздел корневой операционной системы. Также обратим внимание на значение Microprocessor signature, которое в нашем случае 0000710 и связано с физическим процессором.

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

image loader

image loader

Из таблицы видно, что виртуальная машина «понимает», что работает из-под гипервизора. Но до запуска скрипта флаг, связанный с виртуализацией, не передаётся. Далее отработал скрипт, который изменил свойства нашей виртуальной машины и ее процессора и флаг, связанный с виртуализацией, появился. Далее мы включили роль Hyper-V, после этого возник тонкий слой виртуализации и наша операционная система переместилась в свой корневой раздел, флаг виртуализации исчез. Также обратим внимание на значение Microprocessor signature, которое в нашем случае стало FFFFFFFF, что указывает на виртуализацию процессора. Далее мы создали виртуальную машину внутри виртуальной машины и для чистоты эксперимента запустили утилиту CoreInfo.

image loader

В общем-то, ожидаемый результат — присутствие гипервизора и отсутствие флага виртуализации на первом этапе и присутствие флага виртуализации на втором. В итоге имеем вот такое решение.

image loader

Настройки и ограничения

Ресурсы

Спасибо за внимание,
Михаил Комаров
MVP — Cloud and Datacenter Management

Источник

Запуск Hyper-V в виртуальной машине со вложенной виртуализацией

Вложенная виртуализация — это компонент, который позволяет запускать Hyper-V в виртуальной машине (ВМ) Hyper-V. Это полезно для запуска эмулятора телефона Visual Studio на виртуальной машине и для тестирования конфигураций, для которых обычно требуется несколько узлов.

hypervnesting

Предварительные требования

Процессор Intel с технологиями VT-x и EPT.

Процессор AMD EPYC/Ryzen или более новый.

В гостевой системе может использоваться любая поддерживаемая операционная система Windows на виртуальной машине. Более новые операционные системы Windows могут поддерживать компоненты паравиртуализации, повышающие производительность.

Настройка вложенной виртуализации

Отключение вложенной виртуализации

Вы можете отключить вложенную виртуализацию в остановленной виртуальной машине следующей командой PowerShell:

Изменение размера динамической памяти и памяти для среды выполнения

При запуске Hyper-V в виртуальной машине в ней должна быть отключена настройка памяти. Это означает, что даже если динамическая память включена, ее объем не будет изменяться. Для виртуальных машин без динамической памяти все попытки изменить объем памяти включенной машины завершатся сбоем.

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

Параметры сетей

Существуют два параметра для сетей со вложенными виртуальными машинами:

Спуфинг MAC-адресов

Чтобы сетевые пакеты перенаправлялись через два виртуальных коммутатора, необходимо включить спуфинг MAC-адресов на первом (L1) уровне виртуального коммутатора. Это можно сделать с помощью следующей команды PowerShell.

Преобразование сетевых адресов (NAT)

Второй параметр связан с преобразованием сетевых адресов (NAT). Этот подход рекомендуется для случаев, когда спуфинг MAC-адресов невозможен, например в общедоступной облачной среде.

Сначала необходимо создать виртуальный коммутатор NAT в виртуальной машине узла («средняя» виртуальная машина). Обратите внимание, что IP-адреса приведены только в качестве примера и будут разниться в зависимости от сред:

Далее назначьте IP-адрес для сетевого адаптера:

Каждая вложенная виртуальная машина должна иметь назначенный IP-адрес и шлюз. Обратите внимание, что IP-адрес шлюза должен указывать на адаптер NAT из предыдущего действия. Можно также назначить DNS-сервер:

Принцип работы вложенной виртуализации

Современные процессоры поддерживают аппаратные функции, которые делают виртуализацию быстрее и надежнее. Hyper-V использует эти расширения процессора (например, Intel VT-x и AMD-V) для выполнения виртуальных машин. Как правило, после запуска Hyper-V другое программное обеспечение блокируется с помощью этих возможностей процессора. Это предотвращает запуск Hyper-V на гостевых виртуальных машинах.

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

На схеме ниже показана роль Hyper-V без вложения. Низкоуровневая оболочка Hyper-V полностью контролирует возможности аппаратной виртуализации (оранжевая стрелка) и скрывает их от операционной системы.

hvnonesting

На следующей схеме показана роль Hyper-V с включенной вложенной виртуализацией. В этом случае Hyper-V предоставляет расширения аппаратной виртуализации виртуальным машинам. Если вложение включено, гостевая виртуальная машина может установить собственную низкоуровневую оболочку и запускать свои гостевые виртуальные машины.

hvnesting

Сторонние приложения виртуализации

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

Источник

Как включить вложенную виртуализацию Nested VT-x/AMD-v в VirtualBox

Вложенная виртуализация – это функция, которая позволяет запускать виртуальные машины внутри виртуальных машин. Например, допустим, есть необходимость в запуске виртуальной машины с операционной системой CentOS с использованием Oracle VirtualBox в вашей виртуальной системе Ubuntu Linux. Если в Ubuntu включена функция вложенной виртуализации – Nested VT-x/AMD-v, вы можете установить Virtualbox или KVM на виртуальной машине CentOS и запустить другие виртуальные машины внутри нее. Таким образом, в основном это метод запуска среды виртуализации в другой среде виртуализации.

Начиная с версии 6.1, Oracle VM VirtualBox поддерживает функцию вложенной виртуализации на хост-системах с процессорами AMD и Intel. Поэтому убедитесь, что у вас установлена последняя версия Virtualbox.

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

Как включить вложенную виртуализацию Nested VT-x VirtualBox в системах в Microsoft Windows

Вложенная виртуализация включается отдельно для каждой виртуальной системы.

Открываем Командую строку (cmd.exe) от имени Администратора и выполняем следующие команды.

Переходим в директорию установленной программы в Program Files:

Выводим список виртуальных систем с помощью команды:

Выбрав точное название виртуальной системы, подключаем вложенную виртуализацию:

В данном случае вложенная виртуализация была подключена для виртуальной системы Ubuntu 20.04.

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

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

Как включить вложенную виртуализацию Nested VT-x/AMD-v в VirtualBox в системах GNU/Linux

Открываем Терминал и выполняем следующие команды.

Для отображения списка виртуальных систем:

Для включения вложенной виртуализации:

Теперь в виртуальной системе вы можете установить VirtualBox и в нем установить еще одну виртуальную машину.

Источник

VirtualBox

Введение

Установка VirtualBox

Про установку VirtualBox вы можете прочитать в статье

NAT Network

Создать новую NAT Network можно следующим образом

File → Preferences → Network → +

Чтобы попасть в Preferences нажмите CTRL + G

natnetwork 00100 small

Перейдите в Network

natnetwork 00102 small

Нажмите на плюс справа. Virtualbox создаст сеть с именем NatNetwork

natnetwork 00104 small

Нажимая на плюс можно создать другие сети. Они будут называться NatNetwork1, NatNetwork2 …

natnetwork 00106 small

Добавить Adapter

Чтобы добавить адаптер к существующей виртуальной машине сперва нужно выполнить Power Off.

Затем откройте Settings → Network → Выберите адаптер, например Adapter 3 → Поставьте галочку в боксе Enable Network Adapter

VB Adapter3 disabled small

Теперь можно настроить Adapter

VB Adapter3 enabled small

Экспорт и импорт виртуальных машин

Чтобы перенести виртуальную машину с одного компьютера на другой достаточно зайти в

File → Export Appliance… (Ctrl+E)

File → Import Appliance… (Ctrl+E)

Типы сетевых подключений

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

В таблице вы можете найти обзор самых важных сетевых режимов

Обзор сетевых режимов

Mode VM→Host VM←Host VM1↔VM2 VM→Net/LAN
VM←Net/LAN
Host-only + + +
Internal
+
Bridged + + + + +
NAT
+ Port forward + Port forward
NATservice + Port forward + +
Port forward

История

Программа была создана компанией Innotek с использованием исходного кода Qemu. Первая публично доступная версия VirtualBox появилась 15 января 2007 года.

В феврале 2008 года Innotek был приобретён компанией Sun Microsystems, модель распространения VirtualBox при этом не изменилась. В январе 2010 года Sun Microsystems была поглощена корпорацией Oracle, модель распространения осталась прежней.

Ключевые возможности

Вложенная виртуализация

(Nested Virtualization)

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

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

Вложенная виртуализация становится все более необходимой по мере того, как широко распространенные операционные системы получают встроенные функции гипервизора, которые в виртуализированной среде могут использоваться только в том случае, если окружающий гипервизор поддерживает вложенную виртуализацию; например, Windows 7 способна запускать приложения Windows XP внутри встроенной виртуальной машины. Кроме того, перенос уже существующих виртуализированных сред в облако в соответствии с подходом «Инфраструктура как услуга» (IaaS) намного сложнее, если целевая платформа IaaS не поддерживает вложенную виртуализацию.

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

Со временем все больше архитектур получают необходимую аппаратную поддержку; например, с момента появления микроархитектуры Haswell (анонсированной в 2013 году) Intel начала включать затенение VMCS в качестве технологии, ускоряющей вложенную виртуализацию

Включить вложенную виртуализацию

Через VirtualBox Manager (главное окно графического пользовательского интерфейса) это делается в настройкой машины

Settings → System → Processor → Enable Nested VT-x/AMD-V

Хотя в названии присутствует AMD была обещана поддержка в том числе и Intel

Если в настройках опция Enable Nested VT-x/AMD-V неактивна воспользуйтесь VBoxManage

virtualbox nested vt grey small

В терминале выполните

Источник

Оцените статью
AvtoRazbor.top - все самое важное о вашем авто