Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La virtualización anidada permite ejecutar Hyper-V dentro de una máquina virtual, lo que le permite emular entornos complejos sin necesidad de varios hosts físicos. En este artículo se explica cómo configurar y usar la virtualización anidada en plataformas Windows compatibles, incluidos los requisitos previos, los pasos de configuración y las opciones de red. Use este artículo para probar escenarios, ejecutar emuladores o desarrollar soluciones que requieran varias capas de virtualización.
Para obtener más información sobre la virtualización anidada y los escenarios admitidos, consulte ¿Qué es la virtualización anidada para Hyper-V?.
Prerrequisitos
Procesador Intel con tecnología VT-x y EPT
- El host de Hyper-V debe ser Windows Server 2016 o posterior, o Windows 10 o posterior.
- Configuración de máquina virtual versión 8.0 o posterior.
Procesador AMD EPYC/Ryzen o posterior
- El host de Hyper-V debe ser Windows Server 2022 o posterior, o Windows 11 o posterior.
- Configuración de máquina virtual versión 9.3 o posterior.
Nota
El invitado puede ser cualquier sistema operativo invitado compatible con Windows. Algunas versiones más recientes de Windows pueden usar características adicionales de CPU que mejoran el rendimiento. Para habilitar la virtualización anidada en una máquina virtual de Azure, asegúrese de establecer el tipo de seguridad como "Estándar".
Habilitar la virtualización anidada
Para habilitar la virtualización anidada, siga estos pasos:
Cree una máquina virtual. Consulte los requisitos previos para las versiones necesarias del sistema operativo y de la máquina virtual.
Mientras la máquina virtual está en estado APAGADA, ejecute el siguiente comando en el host físico Hyper-V para habilitar la virtualización anidada para la máquina virtual.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
Inicie la máquina virtual.
Instale Hyper-V dentro de la máquina virtual, igual que lo haría para un servidor físico. Para obtener más información sobre cómo instalar Hyper-V, consulte Instalar Hyper-V.
Nota
Con Windows Server 2019 y versiones anteriores como la máquina virtual de primer nivel, el número de vCPU debe ser de 225 o menos. Para más información sobre los límites de máquinas virtuales, consulte Máximos para máquinas virtuales.
Deshabilitar la virtualización anidada
Puede deshabilitar la virtualización anidada para una máquina virtual detenida mediante el siguiente comando de PowerShell:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false
Opciones de redes
Hay dos opciones para la conexión de red con máquinas virtuales anidadas:
- Suplantación de direcciones MAC
- Redes NAT
Suplantación de direcciones MAC
Para que los paquetes de red se enruten a través de dos conmutadores virtuales, la suplantación de direcciones MAC debe estar habilitada en el primer nivel (L1) del conmutador virtual. Para habilitar la suplantación de direcciones MAC, ejecute el siguiente comando de PowerShell.
Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On
Traducción de direcciones de red (NAT)
La segunda opción se basa en la traducción de direcciones de red (NAT). Este enfoque es más adecuado para los casos en los que la suplantación de direcciones MAC no es posible, como en un entorno de nube pública.
En primer lugar, se debe crear un conmutador NAT virtual en la máquina virtual host (la máquina virtual "central"). En el ejemplo siguiente se crea un nuevo conmutador interno denominado VmNAT
y se crea un objeto NAT para todas las direcciones IP de la subred 192.168.100.0/24
.
New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “192.168.100.0/24”
A continuación, asigne una dirección IP al adaptador net:
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
Cada máquina virtual anidada debe tener asignada una dirección IP y una puerta de enlace. La dirección IP de la puerta de enlace debe apuntar al adaptador NAT del paso anterior. También puede asignar un servidor DNS:
Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.2 -DefaultGateway 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24
Netsh interface ip add dnsserver “vEthernet (VmNat)” address=<my DNS server>