KVM Snapshot

virsh domblklist ${VM}
virsh blockcommit ${VM} vda --pivot
virsh domblklist ${VM}

# list snapshots
virsh snapshot-list ${VM}

# delete snapshot
virsh snapshot-delete ${VM} ${TIMESTAMP} --metadata

# fix "error: block copy still active: disk 'vda' already in active block job"
VM=vm1
virsh blockjob ${VM} vda --abort
virsh blockcommit ${VM} vda --pivot
virsh snapshot-list ${VM}
SNAP=1527804440
virsh snapshot-delete ${VM} ${SNAP} --metadata

# list snapshots
for VM in $(virsh list --state-running --name); do
echo ${VM}
virsh domblklist ${VM}
virsh snapshot-list ${VM}
done

# list discs
for VM in $(virsh list --all --name); do
echo -n "${VM} "
virsh domblklist ${VM} | grep vda
done

virsh blockjob --info $VM vda

Links
http://www.bitbull.ch/notes/post/external-qcow2-snapshots-on-centos7-kvm-/
https://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit
https://wiki.libvirt.org/page/Live-merge-an-entire-disk-image-chain-including-current-active-disk
http://www.bitbull.ch/notes/post/external-qcow2-snapshots-on-centos7-kvm-/
https://blog.programster.org/kvm-external-snapshots