22.4. Création d'une machine virtuelle imbriquée sur AMD
Suivez les étapes ci-dessous pour activer et configurer la virtualisation imbriquée sur un hôte AMD.
Dans la majorité des environnements, la virtualisation imbriquée n'est disponible qu'en tant qu'aperçu technologique dans RHEL 9.
Pour une description détaillée des environnements pris en charge et non pris en charge, voir Limitations de la prise en charge de la virtualisation imbriquée.
Conditions préalables
- Un hôte RHEL 9 L0 exécutant une machine virtuelle (VM) L1.
-
Le processeur de l'hyperviseur doit prendre en charge la virtualisation imbriquée. Pour le vérifier, utilisez la commande
cat /proc/cpuinfo
sur l'hyperviseur L0. Si la sortie de la commande inclut les drapeauxsvm
etnpt
, la création de VM L2 est possible. C'est généralement le cas sur les cœurs AMD EPYC et les versions ultérieures. Assurez-vous que la virtualisation imbriquée est activée sur l'hôte L0 :
# cat /sys/module/kvm_amd/parameters/nested
- Si la commande renvoie 1 ou Y, la fonctionnalité est activée. Sautez les autres étapes préalables et passez à la section Procédure.
Si la commande renvoie 0 ou N, procédez comme suit pour activer la fonction.
- Arrêtez toutes les machines virtuelles en cours d'exécution sur l'hôte L0.
Déchargez le module
kvm_amd
:# modprobe -r kvm_amd
Activer la fonction d'imbrication :
# modprobe kvm_amd nested=1
La fonction d'imbrication est maintenant activée, mais seulement jusqu'au prochain redémarrage de l'hôte L0. Pour l'activer de façon permanente, ajoutez ce qui suit au fichier
/etc/modprobe.d/kvm.conf
:options kvm_amd nested=1
Procédure
Configurez votre VM L1 pour la virtualisation imbriquée.
Ouvrez la configuration XML de la VM. L'exemple suivant ouvre la configuration de la VM AMD-L1:
# virsh edit AMD-L1
Configurez la VM pour qu'elle utilise le mode CPU
host-passthrough
en modifiant l'élément<cpu>
:<cpu mode='host-passthrough'/>
Si vous souhaitez que la VM utilise un modèle de CPU spécifique, configurez-la pour qu'elle utilise le mode CPU
custom
. À l'intérieur de l'élément<cpu>
, ajoutez un élément<feature policy='require' name='svm'/>
et un élément<model>
avec le modèle de CPU spécifié à l'intérieur. Par exemple :<cpu mode="custom" match="exact" check="none"> <model fallback="allow">EPYC-IBPB</model> <feature policy="require" name="svm"/> ... </cpu>
- Créez une VM L2 à l'intérieur de la VM L1. Pour ce faire, suivez la même procédure que pour la création de la L1 VM.