Для домашнего стенда мне понадобилось установить гипервизор VMWare ESXi -V в качестве виртуальной машины Hyper-V на Windows 10. Hyper-V и VMWare ESXi поддерживают вложенную виртуализацию (nested virtualization) и в принципе этот сценарий возможен (хотя официально не поддерживается). Однако есть несколько особенностей установки ESXi под Hyper-V, которые нужно обязательно отметить.
В установочном образе ESXi отсутствуют драйвера для виртуальных адаптеров Hyper-V и этот адаптер не поддерживается VMWare (не входит в VMware Hardware Compatibility List — HCL). Поэтому перед тем как устанавливать образ VMWare ESXi на виртуальную машину Hyper-V, нужно интегрировать драйвер для сетевого адаптера Hyper-V (net-tulip) в установочный образ ESXi.
Если установщик ESXi не находит сетевых адаптеров, он выводить ошибку и не позволяет продолжить установку:
No Network Adapters. No network adapters were detected. Either no network adapters are physically connected to the system, or a suitable driver could not be located. A third party driver may be required.
Чтобы добавить драйвер net-tulip в образ ESXi, вам понадобится установить на ваш компьютер модуль VMWare PowerCLI.
Вы можете добавить драйвер net-tulip в образ с помощью PowerShell командлетов из модуля VMware.ImageBuilder (Add-EsxSoftwareDepot, Add-EsxSoftwarePackage, Export-EsxImageProfile). В этом случае вам придется вручную скачать образ ESXi и драйвер net-tulip (http://vibsdepot.v-front.de/depot/bundles/net-tulip-1.1.15-1-offline_bundle.zip).
Или намного проще воспользоваться готовым модулем ESXi-Customizer-PS (мы рассматривали его раньше в статье про интеграцию драйверов в образ ESXi).
Последнюю версию модуля ESXi-Customizer-PS 2.8.1 можно скачать с GitHub https://github.com/VFrontDe/ESXi-Customizer-PS/blob/master/ESXi-Customizer-PS.ps1 (в этой версии скрипта поддерживаются современные версии VMWare ESXi 7.0 и 6.7).
Выведите список доступных для загрузки версий ESXi:
.\ESXi-Customizer-PS-v2.8.1.ps1 -sip –ozip
В нашем случае нужно скачать образ с номером 203 (ESXi-6.0.0-20170604001-standard). Укажите 203 и нажмите Enter.
Дождитесь, пока скрипт загрузит zip архив с образом в текущий каталог.
Чтобы интегрировать в данный zip образ драйвер net-tulip и получить ISO образ, выполните команду:
.\ESXi-Customizer-PS-v2.8.1.ps1 -iZip "C:\Ps\ESXi-6.0.0-20170604001-standard.zip" -vft -load net-tulip
This is ESXi-Customizer-PS Version 2.8.1 (visit https://ESXi-Customizer-PS.v-front.de for more information!) (Call with -help for instructions) Logging to C:\Users\user\AppData\Local\Temp\ESXi-Customizer-PS-15076.log ... Running with PowerShell version 5.1 and VMware PowerCLI version .. build Adding base Offline bundle C:\Ps\ESXi-6.0.0-20170604001-standard.zip ... [OK] Connecting the V-Front Online depot ... [OK] Getting Imageprofiles, please wait ... [OK] Using Imageprofile ESXi-6.0.0-20170604001-standard ... (Dated 02/07/2020 11:36:33, AcceptanceLevel: PartnerSupported, For more information, see http://kb.vmware.com/kb/2149958.) Load additional VIBs from Online depots ... Add VIB net-tulip 1.1.15-1 [New AcceptanceLevel: CommunitySupported] [OK, added] Exporting the Imageprofile to 'C:\PS\ESXi-6.0.0-20170604001-standard-customized.iso'. Please be patient ... All done.
-vft
указывает, что нужно загрузить актуальный vib драйвер из онлайн хранилища V-Front.Итак, вы у вас есть установочный ISO образ ESXi. Теперь нужно создать виртуальную машину на сервере Hyper-V. При создании ВМ используйте следующие настройки:
- Создайте ВМ типа Generation 1;
- Добавьте как минимум 2 vCPU для ВМ;
- В свойствах ВМ удалите стандартные сетевой адаптер (Network Adapter) и добавьте новую сетевую карту типа Legacy Network Adapter;
- Разрешите использовать функцию вложенной виртуализации (Nested virtualization) для этой ВМ:
Set-VMProcessor -VMName srv-esxi1 -ExposeVirtualizationExtensions $true
- Подключите ваш ISO образ с ESXi к ВМ.
Если попробовать загрузить виртуальную машину с вашего образа, появится ошибка, вызванная отсутствием совместимого с VMkernel видеоадаптера:
Shutting down firmware services… Relocating modules and starting up the kernel…
Чтобы игнорировать эту проблему и продолжить установку ESXi, нужно при загрузке ВМ нажать TAB и добавить следующий параметр:
ignoreHeadless=TRUE
Установщик ESXi проверит конфигурацию оборудования, обнаружит сетевую карту и предложит продолжить установку образа ESXi на виртуальный диск.
Затем следуйте мастеру установки VMWare ESXi (шаги подробно описаны в статье Установка и первоначальная настройки Free VMWare Hypervisor).
После окончания установки вам нужно перезагрузить ВМ и на этапе выбора параметров загрузки ESXi нажать Shift+O. Здесь нужно также указать, что ESXi должен запускаться без проверки видеокарты. Для этого в конце строки допишите ignoreHeadless=TRUE и нажмите Enter.
Чтобы каждый раз при загрузке не указывать эту опцию, нужно изменить конфигурацию ESXi:
- После загрузки ESXi нажмите F2, укажите пароль root;
- В DCUI ESXi выберите Troubleshooting Options -> Enable ESXi Shell;
- Чтобы открыть консоль ESXi нажмите Alt+F2;
- В открывшейся консоли выполните команду:
Esxcfg-advcfg -k TRUE ignoreHeadless
Закройте консоль, нажав ALT+F2. Осталось в DCUI настроить параметры сети для ESXi и перезагрузить ВМ. Проверьте, что ESXi теперь загружается нормально и вы можете подключиться к ней с помощью vSphere Web Client.
Итак, мы рассмотрели, как запустить ESXi в виртуальной машине на Hyper-V. Хоть это и официально не поддерживаемая конфигурация, но она позволит вам попробовать поработать со старыми версиями VMWare ESXi в песочнице на своем домашнем компьютере с Windows 10.
Я такое самое проделывал с WMvare Workstation.
Поставил на виртуалку ESXi и запустил.
Процесс почти такой же.
Описывать отдельно, наверное не имеет смысла.
Добрый день.
При загрузке с созданного образа, после поясления на секунду желтого экрана появляется пурпурный с ошибкой
«ap 1 is incompatible with bsp cannot start»
cr0=0x80001003d cr2=0x0 cr3=0xb52a7000 cr4=0x12c
One or more MTRR Fixed Region register values do not match the BSP for AP 1 cand could not be reset, please update the BIOS
Странная ошибка несоотвествеи по железу. Какая версия Hyper-V?
Какое поколение у ВМ hyper-v? попробуйте 1, или 2 с отключенным secure boot.
Вм стандартная по виртуальному железу? Ничего эксзотического?
Ну а так во 2 поколении нет legacy network adapter
Из экзотического — Windows Preview канал Dev — для того чтобы работало nested virtualization.
Скриншот с ошибкой и свойства машины https://imgur.com/a/Q5U6lTw.
Если забыть и оставить стандартный (не legacy) сетевой адаптер — установка запускается (но ругается что нет сетевого адаптера). Если оставить 1 ядро процессора то установка запускается но ругается что нужно хотя бы 2 ядра..
У машины стоит Configuration Version 10.0, пробую создать машину через New-VM -Version 9.0 (вдруг поможет) — машина создается и запускается, но после -ExposeVirtualizationExtensions не стартует с ошибкой «he virtual machine could not be started because of a configuration error. Disable nested virtualization (stop exposing virtualization extensions to the virtual machine), or upgrade the virtual machine version.».. вот..
Добрый день, Я сделала всё по инструкции, ESXi запустился на Hyper -v. Но я не могу установить с ним соединения, тоесть я создаю виртуальный внутренний коммутатор, прописываю статичный IP адрес EXSi, коммутатору, но не могу пропинговать EXSi
На DCUI консоль ESXI получается зайти?
Вы пингуете ESXi непосредственно с Hyper-V хоста или с внешнего компьютера (может дело в WIndows Firewall?)
Попробуйте с нее пропинговать ваш Hyper-V хост…
Да на DCUI консоль захожу. Нет EXSi не могу пропинговать ни с хоста, ни с внешнего конпьютера, ни с другой ВМ. WIndows Firewall и антивирус отключала, ничего не помогло.
Саму виртуальную машину не запустить из-за конфликта hyper-v и ESXI. Что-то одно.
ESXi 6.5 и 6.7 на Hyper-V 2019 не запускается, даже последние сборки 6.0 тоже не подходят, подстава со стороны Microsoft((
Microsoft то здесь при чём?! o_O
vmware вам драва не кладёт, а виновата MS ? Странный вы человек…
Почему номер 203 ?
ok, ясно по билду, сейчас это другой номер.
Таки как запустить виртуалки в esxi при его конфликте с hyper-v ?