Gionatan Danti
2018-Mar-15 13:55 UTC
Re: [libvirt-users] qemu-img snapshot on running virtual machine
Il 15-03-2018 09:13 Ján Tomko ha scritto:> It is not safe. > > For a running domain, you need to go through libvirt and also save the > memory of the VM - doing just the disk snapshot for a running machine > would be an equivalent of copying a physical hard drive after pulling > out the power cord. > > JanHi Jan, I 100% agree that taking a snapshot without dumping the memory content would be akin to "pulling the plug" on the guest. However, I was speaking about disk image file consistency. In other words: does taking a snapshot of an in-use virtual disk have a chance to corrupt the *original* disk Qcow2 image file? Thanks. -- Danti Gionatan Supporto Tecnico Assyoma S.r.l. - www.assyoma.it email: g.danti@assyoma.it - info@assyoma.it GPG public key ID: FF5F32A8
Eric Blake
2018-Mar-15 15:49 UTC
Re: [libvirt-users] qemu-img snapshot on running virtual machine
On 03/15/2018 08:55 AM, Gionatan Danti wrote:> Il 15-03-2018 09:13 Ján Tomko ha scritto: >> It is not safe. >> >> For a running domain, you need to go through libvirt and also save the >> memory of the VM - doing just the disk snapshot for a running machine >> would be an equivalent of copying a physical hard drive after pulling >> out the power cord. >> >> Jan > > Hi Jan, I 100% agree that taking a snapshot without dumping the memory > content would be akin to "pulling the plug" on the guest. > > However, I was speaking about disk image file consistency. In other > words: does taking a snapshot of an in-use virtual disk have a chance to > corrupt the *original* disk Qcow2 image file?Yes, having two processes (in this case, the qemu process under libvirt's control, and the qemu-img process) both trying to write to a single qcow2 file at once is a recipe for disaster. You are VERY likely to cause irreparable disk corruption; although at least newer qemu/qemu-io binaries now use file locking to at least fail up front when they detect that another process has the image open for writing, rather than letting you shoot yourself in the foot. The only SAFE way to take a snapshot of a running virtual machine is through commands issued to the qemu process that is running the machine (that is, via libvirt APIs if libvirt is managing the qemu process). -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Gionatan Danti
2018-Mar-16 09:21 UTC
Re: [libvirt-users] qemu-img snapshot on running virtual machine
On 15/03/2018 16:49, Eric Blake wrote:> > Yes, having two processes (in this case, the qemu process under > libvirt's control, and the qemu-img process) both trying to write to a > single qcow2 file at once is a recipe for disaster. You are VERY likely > to cause irreparable disk corruption; although at least newer > qemu/qemu-io binaries now use file locking to at least fail up front > when they detect that another process has the image open for writing, > rather than letting you shoot yourself in the foot. > > The only SAFE way to take a snapshot of a running virtual machine is > through commands issued to the qemu process that is running the machine > (that is, via libvirt APIs if libvirt is managing the qemu process). >Roger :) Thanks so much, Eric. -- Danti Gionatan Supporto Tecnico Assyoma S.r.l. - www.assyoma.it email: g.danti@assyoma.it - info@assyoma.it GPG public key ID: FF5F32A8