Lifecycle Management
$ sudo systemctl start libvirtd # start virtualization service
$ virsh list --all # list all VMs
$ virsh start <vm-name> # launch a VM
$ virsh reboot <vm-name> # reboot a VM
$ virsh shutdown <vm-name> # gracefully stop a VM
$ virsh destroy <vm-name> # forcibly stop a VM
$ virsh suspend <vm-name> # pause a VM
$ virsh resume <vm-name> # resume a paused VM
Connection & Access
$ virt-viewer --connect qemu:///session <vm-name> # connect to a VM via GUI
$ virsh console <vm-name> # connect to a VM via serial console
$ ssh <username>@<vm-ip> # connect to a VM via SSH
Volume (Disk) Management
$ virsh detach-disk <vm-name> vdX [--persistent] [--live] # detach a disk
$ virsh detach-disk <vm-name> <path-to-image> vdX [--persistent] [--live] # attach a disk to the VM, where vdX is the disk name
$ virsh vol-list --pool default # list all images in the pool default
$ virsh vol-delete <vol-name> --pool <pool-name> # delete a volume, where <vol-name> can be obtained by vol-list
$ virsh vol-create-as <pool-name> <vol-name> <size> # create a volume. example size: 20G
Snapshot Management
$ virsh snapshot-list <vm-name> # list all snapshots
$ virst snapshot-create-as <vm-name> <snapshot-name> --description <comment>
$ virsh snapshot-info <vm-name> <snapshot-name> # get info about snapshot
$ virsh snapshot-revert <vm-name> <snapshot-name> # revert to a snapshot
Hardware Configuration
$ virsh dominfo <vm-name> # get detail info about vm
$ virsh domblklist <vm-name> # list VM storage info
$ virsh domifaddr <vm-name> # list VM network interface
Network Management
$ virsh net-list --all # list all (user-mode) networks (add sudo for all)
GUI Manager
$ virt-manager [ --connect qemu:///session ] # include the optional if you need to manage user-mode VMs. By deafault it's qemu:///system
Misc
$ virsh edit <vm-name> # edit VM's XML config file
To be continued...
Comments NOTHING