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

Установка 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. 
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!)
(Call with -help for instructions)
Logging to C:UsersuserAppDataLocalTempESXi-Customizer-PS-15076.log ...
Running with PowerShell version 5.1 and VMware PowerCLI version .. build
Adding base Offline bundle C:PsESXi-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:PSESXi-6.0.0-20170604001-standard-customized.iso'. Please be patient ...
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…
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.

d183d181d182d0b0d0bdd0bed0b2d0bad0b0 vmware esxi d0b2 d0b2d0b8d180d182d183d0b0d0bbd18cd0bdd183d18e d0bcd0b0d188d0b8d0bdd183 windows hyper v 65d21f2bae9c4 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.

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