Dans notre précédent article de la série Linux KVM, nous avons expliqué comment installer Linux KVM et créer une machine virtuelle invitée.
Mais, une fois que vous avez créé une VM invitée, vous devez savoir comment effectuer certaines des activités de maintenance de routine sur la VM.
Ce didacticiel explique comment effectuer les activités de machine virtuelle Linux KVM suivantes :
- Ajouter de la mémoire à la VM
- Ajouter un processeur virtuel à la VM
- Ajouter un disque à la VM
- Enregistrer la configuration de la machine virtuelle
- Supprimer une VM
1. Ajouter de la mémoire à la machine virtuelle
Pour ajouter de la mémoire supplémentaire à votre VM, procédez comme suit :
- Éteignez votre machine virtuelle
- Modifiez le fichier VM et augmentez la valeur de la mémoire maximale allouée à cette VM
- Redémarrer la machine virtuelle
- Utilisez virsh setmem pour définir la mémoire jusqu'à la mémoire maximale allouée pour cette VM.
Dans cet exemple, augmentons la mémoire de la VM de myRHELVM1 de 2 Go à 4 Go.
Tout d'abord, arrêtez la machine virtuelle à l'aide de virsh shutdown comme indiqué ci-dessous :
# virsh shutdown myRHELVM1 Domain myRHELVM1 is being shutdown
Ensuite, modifiez la VM à l'aide de virsh edit :
# virsh edit myRHELVM1
Recherchez la ligne ci-dessous et modifiez la valeur de la mémoire comme suit. Dans mon exemple, plus tôt c'était 2097152 :
<memory unit='KiB'>4194304</memory>
Veuillez noter que la valeur ci-dessus est en Ko. Après avoir effectué la modification, enregistrez et quittez :
# virsh edit myRHELVM1 Domain myRHELVM1 XML configuration edited.
Redémarrez la machine virtuelle avec le fichier de configuration mis à jour. Vous verrez maintenant la mémoire maximale passer de 2G à 4G.
Vous pouvez désormais modifier dynamiquement la mémoire de la VM jusqu'à la limite maximale de 4G.
Créez le fichier XML du domaine à l'aide de virsh create
# virsh create /etc/libvirt/qemu/myRHELVM1.xml Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml
Affichez la mémoire disponible pour ce domaine. Comme vous le voyez ci-dessous, même si la mémoire maximale disponible est de 4 Go, ce domaine ne dispose que de 2 Go (mémoire utilisée).
# virsh dominfo myRHELVM1 | grep memory Max memory: 4194304 KiB Used memory: 2097152 KiB
Définissez la mémoire de ce domaine sur 4 Go à l'aide de virsh setmem comme indiqué ci-dessous :
# virsh setmem myRHELVM1 4194304
Maintenant, ce qui suit indique que nous avons alloué 4 Go (mémoire utilisée) à ce domaine.
# virsh dominfo myRHELVM1 | grep memory Max memory: 4194304 KiB Used memory: 4194304 KiB
2. Ajouter un VCPU à la VM
Pour augmenter le CPU virtuel alloué à la VM, effectuez virsh edit et modifiez le paramètre vcpu comme expliqué ci-dessous.
Dans cet exemple, augmentons la mémoire de la VM de myRHELVM1 de 2 Go à 4 Go.
Tout d'abord, arrêtez la machine virtuelle à l'aide de virsh shutdown comme indiqué ci-dessous :
# virsh shutdown myRHELVM1 Domain myRHELVM1 is being shutdown
Ensuite, modifiez la VM à l'aide de virsh edit :
# virsh edit myRHELVM1
Recherchez la ligne ci-dessous et modifiez la valeur de vcpu comme suit. Dans mon exemple, auparavant c'était 2.
<vcpu placement='static'>4</vcpu>
Créez le fichier XML du domaine à l'aide de virsh create
# virsh create /etc/libvirt/qemu/myRHELVM1.xml Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml
Affichez les processeurs virtuels alloués à ce domaine comme indiqué ci-dessous. Cela indique que nous avons augmenté le vCPU de 2 à 4.
# virsh dominfo myRHELVM1 | grep -i cpu CPU(s): 4 CPU time: 21.0s
3. Ajouter un disque à la VM
Dans cet exemple, nous n'avons que deux disques virtuels (vda1 et vda2) sur cette VM.
# fdisk -l | grep vd Disk /dev/vda: 10.7 GB, 10737418240 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 20806 9972736 8e Linux LVM
La création et l'association d'un nouveau périphérique de stockage à la machine virtuelle invitée Linux KVM comporte deux étapes :
- Tout d'abord, créez une image de disque virtuel
- Associer l'image du disque virtuel à la VM
Créons un autre disque virtuel et attachons-le à notre VM. Pour cela, nous devons d'abord créer un fichier image disque à l'aide de la commande qemu-img create comme indiqué ci-dessous.
Dans l'exemple suivant, nous créons une image de disque virtuel d'une taille de 7 Go. Les images de disque sont généralement situées dans le répertoire /var/lib/libvirt/images/.
# cd /var/lib/libvirt/images/ # qemu-img create -f raw myRHELVM1-disk2.img 7G Formatting 'myRHELVM1-disk2.img', fmt=raw size=7516192768
Pour attacher l'image disque nouvellement créée, utilisez la commande virsh attach-disk comme indiqué ci-dessous :
# virsh attach-disk myRHELVM1 --source /var/lib/libvirt/images/myRHELVM1-disk2.img --target vdb --persistent Disk attached successfully
La commande virsh attach-disk ci-dessus a les paramètres suivants :
- myRHELVM1 Le nom de la VM
- –source Le chemin complet de l'image disque source. C'est celui que nous avons créé en utilisant la commande qemu-image ci-dessus. c'est-à-dire :myRHELVM1-disk2.img
- –target Il s'agit du point de montage du périphérique. Dans cet exemple, nous voulons attacher l'image disque donnée en tant que /dev/vdb. Veuillez noter que nous n'avons pas vraiment besoin de spécifier /dev. Il suffit de spécifier vdb.
- –persistent indique que le disque attaché à la VM sera persistant.
Comme vous le voyez ci-dessous, le nouveau /dev/vdb est maintenant disponible sur la VM.
# fdisk -l | grep vd Disk /dev/vda: 10.7 GB, 10737418240 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 20806 9972736 8e Linux LVM Disk /dev/vdb: 7516 MB, 7516192768 bytes
Maintenant, vous pouvez partitionner le périphérique /dev/vdb et créer plusieurs partitions /dev/vdb1, /dev/vdb2, etc., et le monter sur la machine virtuelle. Utilisez fdisk pour créer les partitions comme nous l'avons expliqué précédemment.
De même, pour détacher un disque de la VM invitée, vous pouvez utiliser la commande ci-dessous. Mais veillez à spécifier le bon vd*, sinon vous risquez de supprimer le mauvais périphérique.
# virsh detach-disk myRHELVM1 vdb Disk detached successfully
4. Enregistrer la configuration de la machine virtuelle
Si vous apportez de nombreuses modifications à votre machine virtuelle, il est recommandé d'enregistrer les configurations.
Utilisez le fichier virsh dumpxml pour effectuer une sauvegarde et enregistrer les informations de configuration de votre machine virtuelle, comme indiqué ci-dessous.
# virsh dumpxml myRHELVM1 > myrhelvm1.xml # ls myrhelvm1.xml myrhelvm1.xml
Une fois que vous avez le fichier de configuration au format XML, vous pouvez toujours recréer votre machine virtuelle invitée à partir de ce fichier XML, en utilisant la commande virsh create comme indiqué ci-dessous :
virsh create myrhelvm1.xml
5. Supprimer la machine virtuelle KVM
Si vous avez créé plusieurs VM à des fins de test et que vous souhaitez les supprimer, vous devez suivre les trois étapes suivantes :
- Arrêter la VM
- Détruire la VM (et l'annuler)
- Supprimer le fichier image disque
Dans cet exemple, supprimons la machine virtuelle myRHELVM2. Tout d'abord, arrêtez cette VM :
# virsh shutdown myRHELVM2 Domain myRHELVM2 is being shutdown
Ensuite, détruisez cette VM comme indiqué ci-dessous :
# virsh destroy myRHELVM2 Domain myRHELVM2 destroyed
En plus de la détruire, vous devez également dédéfinir la VM comme indiqué ci-dessous :
# virsh undefine myRHELVM2 Domain myRHELVM2 has been undefined
Enfin, supprimez tout fichier d'image disque que vous avez créé pour cette machine virtuelle du répertoire /var/lib/libvirt/images :
Vous pouvez maintenant supprimer le fichier img du disque sous /var/lib/libvirt/images
rm /var/lib/libvirt/images/myRHELVM2-disk1.img rm /var/lib/libvirt/images/myRHELVM2-disk2.img