On 11/19/2014 07:54 AM, Paolo Bonzini wrote: > On 19/11/2014 13:07, Prof. Dr. Michael Schefczyk wrote: >> Yes! My level of knowledge is that one uses the qcow2 format in order >> to be able to create live snapshots/backups. Otherwise one would tend >> to use the more efficient raw format. Is this not correct and did I >> apply the backup mechanism in the wrong way? > > That's correct, but you still have to create live snapshots from within > QEMU.
You absolutely CANNOT modify a qcow2 file via qemu-img or any other
external means while qemu is using the file in read-write mode, or you
risk file corruption (which appears to be what happened to you).
Monitor commands to the qemu process are the only supported means for
taking a live snapshot/backup of an in-use disk.
>
> This is done with a QMP (QEMU Management Protocol) command like
>
> { "execute": "blockdev-snapshot-internal-sync",
> "arguments": { "device": "ide-hd0",
> "name": "snapshot0" }
> }
>
> QMP is accessed through normal sockets, or via libvirt.
>
> However, I'm not sure if running "qemu-img convert" on the resulting
> snapshot is possible though, and there is no equivalent of "qemu-img
> snapshot -d".
qemu-img snapshot -d can be achieved via the QMP monitor command
'human-monitor-command' forwarding to the HMP 'delvm' command. But you
are correct that I don't know of any way to reproduce qemu-img convert
on a read-write image.
>
> You can instead use QEMU's support for backup, which will do what you
> wanted directly while the VM is running. For example:
>
> { "execute": "drive-backup", "arguments": { "device": "ide-hd0",
> "sync": "full", "format": "qcow2",
> "target": "backup.img" } }
>
> This does not even require qcow2 for the image. The downside is that
> you must not turn off the VM until the job has completed.
Another option is to create a live snapshot (so that your file under
interest is now read-only with a temporary qcow2 overlay as the
read-write file), then you can do whatever you want with the file (such
as qemu-img convert), and finally do an active commit to get rid of the
temporary qcow2 overlay and back to just the main live image.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
