On 10/13/2015 09:59 PM, Eric Blake wrote: > On 10/13/2015 09:46 PM, Nathan Shearer wrote: >> I have a script that performs a backup with the following steps: >> >> virsh dumpxml --inactive "$DOMAIN" > "$TMP/${DOMAIN}.xml" && \ >> virsh dumpxml --inactive "$DOMAIN" > "$DESTINATION_XML" && \ >> virsh undefine "$DOMAIN" && \ >> virsh blockcopy "$DOMAIN" "$SOURCE_DISK" "$DESTINATION_DISK" >> --wait --verbose --finish && \ >> virsh define "$TMP/${DOMAIN}.xml" >> >> It's basic and did work for creating basic backups. Is there a way to do >> this without undefining the domain? > Not yet. Qemu doesn't yet support persistent bitmaps; there is upstream > work trying to add it, which might make qemu 2.5, and then libvirt has > to be taught to use it. > >> I recently had to redefine the VM >> from a backup XML because this script failed during the block copy step. >> Why can't I blockcopy a domain that is defined? Why does it need to be >> undefined first? >> > Without a persistent bitmap, libvirt cannot restart a copy operation > efficiently. Requiring the domain to be transient (via the > undefine/define wrapper around the blockcopy) was a design decision made > when blockcopy was first added to make the caller aware of the > limitations, and put the caller in charge of what happens if the domain > disappears in the middle of the operation. We hope to lift that > limitation when support for persistent bitmaps lands. > Okay, I'll just make my script a little more intelligent while I wait for the newer versions. Definitely looking forward to qemu 2.5 and an updated libvirt :) _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users