Virtualisation imbriquée signifie configurer l'environnement de virtualisation à l'intérieur d'une machine virtuelle. En d'autres termes, nous pouvons dire que la virtualisation imbriquée est une fonctionnalité de l'hyperviseur qui nous permet d'installer et d'exécuter une machine virtuelle à l'intérieur d'un serveur virtuel via une accélération matérielle à partir de l'hyperviseur (hôte).
Dans cet article, nous verrons comment activer la virtualisation imbriquée dans KVM sur CentOS 7 / RHEL 7. Je suppose que vous avez déjà configuré l'hyperviseur KVM. Si vous ne savez pas comment installer et configurer l'hyperviseur KVM , puis référez-vous à l'article suivant
Lire aussi : Installer l'hyperviseur KVM sur CentOS 7.x et RHEL 7.x
Sautons dans l'hyperviseur et vérifions si la virtualisation imbriquée est activée ou non sur votre hôte KVM
Pour les processeurs basés sur Intel, exécutez la commande,
[[email protected] ~]# cat /sys/module/kvm_intel/parameters/nestedN[[email protected] ~]#
Pour les processeurs basés sur AMD, exécutez la commande,
[[email protected] ~]# cat /sys/module/kvm_amd/parameters/nestedN[[email protected] ~]#
Dans la sortie de commande ci-dessus, "N" indique que la virtualisation imbriquée est désactivée. Si nous obtenons la sortie comme "Y", cela indique que la virtualisation imbriquée est activée sur votre hôte.
Maintenant, pour activer la virtualisation imbriquée, créez un fichier avec le nom "/etc/modprobe.d/kvm-nested.conf ” avec le contenu suivant.
[[email protected] ~]# vi /etc/modprobe.d/kvm-nested.confoptions kvm-intel nested=1options kvm-intel enable_shadow_vmcs=1options kvm-intel enable_apicv=1options kvm-intel ept=1Enregistrez et quittez le fichier
Supprimez maintenant 'kvm_intel ‘ module puis ajoutez le même module avec la commande modprobe. Avant de supprimer le module, assurez-vous que les machines virtuelles sont arrêtées, sinon nous recevrons un message d'erreur du type "modprobe :FATAL :le module kvm_intel est en cours d'utilisation ”
[[email protected] ~]# modprobe -r kvm_intel[[email protected] ~]# modprobe -a kvm_intel[[email protected] ~]#Vérifiez maintenant si la fonctionnalité de virtualisation imbriquée est activée ou non.
[[email protected] ~]# cat /sys/module/kvm_intel/parameters/nestedY[[email protected] ~]#Pour les systèmes basés sur AMD, exécutez les commandes ci-dessous,
[[email protected] ~]# rmmod kvm-amd[[email protected] ~]# echo 'options kvm-amd nested=1'>>/etc/modprobe.d/dist.conf[[email protected] ~]# modprobe kvm-amdTester la virtualisation imbriquée
Supposons que nous ayons une VM avec le nom "director" sur l'hyperviseur KVM sur lequel j'ai activé la virtualisation imbriquée. Avant de tester, assurez-vous que le mode CPU de la machine virtuelle est soit "host-model " ou " passthrough de l'hôte ", pour vérifier le mode CPU d'une machine virtuelle, utilisez l'interface graphique Virt-Manager ou la commande d'édition virsh
Connectez-vous maintenant à la machine virtuelle directrice et exécutez les commandes lscpu et lsmod
[[email protected] ~]# ssh 192.168.126.1 -l root[email protected]'s password:Dernière connexion :dimanche 10 décembre 07:05:59 2017 à partir de 192.168.126.254[[email protected] ~]# lsmod | grep kvmkvm_intel 170200 0kvm 566604 1 kvm_intelirqbypass 13503 1 kvm[[email protected] ~]#[[email protected] ~]# lscpu
Essayons de créer une machine virtuelle à partir de l'interface graphique du gestionnaire virtuel ou de virt-install dans le directeur vm, dans mon cas, j'utilise la commande virt-install
[[email protected] ~]# virt-install -n Nested-VM --description "Test Nested VM" \ --os-type=Linux --os-variant=rhel7 --ram=2048 --vcpus =2 --disk \ path=/var/lib/libvirt/images/nestedvm.img,bus=virtio,size=10 --graphics \ none --location /var/lib/libvirt/images/CentOS-7-x86_64 -DVD-1511.iso\ --extra-args console=ttyS0Starting install...Retrieving file .treeinfo... | 1.1 kB 00:00:00Récupération du fichier vmlinuz... | 4,9 Mo 00:00:00Récupération du fichier initrd.img... | 37 Mo 00:00:00Allocation de 'nestedvm.img' | 10 Go 00:00:00Connecté au domaine Le caractère Nested-VMEscape est ^][ 0.000000] Initialisation du cpuset du sous-système cgroup[ 0.000000] Initialisation du cpu du sous-système cgroup[ 0.000000] Initialisation du cpuacct du sous-système cgroup[ 0.000000] Linux version 3.10.0-327.el7. x86_64 ………………………………………………
Cela confirme que la virtualisation imbriquée a été activée avec succès car nous sommes en mesure de créer une machine virtuelle à l'intérieur d'une machine virtuelle.
Ceci conclut l'article, s'il vous plaît partagez vos commentaires et commentaires.