Création d’une VM debian 13 dans le répertoire /data/VM
# virt-install --name debian13 --ram 2048 --vcpus 2 --disk path=/data/VM/debian13.qcow2,size=50 --cdrom /data/VM/debian-13.2.0-amd64-netinst.iso --os-type linux --os-variant debian12 --network bridge=virbr0 --graphics vnc
Cloner une VM existante
# virt-clone --original debian13 --name debian-ftp --file /data/VM/debian13-ftp.qcow2
Faire la liste des machines
albert@Boo:~$ virsh list --all
Id Name State
-----------------------------
- debian-ftp shut off
- debian13 shut off
Démarrer une machine virtuelle
albert@Boo:~$ virsh start debian13
Domain 'debian13' started
Eteindre une machine virtuelle
albert@Boo:~$ virsh shutdown debian13
Domain 'debian13' is being shutdown
Forcer une machine virtuelle à s’éteindre
albert@Boo:~$ virsh shutdown debian13
Domain 'debian13' is being shutdown
Redémarrer une machine virtuelle
albert@Boo:~$ virsh reboot debian13
Domain 'debian-ftp2' is being rebooted
Se connecter à une machine virtuelle en mode console
virt-viewer debian13
Modifier la configuration réseau pour que l’interface de la machine virtuelle soit bridgée sur l’hote.
L’hote est une debian avec network-manager.
Configuration d’un bridge
# nmcli connection add type bridge ifname br0 con-name br0
# nmcli connection add type bridge-slave ifname enp0s31f6 master br0
# nmcli connection up br0
Puis configuration de l’interface de la VM
$ virsh edit debian13
<interface type='bridge'>
<mac address='52:54:00:5b:db:78'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
Pour info, configuration IP de l’hote suite à la modification
albert@Boo:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 192.168.1.192/24 brd 192.168.1.255 scope global dynamic noprefixroute br0
Suspendre et reprendre une VM
albert@Boo:~$ virsh list
Id Name State
-----------------------------
1 debian-ftp2 running
albert@Boo:~$ virsh suspend debian-ftp2
Domain 'debian-ftp2' suspended
albert@Boo:~$ virsh list
Id Name State
----------------------------
1 debian-ftp2 paused
albert@Boo:~$ virsh resume debian-ftp2
Domain 'debian-ftp2' resumed
albert@Boo:~$ virsh list
Id Name State
-----------------------------
1 debian-ftp2 running
albert@Boo:~$
Créer un snapshot
albert@Boo:~$ virsh snapshot-create-as debian-ftp2 debian-ftp2-before-docker
Domain snapshot debian-ftp2-before-docker created
albert@Boo:~$
Afficher la liste des snapshots d’une VM
albert@Boo:~$ virsh snapshot-list --domain debian-ftp2
Name Creation Time State
------------------------------------------------------------------
debian-ftp2-before-docker 2026-01-01 21:43:15 +0100 running
Restorer un snapshot
albert@Boo:~$ virsh snapshot-revert debian-ftp2 debian-ftp2-before-docker
Domain snapshot debian-ftp2-before-docker reverted
Supprimer un snapshot
albert@Boo:~$ virsh snapshot-delete debian-ftp2 debian-ftp2-before-docker
Domain snapshot debian-ftp2-before-docker deleted
albert@Boo:~$ virsh snapshot-list --domain debian-ftp2
Name Creation Time State
-------------------------------
albert@Boo:~$
Afficher les ressources d’une VM
albert@Boo:~$ virsh domstats debian-ftp2
Domain: 'debian-ftp2'
state.state=1
state.reason=5
cpu.time=32017524000
cpu.user=25061525000
cpu.system=6955998000
cpu.cache.monitor.count=0
cpu.haltpoll.success.time=330095297
cpu.haltpoll.fail.time=131280790
balloon.current=2097152
Laisser un commentaire