Ajouter un commentaire

Inception sous Windows Server 2016

I. Introduction :

Les dernières versions de Windows Server 2016 Technical Preview permettent de réaliser de la virtualisation imbriquée.
Le but est donc d’avoir un hôte Hyper-V, contenant une VM, avec elle aussi Hyper-V, contenant encore là une VM.

II. Prérequis

Afin de pouvoir utiliser la « Nested Virtualization » il faut :
- Windows 2016 build 10565 minimum
- 4GB de RAM minimum par VM + la RAM pour l'hôte physique
- Intel VT-x activé dans le bios




III. Environnement de test

L’environnement de test pour cet article est simplement constitué d’un serveur DELL PowerEdge R210 avec un Intel Xeon X3440 possédant 8 GB de RAM nommé PHY2016TP5

IV. Réalisation

La réalisation est simple. Tout d’abord nous installons Windows Server 2016 Technical Preview 5 sur notre machine physique.
Nous installons ensuite le rôle Hyper-V et le configurons selon nos besoins. Rien de particulier ici.
Nous allons ensuite créer une VM elle aussi installée en 2016 TP 5 (dans notre exemple VM2016TP5).
Cette VM doit avoir un minimum de 4 Go de RAM et on doit activer le MAC spoofing sur sa carte réseau si on veut qu’elle puisse avoir un accès au réseau.
Une fois la VM installée en 2016 TP5, si on tente d’installer le rôle Hyper-V, on aura une erreur, ce qui est normal car il détecte qu’il est sur une machine virtuelle et non sur un serveur physique.
On éteint la VM.
On récupère le script de microsoft puis on le lance en administrateur dans une fenêtre powershell sur l'hôte physique :

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1

~/Enable-NestedVm.ps1 –VmName “VM2016TP5”

On peut ensuite rallumer la VM et cette fois nous pouvons installer le rôle Hyper-V et créer une autre VM dessus.



V. Informations complémentaires

Cette technologie n’est qu’un début, c'est de la preview. Elle possède d’ailleurs quelques limitations qu’il faut connaître :
- Pas de mémoire dynamique pour la VM-host (dans notre exemple VM2016TP5)
- Pas de modification de la mémoire à chaud pour la VM-Host
- Pas de checkpoint pour la VM-Host
- Pas de live migration pour la VM-Host
- Pas de Save / Restore pour la VM-Host

Cela ne fonctionne pas ? Vérifiez que votre hôte et votre VM sont capables de faire de la virtualization imbriquée une fois le premier script appliqué.
Téléchargez simplement ce script et lancez-le :

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Get-NestedVirtStatus.ps1 -OutFile ~/Get-NestedVirtStatus.ps1

~/Get-NestedVirtStatus.ps1



VI. Conclusion

En conclusion, Microsoft a rendu possible la virtualisation de la virtualisation avec Hyper-V au sein de Windows server 2016. On peut maintenant créer un serveur physique avec HyperV, y faire une VM, avec Hyperv, dans laquelle on fait une autre VM, avec elle aussi Hyper-V, sur laquelle on fait une VM et ainsi de suite
Cette technologie, combinée à celle du docker sous Windows 2016 (voir notre article IIS sous Docker grâce à Windows server 2016) nous entraine vers une nouvelle forme de virtualisation.