Как запустить Hyper-V сервер внутри виртуалки VMWare ESXi

// Июнь 15th, 2015 // Виртуализация, Системное администрирование

matreshkaПривет, это я, Andrey Tokarchuk, и сегодня мы попробуем запустить Hyper-V в VMWare :-)

 

Зачем??

Многие сразу покрутят пальцем у виска и зададут вопрос — «А нафига?». Отвечу в начале статьи, чтобы всё стало понятно. Это не продакшен, не переживайте. Это испытательный стенд, который состоит у меня из парочки HP MicroServer Gen7 N54L. Если кто-то предложит мне тихую(!) машинку, на которой можно будет ставить мои эксперименты, ну или ещё один MicroServer — буду только рад. А пока будем ставить Microsoft Windows 2012 R2 с Hyper-V ролью на виртуалку в VMWare ESXi.

Проблема

Если делать всё в лоб, т.е. просто поставить виртуалку с виндой и попробовать добавить туда роль Hyper-V, то гостевая ОС поймёт, что она собственно в гостях, и добавлять роль не будет. Она выплюнет сообщение такого плана:

Hyper-v cannot be installed a hypervisor is already running

Значит надо обмануть её, чтобы она думала, что работает на реальном железе. К счастью в VMWare такой механизм есть.

hyper-v-1

Решение

1. Выключаем гостевую машину с Windows 2012.

2. В vCenter/vClient щёлкаем по иконки с виртуалкой и из контекстного меню выбираем: All vCenter Actions -> Remove from Inventory. Это операция называется unregister VM.

3. Вклчаем ssh на хосте esxi, если он ещё не был включен.

4. С помощью WinSCP (Windows) или проводника Nautilus (Ubuntu) коннектимся к хосту esxi. Заходим на /vmfs/volumes/имя-datastore/папка-с-виртуалкой и с помощью notepad/gedit открываем файл *.vmx с конфигом виртуалки.

5. Меняем параметр guestOS на новый.

guestOS = "WindowsHyperVGuest"

6. Добавляем строки (можно под него)

vhv.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"

7. Если редактировали файл на сервере, сохраняем его и закрываем редактор. Если у себя на компе, то сохраняемся и закачиваем (перезаписывая файл).

8. В vCenter/vClient открываем datastore: Storage -> правый клик на нужный datastore -> из контекстного меню выбираем «Browse files».

9. Заходим в папку с виртуалкой, делаем правый клик на наш *.vmx файл и из контекстного меню выбираем Register VM. Далее выбираем наш датацентр, и после нажатия ок и выполнения задачи в списке задач ждём, когда вирутуалка появится в списке для нужного нам хоста.

10. Правый клик на виртуалке -> Edit Settings -> Options -> CPU/MMU Virtualization. В выпадающем списке выбираем Hardware CPU and MMU (нижний вариант).

11. В свойствах виртуалки выбираем VM Options -> General Options -> Guest OS Version и меняем значение «Oher (32-bit)» на «Other (64-bit)».

12. Запускаем виртуалку, и пробуем добавить роль Hyper-V. Теперь всё должно получиться!

hyper-v-2

 

FAQ

В: Guest operating system ‘windowshypervguest’ is not supported

О: Забыли сделать unregister vm / register vm процедуру. см. п.2-9

В: hyper-v cannot be installed a hypervisor is already running

О: Windows всё ещё подозревает, что она сама вируталка. Надо проделать всю процедуру.

Ссылки

http://www.derekseaman.com/2014/06/nesting-hyper-v-2012-r2-esxi-5-5.html

http://www.virtuallyghetto.com/2013/09/quick-tip-new-hyper-v-guestos.html

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


Комментировать