Partager via


Exécuter Hyper-V dans une machine virtuelle avec la virtualisation imbriquée

La virtualisation imbriquée est une fonctionnalité qui vous permet d’exécuter Hyper-V à l’intérieur d’une machine virtuelle (VM) Hyper-V. La virtualisation imbriquée est utile pour exécuter un émulateur de téléphone Visual Studio dans une machine virtuelle, ou pour tester des configurations qui nécessitent normalement plusieurs hôtes.

Pour en savoir plus sur la virtualisation imbriquée et les scénarios pris en charge, consultez Qu’est-ce que la virtualisation imbriquée pour Hyper-V ?.

Prérequis

Processeur Intel avec la technologie VT-x et EPT

  • L’hôte Hyper-V doit être Windows Server 2016 ou version ultérieure, ou Windows 10 ou version ultérieure.
  • Configuration de machine virtuelle version 8.0 ou ultérieure.

Processeur AMD EPYC/Ryzen ou version ultérieure

  • L’hôte Hyper-V doit être Windows Server 2022 ou version ultérieure, ou Windows 11 ou version ultérieure.
  • Configuration de machine virtuelle version 9.3 ou ultérieure.

Remarque

L’invité peut être n’importe quel système d’exploitation invité pris en charge par Windows. Les systèmes d’exploitation Windows plus récents prennent parfois en charge l’état d’éveil à la présence d’un environnement virtualisé (« enlightenment ») qui améliore les performances. Pour activer la virtualisation imbriquée dans une machine virtuelle Azure, assurez-vous de définir le type de sécurité sur « Standard ».

Configurer la virtualisation imbriquée

  1. Création d’une machine virtuelle Consultez la configuration requise pour les versions de système d’exploitation et les machines virtuelles.

  2. Lorsque la machine virtuelle est à l’état OFF, exécutez la commande suivante sur l’hôte Physique Hyper-V pour activer la virtualisation imbriquée pour la machine virtuelle.

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    
  3. Démarrez la machine virtuelle.

  4. Installez Hyper-V sur la machine virtuelle, comme vous le feriez sur un serveur physique. Pour plus d’informations sur l’installation d’Hyper-V, consultez Installer Hyper-V.

Notes

Lorsque vous utilisez Windows Server 2019 comme machine virtuelle de premier niveau, le nombre de processeurs virtuels doit être inférieur ou égal à 225.

Désactiver la virtualisation imbriquée

Vous pouvez désactiver la virtualisation imbriquée d’une machine virtuelle à l’arrêt à l’aide de la commande PowerShell suivante :

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $false

Options réseau

Il existe deux options pour la mise en réseau des machines virtuelles imbriquées :

  1. Usurpation des adresses MAC
  2. Mise en réseau NAT

Usurpation des adresses MAC

Pour que les paquets réseau puissent être acheminés via deux commutateurs virtuels, l'usurpation des adresses MAC doit être activée sur le premier niveau (L1) du commutateur virtuel. Pour activer l’usurpation des adresses MAC, exécutez la commande PowerShell.

Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On

Traduction d’adresses réseau (NAT)

La deuxième option s’appuie sur la traduction d’adresses réseau (NAT). Cette approche est idéale pour les cas où l’usurpation des adresses MAC n’est pas possible, comme dans un environnement de cloud public.

Tout d’abord, un commutateur NAT virtuel doit être créé dans la machine virtuelle hôte (machine virtuelle « intermédiaire »). L’exemple suivant crée un commutateur interne nommé VmNAT et crée un objet NAT pour toutes les adresses IP du 192.168.100.0/24 sous-réseau.

New-VMSwitch -Name VmNAT -SwitchType Internal
New-NetNat –Name LocalNAT –InternalIPInterfaceAddressPrefix “192.168.100.0/24”

Affectez ensuite une adresse IP à la carte réseau :

Get-NetAdapter "vEthernet (VmNat)" | New-NetIPAddress -IPAddress 192.168.100.1 -AddressFamily IPv4 -PrefixLength 24

Une adresse IP et une passerelle doivent être affectées à chaque machine virtuelle imbriquée. L’adresse IP de la passerelle doit pointer vers la carte NAT de l’étape précédente. Vous pouvez également affecter un serveur 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>

Étapes suivantes