Skip to main content

Virtualisation

KVM

Création de machine

Lister toutes les VMs:

sudo virsh list --all

Créer une image de Debian10 (Nécéssite l'outil libguestfs-tools):

sudo virt-builder vmDebian10 \
--size=15G \
--format qcow2 -o /kvm/images/vmDebian10.qcow2 \
--hostname vmDebian10\
--network \
--timezone Europe/Paris \
--update

Créer de la machine Debian10 :

sudo virt-install --import --name vmDebian10 \
--ram 1024 \
--vcpu 1 \
--disk path=/kvm/images/vmDebian10.qcow2,format=qcow2 \
--os-variant debian10 \
--network=bridge=br3,model=virtio \
--noautoconsole
tip

Utiliser des noms similaires pour le disque, le hostname et le domain name de la VM pour s'y retrouver plus facilement

Maintenance

Afficher le fichier de conf XML:

sudo virsh dumpxl [nom-vm]

Ajouter de l'espace disque:

sudo qemu-img resize [nom de l'image].img +[taille en Go]G 

Créer une machine à partir d'un fichier de conf XML:

sudo virsh create fichier_config.xml

Démarrer une VM:

sudo virsh start [nom-vm]

Eteindre une VM:

sudo virsh shutdown  [nom-vm]

Force l'extinction:

sudo destroy shutdown  [nom-vm]

Infos sur l'état de la VM:

sudo virsh dominfo [nom-vm]

Redémarrer une VM:

sudo virsh reboot [nom-vm] 

Supprimer définitivement une VM:

sudo virsh undefine [nom-vm] –remove-all-storage 
danger

Cette action est irréversible ❗

Gestion des réseaux

Afficher le fichier de conf d'un réseau:

sudo virsh net-dumpxml [nom-reseau] 

Démarrer un réseau:

sudo virsh net-start [nom-reseau] 

Editer la conf d'un réseau:

sudo virsh net-edit[nom-reseau]

Eteindre un réseau:

sudo virsh net-destroy [nom-reseau] 

Lister les réseaux:

sudo virsh net-list --all 
tip

Par défaut, KVM crée un réseau de type NAT pour les VM.

Gestion des snapshots

Créer un snapshot:

virsh snapshot-create-as --domain [domain-name] --name "MaJ#123" --description "Mise à jour #123" 

Lister les snapshots d'une VM :

virsh snapshot-list [domain-name] 

Restaurer un snapshot :

virsh snapshot-revert --domain [domain-name] --snapshotname "MaJ#123" 

Supprimer un snapshot:

virsh snapshot-delete --domain [domain-name] --snapshotname #MaJ#123" 

Sources:

Documentation très complète sur KVM - QEMU: https://linux.goffinet.org/administration/virtualisation-linux/virtualisation-kvm/

Procédure d'installation suivie pour réaliser des tests: https://linuxhint.com/install_kvm_debian_10/

Manuel d'utilisation de virt-install: https://linux.die.net/man/1/virt-install

Installation d'une VM Windows: https://www.ibm.com/support/knowledgecenter/en/SSDV85_4.1.0/Admin/tasks/create_KVM_VM_installlVM_virt-install_Windows_staticIP.html

VM jetable

Emuler une VM jetable pour tester gratuitement et ce en quelques dizaines de secondes avec onworks