[libvirt-users] Backup a VM (using live external snapshot and blockcommit)

Jérôme jerome at jolimont.fr
Fri Sep 11 16:18:35 UTC 2015


Hi Eric.

Thank you so much for your quick and relieving answer.

Le 2015-09-11 17:05, Eric Blake a écrit :

> Yes, using active block-commit is the ideal way to perform a live backup.

Great.

> Yep, that about covers it.  Note that the --quiesce step in snapshot
> creation requires qemu-guest-agent running in the guest, and that you
> trust interaction with your guest.

Yes, I think I get this. I don't really figure out what these cases
could be. We're using Debian Jessie and I installed qemu-guest-agent.
Other VM could use other systems, but most likely Linux based.

Do you mean that, in cases where you shouldn't trust the guest, using
'--quiesce' might end up being worse than nothing? Or just useless?
 
>> -> Anything wrong about my snapshot-create-as and blockcommit command
>> lines? May I remove the snapshot with only a rm command?
> 
> Looks correct to me, and matches my recent KVM Forum slides:
> http://events.linuxfoundation.org/sites/events/files/slides/2015-qcow2-expanded.pdf

I'll have a look at these, thanks.
 
>> Now, a few side questions, as I might have messed up with the VM I was
>> experimenting with.
>>
>> I used the same command lines as described above, except I didn't pass
>> the '--no-metadata' option. Once the backing file was copied, I deleted
>> the snapshot qcow2 file and thought I was done with it, until I realized
>> the snapshot was still listed by virsh snapshot-list. And I couldn't
>> find a way to delete it. (For the record, I asked on serverfault about
>> that [3].)
> 
> virsh snapshot-delete --metadata $dom $badname
> 
> to remove $badname snapshot that no longer exists because you changed
> things behind the scenes.

Before removing the .xml file, I tried the command indicated in the wiki
[1] with no success.

"NOTE-2: Optionally, you can also supply '--no-metadata' option to tell
libvirt to not track the snapshot metadata -- this is useful currently
as at a later point when you merge snapshot files, then you have to
explicitly clean the libvirt metadata (by invoking: virsh
snapshot-delete vm1 --delete --current -- repeat this as needed.)"

Shouldn't the 

    virsh snapshot-delete vm1 --delete --current

be rephrased as 

    virsh snapshot-delete vm1 --metadata --current 

?

I see '--delete' is not listed in the man.

Or even

    virsh snapshot-delete vm1 --metadata $badname

since after the blockcommit, the snapshot is unused, I'm not sure it is
considered current.

Anyway, I'm glad you confirm I now have the correct sequence.

Thanks again.

Enjoy the WE.

[1]
http://wiki.libvirt.org/page/Live-disk-backup-with-active-blockcommit

-- 
Jérôme




More information about the libvirt-users mailing list