В предыдущей теме мы установили Hyper-V на VMware Workstation, сегодня установим Hyper-V внутри Hyper-V.
Начиная с версии Server 2016 и Windows 10 Anniversary Update и старше реализована технология SLAT, что позволяет включать вложенную виртуализацию (Nested Virtualization).
Требования для Nested Virtualization:
- Узел Hyper-V и виртуальная машина (ВМ) должны быть размещены в Windows Server 2016, Windows 10 Anniversary Update или более поздней версии.
- Версия конфигурации Виртуальной машины 8.0 или более поздняя.
- Процессор Intel с технологией Intel VT-x и EPT (вложение сейчас поддерживается только для процессоров Intel).
Поддерживает ли процессор SLAT?
Итак, если попробовать установить роль Hyper-V на виртуальную машину, то получим такой результат (на виртуальной машине установлен Server 2019)
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-1-1024x768.jpg)
Включим возможность процессора:
Set-VMProcessor -VMName -ExposeVirtualizationExtensions $true
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-2-1024x268.jpg)
На ВМ не должно быть динамической памяти и live migration.
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-3.jpg)
Попробуем еще раз установить роль Hyper-V
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-4-1024x803.jpg)
Роль Hyper-V устанавливается.
Если есть необходимость в сетевом взаимодействии с родительской Hyper-V, хостом и Интернетом, то нужно настроить сетевое взаимодействие.
По сути мы получаем виртуальную среду внутри виртуальной и логика должна быть сохранена. Т.е. мы должны разрешить виртуализацию MAC адресов (MacAddressSpoofing), создание виртуальных свитчей внутри самой виртуализации (режим NAT).
Спуфинг MAC-адресов:
Get-VMNetworkAdapter -VMName | Set-VMNetworkAdapter -MacAddressSpoofing On
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-6-1024x155.jpg)
Режим NAT:
New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “ipaddress/24”
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-5-1024x493.jpg)
Назначим IP-адрес для сетевого адаптера NAT свитча:
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-7-1024x524.jpg)
Здесь мы определили тип свитча (Internal) и задали IP адресацию и получили следующее:
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-8-1024x634.jpg)
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-9.jpg)
Далее делаем настройки сети виртуальной машины:
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-10-1024x684.jpg)
Или так, кому как удобно
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-11.jpg)
Настраиваем сетевое взаимодействие между ВМ и Hyper-V хоста. В настройках ВМ Network Adapter должен быть подключен к NAT свитчу
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-12.jpg)
Проверим пинги
![](https://blog.airmeno.ru/wp-content/uploads/2019/03/nisthprv-13-1024x874.jpg)
В конце хотел бы добавить, что возможность вложенной виртуализации — это отличный инструмент для всяких тестовых стендов и для разработчиков, но пока никак не механизм для продакшн среды, именно пока. Думаю, в скором времени мы увидим и эту реализацию как обычный механизм.