С выпуском платформы виртуализации VMware vSphere 5 в ESXi 5.0 появилась возможность запуска вложенных 64-битных виртуальных машин, в том числе Hyper-V. Выглядит это так:
На физическом сервере (или даже виртуальном, созданном в VMware Workstation) вы устанавливаете ESXi 5.0
Создаете виртуальную машину с гостевой ОС Windows Server (включая восьмую версию)
В этой ВМ с Windows Server включаете роль Hyper-V и устанавливаете там виртуальные машины, которые работают
Аналогичный трюк можно провернуть, установив ESXi в ESXi и на последнем поставить 64-битные виртуальные машины (ранее можно было только 32-битные). Все это открывает широкие возможности по тестированию VMware vSphere 5 и Hyper-V, включая возможности распределенных служб (кластеры HA/vMotion и Live Migration). При этом не нужно иметь даже сервер в своем распоряжении - достаточно будет обычного ПК с VMware Workstation.
Для эмуляции возможностей hardware-assisted virtualization (HV), которые требуются для работы вложенных гипервизоров Hyper-V и ESXi (делается это за счет виртуализации 64-битных инструкций VT-x или AMD-V), вам потребуется хост с соответствующими аппаратными характеристиками процессора (Intel VT или AMD-V сейчас есть практически во всех процессорах). Поддержка такой возможности в продуктах VMware называется Virtualized HV.
По умолчанию возможности Virtualized HV на хосте ESXi 5.0 отключены. Чтобы их включить, на физическом или виртуальном хосте VMware ESXi в файл /etc/vmware/config нужно добавить строчку:
vhv.allow = "TRUE"
Перезагрузка для применения этой возможности хосту не нужна.
Чтобы узнать включена эта возможность или нет, нужно выполнить команду для лога виртуальной машины (по выводу вы поймете статус):
grep "monitorControl.vhv" vmware.log
Далее просто создавайте вложенные VMware ESXi 5 (не забыв указать в качестве гостевой ОС ESXi). Помните, что Virtual Hardware Version должна быть 8 (на самом деле можно и с 7-й версией, но нужно сделать дополнительные шаги).
Чтобы поставить виртуальную машину с Hyper-V нужно еще добавить следующую строчку в vmx-файл для этой ВМ:
hypervisor.cpuid.v0 = FALSE
Это не даст понять гостевой ОС, что она работает в виртуальной машине. Если этого не сделать, то Hyper-V R2 выдаст такую ошибку:
Failed to create partition: Unspecified error (0x80004005)
А Hyper-V R3 вот такую:
Hyper-V cannot be installed: A hypervisor is already running.
Ну а дальше устанавливаете Windows Server, включаете роль Hyper-V, создаете виртуальные машины и запускаете их. Что касается вложенности - то, говорят, на 4-м уровне уже начинаются тормоза, которые не дают приемлемо работать, а до этого уровня - пожалуйста.
В этой статье описан интересный вариант использования приведенной вомзожности - создание кластера VMware vStorage Appliance (VSA) на базе виртуальных ESXi 5.0.
Кстати, если вы хотите, наоборот, запустить виртуальный ESXi 5.0 на физическом хосте Hyper-V, то в vmx-файл с виртуальным ESXi нужно добавить строчку:
vmx.allowNested = TRUE
Это позволит запускать вложенные ВМ на таком виртуальном ESXi 5.0 под управлением Hyper-V.