GNU/Linux >> Tutoriels Linux >  >> Linux

Comment activer la virtualisation imbriquée dans KVM sous Linux

Dans ce guide, nous verrons comment activer la virtualisation imbriquée dans KVM sous Linux. Virtualisation imbriquée est une fonctionnalité qui vous permet d'exécuter une machine virtuelle à l'intérieur d'une autre machine virtuelle tout en utilisant l'accélération matérielle du système hôte. En d'autres termes, la virtualisation imbriquée est un mécanisme d'exécution d'un hyperviseur à l'intérieur d'une machine virtuelle (VM), qui elle-même s'exécute sur un hyperviseur.

Activer la virtualisation imbriquée dans KVM sous Linux

Avant d'activer la fonction VT imbriquée, éteignez toutes les machines virtuelles en cours d'exécution.

Ensuite, déchargez les modules KVM.

Pour décharger le module KVM sur INTEL systèmes, exécutez :

$ sudo modprobe -r kvm_intel

Sur AMD systèmes :

$ sudo modprobe -r kvm_amd

Rechargez le module KVM avec la fonctionnalité imbriquée activée sur les processeurs INTEL avec la commande :

$ sudo modprobe kvm_intel nested=1

Rechargez le module KVM avec la fonctionnalité imbriquée activée sur les processeurs AMD à l'aide de la commande :

$ sudo modprobe kvm_amd nested=1

Activer la virtualisation imbriquée de manière permanente

Veuillez noter que la fonction VT imbriquée n'est activée que jusqu'à ce que vous redémarriez le système hôte KVM. Pour activer de manière permanente la fonctionnalité imbriquée, modifiez /etc/modprobe.d/kvm.conf fichier :

$ sudo vi /etc/modprobe.d/kvm.conf

Si le fichier n'existe pas, créez-le simplement.

Ajoutez la ligne suivante sur INTEL hôtes :

options kvm_intel nested=1

Ajoutez la ligne suivante sur AMD hôtes :

options kvm_amd nested=1

Enregistrez et fermez le fichier.

Fait! Nous avons activé VT imbriqué sur le système hôte KVM.

Vérifiez si la virtualisation imbriquée est activée dans l'hôte KVM

Si votre processeur est INTEL, vérifiez le "/sys/module/kvm_intel/parameters/nested" fichier en utilisant la commande "cat":

$ cat /sys/module/kvm_intel/parameters/nested

Vérifiez si la virtualisation imbriquée est prise en charge sous Linux

S'il renvoie "Y" ou "1" , cela signifie que votre système prend en charge la virtualisation imbriquée. Si la sortie est "N" ou "0" , votre système ne prendra pas en charge la virtualisation imbriquée.

Si votre processeur est AMD, vérifiez le contenu de "/sys/module/kvm_amd/parameters/nested" fichier.

Vous pouvez également utiliser la commande suivante pour vous assurer que l'imbrication du module de noyau "kvm_intel" est activée :

$ modinfo kvm_intel | grep -i nested

Exemple de résultat :

parm:           nested_early_check:bool
parm:           nested:bool

Sur processeur AMD :

$ modinfo kvm_amd | grep -i nested

Eh bien, mon hôte KVM prend en charge la virtualisation imbriquée et elle est déjà activée.

Activer la virtualisation imbriquée sur les machines invitées KVM

Nous pouvons activer la fonctionnalité imbriquée sur une machine virtuelle KVM soit à partir de la ligne de commande, soit à l'aide d'applications graphiques de gestion KVM telles que Virt-manager .

Activer la fonctionnalité imbriquée dans les invités KVM à partir de la ligne de commande

Connectez-vous à la console virsh :

$ virsh

Modifiez la VM dans laquelle vous souhaitez activer la fonctionnalité imbriquée :

virsh # edit centos

Pour trouver toutes les VM disponibles, exécutez cette commande dans la console virsh :

virsh # list --all

Trouvez le paramètre "cpu mode" et définissez sa valeur sur "host-model".

<cpu mode='host-model' check='partial'/>

Activer la fonctionnalité imbriquée dans les invités KVM à l'aide de la commande virsh

Enregistrez et fermez le fichier.

Démarrez la machine virtuelle :

virsh # start centos8

Vérifiez si la fonctionnalité imbriquée est activée pour la VM :

virsh # dumpxml centos8

Vous devriez voir que toutes les stratégies de fonctionnalité nécessaires sous la directive "mode processeur" sont maintenant mises à jour :

<cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>SandyBridge-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='arat'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='umip'/>
    <feature policy='require' name='md-clear'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='arch-capabilities'/>
    <feature policy='require' name='ssbd'/>
    <feature policy='require' name='xsaveopt'/>
    <feature policy='require' name='ibpb'/>
    <feature policy='require' name='amd-ssbd'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='disable' name='aes'/>
  </cpu>

La fonctionnalité de virtualisation imbriquée a été activée pour la machine virtuelle CentOS 8.

Activer la fonctionnalité imbriquée dans les invités KVM à l'aide de Virt-manager

Ouvrez l'application GUI Virt-manager et double-cliquez sur l'invité KVM dans lequel vous souhaitez activer la fonction VT imbriquée. Cliquez sur le bouton "Afficher les détails du matériel virtuel" et accédez à la section "CPU" dans le menu de gauche.

Sélectionnez l'option "Copier la configuration du processeur hôte" cochez la case dans la fenêtre de configuration du processeur et cliquez sur Appliquer.

Configurer la virtualisation imbriquée dans VIrt-manager

Le modèle et la configuration du processeur de l'hôte physique seront désormais appliqués à la machine virtuelle.

Vérifiez si les invités KVM prennent en charge la virtualisation

Mettez sous tension et connectez-vous à la machine invitée KVM sur laquelle vous avez activé la fonctionnalité imbriquée.

Exécutez la commande suivante dans le terminal de l'invité KVM pour vérifier si la virtualisation est activée ou non :

# egrep --color -i "svm|vmx" /proc/cpuinfo

Exemple de résultat :

Vérifiez si les invités KVM prennent en charge la technologie de virtualisation sous Linux

Si vous voyez "vmx" (technologie Intel-VT) ou "svm" (prise en charge d'AMD-V) dans la sortie, la machine invitée KVM peut fonctionner comme un hyperviseur et héberger des machines virtuelles. Comme vous pouvez le voir dans la sortie ci-dessus, ma machine virtuelle KVM CentOS 8 prend en charge la virtualisation.

Consultez le guide suivant pour découvrir d'autres moyens de vérifier si un système Linux prend en charge VT ou non.

  • Comment savoir si un processeur prend en charge la technologie de virtualisation (VT)

Lire connexe :

  • Comment activer la virtualisation imbriquée dans VirtualBox

Linux
  1. Comment configurer la virtualisation sur Redhat Linux

  2. Activer le référentiel PowerTools sur Rocky Linux 8 - Comment faire ?

  3. Qu'est-ce que le transfert IP sous Linux ? Comment activer le transfert IP ?

  4. Comment activer le hachage md5 sous Linux

  5. Comment activer la partition d'échange Linux?

Activer la prise en charge UEFI dans la virtualisation KVM

Comment activer l'option "Modifier" dans l'application Shutter sous Linux

Comment activer la virtualisation imbriquée dans VirtualBox

Comment activer l'horodatage dans l'historique de Bash sous Linux

Comment activer le sudo sans mot de passe pour l'utilisateur sous Linux

Comment activer sFTP dans un VPS Linux ?