Since I can't comment yet, I have to post this addendum to dyasny's answer this way.
If the VM has snapshots that you want to preserve, you should dump the snapshot xml-files on the source with
virsh snapshot-dumpxml $dom $name > file.xml for each snapshot in the snapshot list of the VM
virsh snapshot-list --name $dom.
Then on the destination use
virsh snapshot-create --redefine $dom file.xml to finish migrating the snapshots.
If you also care about which snapshot is the current one, then additionally do on the source:
virsh snapshot-current --name $dom
and on the destination:
virsh snapshot-current $dom $name
Then you can use
virsh snapshot-delete --metadata $dom $name for each snapshot to delete the xml files on the source, or you could just delete them from
libvirt-users mailing list