Может ли Hyper-V работать на виртуальной машине?

8

Хорошо, мы все знаем (или должны знать), что ответ Microsoft - простое « НЕТ! ».

Но мы также знаем, что недавние гипервизоры могут поддерживать вложенную / рекурсивную виртуализацию, если базовый процессор предлагает аппаратную виртуализацию; Последние продукты VMware (ESXi 5, Workstation 8) даже поддерживают это изначально , без необходимости отвратительных взломов.

Итак, мой вопрос: может ли Hyper-V успешно работать (т.е. позволять запускать виртуальные машины) внутри других гипервизоров?

Если да, то какие? И как?


Разумеется, это только для тестирования .

Massimo
источник
возможно в пределах kvm / HVM или xen_pv, но зачем вам это нужно, просто просит боли
anthonysomerset
1
например, для целей тестирования.
Мирча Вутцовичи
Я знаю, что это было сделано с ESXi в качестве родителя Hyper-V, но это ужасно медленно. Извините, нет ссылки на инструкции.
Крис С
Какой вид теста будет действительно действительным в этой среде?
Джейк Ошинс
2
Чтобы настроить тестовый кластер Hyper-V, вам нужно как минимум три физических сервера; это обычно не то, что вы можете легко достать.
Массимо

Ответы:

6

Да, это возможно, если базовые процессоры поддерживают новейшие расширения виртуализации (Intel VT-X / EPT) и если вы используете новейшие продукты VMware (Workstation 8, ESXi 5).

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

monitor.virtual_mmu = "hardware"
monitor.virtual_exec = "hardware"
vhv.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"

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

Кроме того, в ESXi 5 необходимо добавить следующую строку /etc/vmware/config:

vhv.allow = "TRUE"
Massimo
источник
Было ли это найдено методом проб и ошибок, или вы можете указать нам источник, который мог бы иметь больше информации для тех, кто рассматривает возможность сделать то же самое?
Джон Гарденье
В Интернете существуют различные источники, подтверждающие одинаковые шаги и настройки; но ничего официального, ни от VMware, ни от Microsoft (которая до сих пор говорит, что это вообще невозможно).
Массимо
3

Есть разные ответы на этот вопрос.

До WS2016 / W10 правильный ответ был: Да, вы можете включить роль Hyper-V в виртуальной машине Hyper-V, но гипервизор не запустится. Следовательно, вы можете создать виртуальные машины в vHost, но эти виртуальные машины не могут запуститься.

Однако в Windows 10 и WS2016 (TP4 и более поздних версиях) мы можем использовать вложенный Hyper-V. Если вы достаточно безумны, чтобы попытаться, вы можете создать хост, хост, хост, хост, хост ...

Эйдан Финн
источник
Ничего себе, это действительно так, Microsoft наконец-то удалось поддержать вложенную виртуализацию: msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/… . Интересно, а также позволяет ли он размещать ESX / i внутри Hyper-V ...
Massimo
@Massimo по вашей ссылке - «Оба гипервизора должны быть последней сборкой Windows Insider (10565 или выше). Другие гипервизоры не будут работать». (Помимо: одна из причин, по которой Microsoft пришлось заставить работать вложенный Hyper-V, заключается в том, что поддержка контейнера Server 2016 может использоваться в виртуальных машинах; один из типов контейнеров - это контейнер на основе Hyper-V. Другой причиной может быть виртуальный безопасный режим в Windows 10. Предприятие, которое хранит пароли в виртуальной машине Hyper-V и запускает основную ОС в другой).
TessellatingHeckler
@TessellatingHeckler Помимо того, что Microsoft могла бы сказать, Hyper-V какое-то время успешно работал в продуктах VMware (хотя, конечно, никто никогда официально не поддерживал его); это вложение Hyper-V основано на тех же основополагающих принципах, поэтому я предполагаю, что это позволит Hyper-V запускать и другие вложенные гипервизоры (хотя, опять же, без какой-либо официальной поддержки).
Massimo