[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