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? 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?