Am 02.07.13 15:42, schrieb Eric Blake: > On 07/02/2013 06:55 AM, Thomas Stein wrote: >> >>> virsh dumpxml --security-info dom > dom.xml >>> virsh undefine dom >> >> Hello. >> >> Someone was talking about this (undefining the VM) would not be >> neccessary anymore when qemu-1.5 has been released. Is that true? > > Undefining the VM will not be necessary after two things happen: > 1. qemu supports persistent bitmaps (which missed 1.5, and I'm not even > sure if Paolo plans on getting it in before 1.6) > 2. libvirt has code added to use persistent bitmaps > > so unfortunately, you'll still have to use undefining for a bit longer. > > Meanwhile, qemu 1.6 is adding a new block-backup command that is nicer > than the current blockcopy (it does not require a persistent bitmap, and > takes the snapshot at the point in time where it is started, not where > it is ended); I'm also trying to figure out what API additions are > needed to libvirt to expose that capability as an alternative. Okay, understood. >> >>> virsh blockcopy dom vda /path/to/backup-vda >>> polling loop - check periodically until 'virsh blockjob dom vda' >>> shows 100% completion >>> virsh suspend dom >>> virsh save dom /path/to/memory-backup --running >> >> This does not work for me. >> >> hn ~ # virsh blockjob gentoo-template vda >> Block Copy: [100 %] >> >> hn ~ # virsh save gentoo-template >> /opt/virt-backup-blockcopy/gentoo-template/gentoo-template-memory-backup >> --running >> error: Failed to save domain gentoo-template to >> /opt/virt-backup-blockcopy/gentoo-template/gentoo-template-memory-backup >> error: Requested operation is not valid: domain has an active block job >> >> Obviously i can not save while the blockjob is running. > > Oh dear. That's what I get for trying to write steps without actually > testing them :( > > Try this modification (again untested, but at least doesn't have a block > job running during the save attempt): > > virsh dumpxml --security-info dom > dom.xml > virsh undefine dom > virsh blockcopy dom vda /path/to/backup-vda > polling loop - check periodically until 'virsh blockjob dom vda' > shows 100% completion > virsh suspend dom > virsh blockjob dom vda --abort > virsh save dom /path/to/memory-backup --running > virsh resume dom > virsh define dom.xml Much better but still a problem. virsh suspend gentoo-template Domain gentoo-template suspended virsh blockjob gentoo-template vda --abort virsh save gentoo-template /opt/virt-backup-blockcopy/gentoo-template/gentoo-template-memory Domain gentoo-template saved to /opt/virt-backup-blockcopy/gentoo-template/gentoo-template-memory virsh resume gentoo-template error: failed to get domain 'gentoo-template' error: Domain not found: no domain with matching name 'gentoo-template' > Basically, swap the 'blockjob --abort' and 'save' steps to take place in > the opposite order. Since the guest is paused, there should be no > difference in the bits that get saved, and the swapped order should get > around the annoying code restrictions. I think i have to use "start" instead of "resume" although i don't understand this behaviour. Maybe i have to define the VM first? Is "virsh save dom" shutting down the VM? Thank you very much Eric. t. _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users