Установка VMWare ESXi в виртуальную машину Windows Hyper-V

Для домашнего стенда мне понадобилось установить гипервизор 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.

Драйвер Net-tulip — это community драйвер DECchip 21140 Ethernet, который позволяет запустить ESXi как ВМ VM на Microsoft Hyper-V. Заявляется поддержка всех версий ESXi до ESXi 6.5 включительно.

Если установщик ESXi не находит сетевых адаптеров, он выводить ошибку и не позволяет продолжить установку:

No Network Adapters. _x000D_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.

No Network Adapters при установке ESXi

Чтобы добавить драйвер 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.

скачать версию vmware ESXi-6.0.0-20170604001-standard

К сожалению, мне не удалось запустить в Hyper-V последние версии VMWare ESXi 7.0 и 6.5. Во всех свежих версиях загрузка legacy драйвера виртуального сетевого адаптера Hyper-V блокируется. Максимальная версия ESXi, которая корректно загружается с Net-tulip — ESXi-6.0.0-20170604001 Build 5572656. Несмотря на то, что ESXi-Customizer-PS 2.8.1. позволяет работать с образом ESXi 7.0 и интегрировать в него сетевой драйвер Net-tulip, установщик не загружает драйвер и не видит виртуальный сетевой адаптер Hyper-V.

Дождитесь, пока скрипт загрузит zip архив с образом в текущий каталог.

Чтобы интегрировать в данный zip образ драйвер net-tulip и получить ISO образ, выполните команду:

.ESXi-Customizer-PS-v2.8.1.ps1 -iZip "C:PsESXi-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!)_x000D_(Call with -help for instructions)_x000D_Logging to C:UsersuserAppDataLocalTempESXi-Customizer-PS-15076.log ..._x000D_Running with PowerShell version 5.1 and VMware PowerCLI version .. build_x000D_Adding base Offline bundle C:PsESXi-6.0.0-20170604001-standard.zip ... [OK]_x000D_Connecting the V-Front Online depot ... [OK]_x000D_Getting Imageprofiles, please wait ... [OK]_x000D_Using Imageprofile ESXi-6.0.0-20170604001-standard ..._x000D_(Dated 02/07/2020 11:36:33, AcceptanceLevel: PartnerSupported,_x000D_For more information, see http://kb.vmware.com/kb/2149958.)_x000D_Load additional VIBs from Online depots ..._x000D_Add VIB net-tulip 1.1.15-1 [New AcceptanceLevel: CommunitySupported] [OK, added]_x000D_Exporting the Imageprofile to 'C:PSESXi-6.0.0-20170604001-standard-customized.iso'. Please be patient ..._x000D_All done.

ESXi-Customizer-PS интеграция драйвера net-tulip для hyper-v в образ esxi

Опция -vft указывает, что нужно загрузить актуальный vib драйвер из онлайн хранилища V-Front.

Итак, вы у вас есть установочный ISO образ ESXi. Теперь нужно создать виртуальную машину на сервере Hyper-V. При создании ВМ используйте следующие настройки:

  1. Создайте ВМ типа Generation 1 ; виртуальная машина hyper-v первого поколения
  2. Добавьте как минимум 2 vCPU для ВМ ;
  3. В свойствах ВМ удалите стандартные сетевой адаптер (Network Adapter) и добавьте новую сетевую карту типа Legacy Network Adapter ; добавить legacy network adapter в виртуальной машине hyper-v
  4. Разрешите использовать функцию вложенной виртуализации (Nested virtualization) для этой ВМ: Set-VMProcessor -VMName srv-esxi1 -ExposeVirtualizationExtensions $true
  5. Подключите ваш ISO образ с ESXi к ВМ.

Если попробовать загрузить виртуальную машину с вашего образа, появится ошибка, вызванная отсутствием совместимого с VMkernel видеоадаптера:

Shutting down firmware services…_x000D_Relocating modules and starting up the kernel…

vmware esxi Shutting down firmware services… Relocating modules and starting up the kernel…

Чтобы игнорировать эту проблему и продолжить установку ESXi, нужно при загрузке ВМ нажать TAB и добавить следующий параметр:

ignoreHeadless=TRUE

ignoreHeadless=TRUE - добавить параметр при установке vmware esxi

Установщик ESXi проверит конфигурацию оборудования, обнаружит сетевую карту и предложит продолжить установку образа ESXi на виртуальный диск.

мастер установки vmware esxi

Затем следуйте мастеру установки VMWare ESXi (шаги подробно описаны в статье Установка и первоначальная настройки Free VMWare Hypervisor ).

После окончания установки вам нужно перезагрузить ВМ и на этапе выбора параметров загрузки ESXi нажать Shift+O . Здесь нужно также указать, что ESXi должен запускаться без проверки видеокарты. Для этого в конце строки допишите ignoreHeadless=TRUE и нажмите Enter.

параметры загрузки esxi -> shift+o

Чтобы каждый раз при загрузке не указывать эту опцию, нужно изменить конфигурацию ESXi:

  1. После загрузки ESXi нажмите F2 , укажите пароль root;
  2. В DCUI ESXi выберите Troubleshooting Options -> Enable ESXi Shell ; esxi включить shell
  3. Чтобы открыть консоль ESXi нажмите Alt+F2 ;
  4. В открывшейся консоли выполните команду: Esxcfg-advcfg -k TRUE ignoreHeadless Esxcfg-advcfg -k TRUE ignoreHeadless

Закройте консоль, нажав ALT+F2. Осталось в DCUI настроить параметры сети для ESXi и перезагрузить ВМ. Проверьте, что ESXi теперь загружается нормально и вы можете подключиться к ней с помощью vSphere Web Client.

vmware vSphere Web Client

Итак, мы рассмотрели, как запустить ESXi в виртуальной машине на Hyper-V. Хоть это и официально не поддерживаемая конфигурация, но она позволит вам попробовать поработать со старыми версиями VMWare ESXi в песочнице на своем домашнем компьютере с Windows 10.

EnglishRussianUkrainian