I've been tidying up some of my dedicated servers and needed to remove some of the VMs under KVM setup. This post shows you how to use virsh command to do just that.
List virtual machines using virsh
As you can see, there are quite a few VMs not running and possibly pending decommission:
[email protected]:/ # virsh list --all Id Name State ---------------------------------------------------- 1 m running 2 dbm1 running 3 v15 running - centos7 shut off - elk shut off - infra shut off - jira shut off - v10.ts.im shut off - v9.ts.im shut off
List VM storage using virsh
centos7 VM was definitely there for some quick test, so should be safe to remove.
Let's confirm the virtual disk files it has:
[email protected]:/ # virsh dumpxml --domain centos7 | grep source <source file='/var/lib/libvirt/images/rhel7.0-3.qcow2'/> <source bridge='vbr1'/> <source bridge='vbr0'/>
This is a large enough file with virtual disk:
[email protected]:/var/lib/docker/containers # ls -lad /var/lib/libvirt/images/rhel7.0-3.qcow2 -rw------- 1 root root 17182752768 Apr 11 2018 /var/lib/libvirt/images/rhel7.0-3.qcow2 [email protected]:/var/lib/docker/containers # du -sh /var/lib/libvirt/images/rhel7.0-3.qcow2 17G /var/lib/libvirt/images/rhel7.0-3.qcow2
Remove KVM virtual machine with storage files
Time to remove our virtual machine and its virtual storage:
[email protected]:/var/lib/docker/containers # virsh undefine centos7 --remove-all-storage Domain centos7 has been undefined Volume 'vda'(/var/lib/libvirt/images/rhel7.0-3.qcow2) removed.
That's it for today!
Leave a Reply