Можно ли запустить виртуальную машину на виртуальной машине

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

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

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

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Источник

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

При попытке запуска 64битной виртуальной машины (virtualbox/vagrant, далее гость/гость) внутри другой 64битной машины (чистый virtualbox, далее гость/хост) виртуалбокс выдает сообщение об ошибке (VT-x/AMD-V hardware acceleration is not available on your system). Соответствующая галка о включении VT-x/AMD-V в настройках машины гость/хост стоит, в выводе /proc/cpuinfo нет флагов vmx или svm. В чем может быть проблема и откуда начинать копать?

Лог виртуальной машины: VBox.log

1 ответ 1

Это абсолютно нормальное поведение. Вложенный запуск виртуальной машины внутри другой (nested virtualization), в том случае если в обоих случаях требуется аппаратная виртуализация (инструкции VMX, если мы говорим об Intel; и SVM, если мы говорим об AMD), до недавних пор — и об этом я скажу ниже — была невозможна.

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

Что безусловно возможно и будет работать, это использование для вложенной виртуализации такой системы виртуализации, которая не требует аппаратных расширений. Например, kqemu или xen в паравиртуальном режиме.

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

В новых процессорах появились расширения, позволяющие выполнять вложенную аппаратную виртуализацию. Одна из таких это VMCS Shadowing и EPT A/D bits (Extended Page Table Accessed and Dirty bits).

Поддержка на уровне процессора появилась в последнем Xeon’е (Intel® Xeon® E5-2600 v3) в конце 2014 года. Поддержка со стороны программного обеспечения появилась впервые в Xen 4.4.

Что касается VirtualBox, то он названные технологии не поддерживает, т.е. даже наличие соответствующего процессора у вас не исправило бы ситуацию. Подробнее:

Источник

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

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Процессор 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 полностью контролирует возможности аппаратной виртуализации (оранжевая стрелка) и скрывает их от операционной системы.

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

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

Источник

Вложенная виртуализация 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 необходимыми опциями, то получаем следующую картину:

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

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

Ресурсы

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

Источник

Некоторые особенности использования виртуальных машин для новичков

Виртуальные машины, такие как Virtualbox, используются для эмуляции виртуальное оборудование и запуска нескольких операционных систем на компьютере. Чем лучше будет у вас CPU и чем больше будет оперативной памяти, тем быстрее будут выполнятся виртуальные машины на вашем компьютере.
Я предлагаю несколько советов которые помогут вам сэкономить время при начальной настройке виртуальных машин. Это будет полезно для работы с виртуальными машинами VirtualBox, VMware, Parallels, или любой другой.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Обязательно установите дополнения гостевой ОС VirtualBox или VMware Tools

Установка пакета проста — в VirtualBox, после загрузки гостевой операционной системы, нажмите кнопку меню Устройства и выберите «Install Guest Additions». Если вы используете VMware, выберите «Install VMware Tools» в меню Virtual Machine. Следуйте инструкциям на экране для завершения установки — если вы используете Windows в качестве гостевой операционной системы, то это будет аналогично установке любого другого приложения.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Убедитесь, что вы имеете самую последнюю версию Guest Additions — если вы видите уведомление, что доступно обновление для Guest Additions или VMware Tools, вы должны установить его.

Создание фиксированного размера дисков при первоначальной настройке

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

Например, если вы создаете новую виртуальную машину с динамически выделяемым диском с максимальным размером 30 Гб, это не займет до 30 Гб места на жестком диске сразу.После установки операционной системы и программ, диск может только занять до 10 Гб. По мере добавления файлов на виртуальном диске, он будет расширяться до максимального размера в 30 Гб.

Это может быть удобно — каждая виртуальная машина не будет занимать неоправданно много места на вашем жестком диске. Тем не менее, это медленнее, чем создание фиксированного размера диска (диск с заранее выделенным местом). При создании фиксированного размера диска, все 30 Гб, будет занято немедленно на вашем компьютере.

Здесь есть компромисс — фиксированный размер диска занимает больше места на жестком диске, но работает с виртуальным жестким диском быстрее. Вы также избавитесь от фрагментации файла — место будет занято большим блоком вместо того, чтобы добавлять по всему диску более мелкие куски.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Исключите каталог виртуальных машин в вашем антивирусе

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

Чтобы ускорить процесс, вы можете добавить свой виртуальный каталог машины в список исключений антивирусного автора. Как только он находится в списке, ваш антивирус будет игнорировать все файлы в этом каталоге.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Выделите больше памяти

Виртуальные машины любят много виртуальной памяти. Microsoft рекомендует 2 Гб RAM для 64-битной Windows 7, и эта рекомендация относится и к Windows 7 x32, когда он работает в виртуальной машине. Если вы работаете большими приложениями в виртуальной машине, вы можете выделить более 2 Гб оперативной памяти.

Вы можете выделить больше оперативной памяти в диалоге настроек вашей виртуальной машины (виртуальная машина должна быть выключена, чтобы сделать это). Если на Вашем компьютере не хватает памяти, чтобы комфортно работать вместе с виртуальной машиной, вы можете заметить очень большое снижение производительности компьютера при использовании файла подкачки на жестком диске.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Выделите больше процессоров

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

Если вы собираетесь инсталлировать ОС семейства MS-Windows и в будущем чтобы можно было использовать больше ядер при инсталляции указывайте 2 ядра для того чтобы поставился корректный HAL, после инсталляции вы можете выключить машину и поставить 1 ядро по умолчанию для повседневного использования. Но для будущего вы всегда сможете добавить ядра без деинсталляции ОС. Linux VM может динамически определять любое количество ядер при загрузке ОС.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Настройте параметры видео

Тонкая настройка параметров видео и выделение большего объема видеопамяти поможет также улучшить скорость вашей виртуальной машины. Например, включение функции 2D ускорение в VirtualBox улучшает воспроизведение видео в виртуальных машинах, включение 3D-ускорения позволит вам использовать некоторые 3D-приложения.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

По большому счету нужно минимизировать использование 3D например ОС Windows 7 — отключив Aero.

Убедитесь, что функции Intel VT-x или AMD-V включены

Intel VT-x и AMD-V являются специальными расширениями процессора, которые улучшают скорость виртуализации. Новые Intel и AMD процессоры обычно включают в себя эти функции. Тем не менее, некоторые компьютеры не включают автоматически VT-x или AMD-V — вам придется включить этот параметр в BIOS вашего компьютера.

Чтобы определить, поддерживает ли Ваш Intel процессор расширение Intel VT, воспользуйтесь утилитами показывающими системную информацию. Если ваш процессор поддерживает эту функцию, но опция недоступна в вашей виртуальной машине, вы должны в BIOS вашего компьютера включить эту функцию. Этот параметр обычно включен по умолчанию в материнских платах с процессорами AMD.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Поместите файлы виртуальной машины на другой диск

Производительность диска может ограничить скорость вашей виртуальной машины. Размещение файлов виртуальной машины на отдельном физическом диске или не на системном диске — может улучшить производительность. Ваша виртуальная машина и система не будут конкурентно читать и писать с одного диска.
Можно ли запустить виртуальную машину на виртуальной машине. Смотреть фото Можно ли запустить виртуальную машину на виртуальной машине. Смотреть картинку Можно ли запустить виртуальную машину на виртуальной машине. Картинка про Можно ли запустить виртуальную машину на виртуальной машине. Фото Можно ли запустить виртуальную машину на виртуальной машине

Однако, вы не должны запускать виртуальную машину с внешнего диска (USB) — это будет гораздо медленнее.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *