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

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

Зачем??

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

Проблема

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

Значит надо обмануть её, чтобы она думала, что работает на реальном железе. К счастью в 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 на новый.

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

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)”. Сделать это через vSphere web UI не получится. Надо подконнектиться непосредственно к web UI хоста.

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

Leave a Comment