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