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

Вложенная виртуализация позволяет запускать гипервизор внутри виртуальной машины. В Windows 10 в сборке 10565 реализована вложенная виртуализация. Если вам это нужно или нет, вот некоторая информация, которая может вас заинтересовать.

Контейнер внутри контейнера: о вложенной виртуализации в Windows

Ранее вы могли создавать параллельные контейнеры – столько, сколько позволит ваша основная память, и использовать их для разных целей. Microsoft выпустила функцию вложенной виртуализации с последней версией Insider Build под номером 10565. Функция вложенной виртуализации в Windows позволяет создавать контейнеры внутри контейнеров. Хотя эта функция еще не идеальна, вот что вам нужно знать.

Виртуализация с использованием Hyper V

Windows поддерживает Droka – это позволяет создавать простые контейнеры, которые можно использовать параллельно, или создавать контейнеры Hyber V, которые считаются лучше простых контейнеров. Хотя вы можете создавать контейнеры Windows параллельно, часто они заканчиваются использованием одних и тех же библиотек и ресурсов. В этом случае один или несколько «плохих» контейнеров могут закончить создание помех, задерживая ресурсы и не освобождая их для использования другими контейнерами. Это единственный недостаток, который привел к появлению контейнеров Hyper V.

Контейнеры Hyper V создают все отдельно для каждой виртуальной атмосферы. То есть даже ОС воссоздается и предоставляется приложениям, работающим в этом виртуальном отсеке. Это означает, что нет общих виртуальных ресурсов и, следовательно, нет конфликтов.

Вложенные виртуализации в Windows становятся возможными с помощью Hyper V. Вы можете попробовать другие вещи, но Microsoft говорит, что в настоящее время вложенная виртуализация будет работать только с контейнерами Hyper V. Поэтому вы должны быть осторожны, чтобы создать один контейнер, а затем создать другой внутри первого контейнера. Если вы попытаетесь использовать любой другой гипервизор или попытаетесь создать другой контейнер Hyper V параллельно тому, что вы уже создали, он может не работать. Однако у меня возникает вопрос: нельзя ли тогда использовать параллельные контейнеры в Windows? Я расскажу об этом и в следующем разделе.

Вложенная виртуализация – что это такое и как реализовать?

Как было сказано ранее, вы можете создать контейнер Hyper V. Этот контейнер гарантирует, что другие гипервизоры не смогут его увидеть. То есть, в качестве ЦП будет отображаться только контейнер, а фактический ЦП может быть невидим для других гипервизоров, так что вы даже не сможете создать другой контейнер параллельно. Сомнение в этом случае заключается в том, можете ли вы создавать два или более контейнеров Hyper V параллельно или вы можете создавать контейнеры только внутри первого созданного вами контейнера.

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

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

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

  1. Объем ОЗУ (помните, что ОЗУ является ограничивающим фактором; вы можете создать столько контейнеров, сколько может вместить ваша ОЗУ)
  2. Ваш процессор поддерживается? (MS говорит, что на данный момент поддерживается только Intel VT-X)
  3. Динамическая память должна быть выключена
  4. Ведение вкладки в оперативной памяти и многое другое

На данный момент существует множество проблем, которые Microsoft может решить на более поздних этапах. Но чтобы попробовать вложенную виртуализацию, он разработал сценарий PowerShell, который можно вызывать из GitHub.

Чтобы узнать, как создавать вложенные контейнеры виртуализации в Windows 10 и многое другое, обратитесь к этому сообщению в блоге MSDN.

Оцените статью
TechArks.Ru
Добавить комментарий