[Libguestfs] Question about using guestfish --ro as a backup solution

Olivier Renault orenault at redhat.com
Mon Aug 16 07:06:55 UTC 2010


On 08/13/2010 03:08 PM, Richard W.M. Jones wrote:
>
>> <monolive>  what is the risk if I backup a running VM ? using
>> guestfish --ro ?  I understand that my open files might be funny but
>> the issue should be solve by a fsck ?  it won't work for an open DB
>
> It's a bit different from this.
>
> What happens is that the libguestfs appliance / kernel attaches to the
> disk, which is in a potentially unclean *and* potentially changing
> state.  When libguestfs does the mount, the journal recovery is
> performed (against a throw-away snapshot of the original disk -- if
> you use the --ro option, the original disk is not written to at all).
> However the disk is still changing and the libguestfs kernel could
> interpret this in all sorts of ways: eg. panicking or silently reading
> corrupt data.
>
> The news is: DON'T use guestfish --ro as your backup solution, UNLESS:
>
> (1) you don't care about the integrity of your backups, or
>
> (2) you can prove that nothing is writing to the disk (eg. the VM is
> switched off), or
>
> (3) you take a snapshot of the disk first (eg. LVM snapshot), which is
> really just a special case of (2), or
>
> (4) the filesystem that you are backing up is frozen[a], which is also
> a special case of (2).
>
> Run a backup daemon inside the guest instead.  There are plenty of
> network backup programs around.  Choose your favorite one and install
> it in your VM.
>
Thanks for the answer. Quite a few backup solution do have a cost per 
client, doing it at the hypervisor level is making our life easier.

I do not mind doing step 3 before running the guestfish --ro, if it 
enables me to have data integrity.

Regards.
Olivier




More information about the Libguestfs mailing list