Je suis en train d'utiliser la version 6.0.0 de libvirt sur Ubuntu 20.04.4 LTS pour gérer mes VM KVM. Je veux changer le nombre de cœurs de la VM en direct en utilisant virsh CLI. J'ai vu qu'en utilisant virsh setvcpus nom_VM nombre_de_coeur --live
je peux le faire. Voici la sortie sur le système hôte à ce sujet.
Étape 1. J'ai lancé ma VM avec 1 cœur. Voici les infos sur l'unité de traitement virtuelle (vcpu) de la VM.
host$ virsh vcpuinfo ubuntu_18_04_guest4
VCPU: 0
CPU: 14
State: running
CPU time: 25.8s
CPU Affinity: yyyyyyyyyyyyyyyy
-
Je change le nombre de cœurs de la VM de 1 cœur à 2 cœurs.
host$ virsh setvcpus ubuntu_18_04_guest4 2 --live
-
Je vérifie le nombre de cœurs de la VM
host$ virsh vcpuinfo ubuntu_18_04_guest4 VCPU: 0 CPU: 2 State: running CPU time: 65.5s CPU Affinity: yyyyyyyyyyyyyyyy
VCPU: 1 CPU: 0 State: running CPU Affinity: yyyyyyyyyyyyyyyy
Côté hôte, cela semble fonctionner. Maintenant, je passe au côté OS invité. Voici la sortie lorsque la VM est tout d'abord lancée avec 1 cœur.
Comme nous le voyons, il y a 1 cœur car nous avons démarré la VM avec 1 cœur. Maintenant, j'attache la capture d'écran après avoir augmenté le nombre de cœurs à 2.
Comme nous le voyons, je ne vois pas cette augmentation côté invité même si je la vois côté hôte. Je redémarre maintenant la VM.
guest$ sudo reboot
J'attache la sortie htop après le redémarrage de la VM.
Maintenant les 2 cœurs précédemment alloués sont effectifs dans la machine invitée.
En conclusion, même si j'effectue une allocation en direct des cœurs à la VM côté hôte, j'ai dû redémarrer la VM pour la rendre effective. Dans ce cas, quelle est la raison de l'allocation en direct des cœurs?
Merci,