This is really helpful, thanks.

> The disk quiescing is not part of the backup operation and needs to be
> done manually via 'virsh domfsfreeze' if required. The original

I assume quiescing *would* be necessary for workloads like databases and if we 
can live with a crash-consistent backup then we can bypass this, but if I was 
to include this, the sequence would be:

virsh domfsfreeze <domain-name>
virsh backup-begin <domain-name>
virsh domfsthaw <domain-name>

Again, I assume the qemu-agent would need to be running on the guest to allow 
freeze/thaw.

I was about to ask how backup-begin is different from creating a disk-only, 
no-metadata snapshot but I think it is equivalent - the advantage is that we 
don't need to deal with merging the overlay file and pivoting afterwards, is 
that right?

I also realised this is very like the sequence described at the bottom of that 
domainstatecapture page comparing 'direct backup' and 'Backup via temporary 
snapshot' - what confused me there and which I still don't understand are the 
two references to events. For direct backup, this step is:
- wait for push mode event, or pull data over NBD # most time spent here

Can you expand this any? I am assuming direct backup is a 'push' mode backup as 
per the description at https://libvirt.org/kbase/live_full_disk_backup.html - 
what is this push mode event? 

> By default a full backup creates a stand-alone image. If you'd use
> incremental backups, then it is actually creating images that depend on
> each other.

OK, and that would be by populating an appropriate xml as per 
https://libvirt.org/formatbackup.html - which I think you answered on this list 
a year or two ago.

> Yes it is. Note though that since the VM was likely running at the point
> when you took the backup the 'restore' operation will look like a
> cold-boot after a power failure at the exact time when the backup was
> taken.
> 
> 
> Snapshots also allow you to capture memory state and also pre-date
> backups thus they are documented a bit more in depth.

OK - just to make this explicit - if we want to capture memory state as well as 
disk then we *must* use snapshots, either internal or external? 

And - last question! - while we are covering the bases... managedsave sounds 
like it is designed for preserving a one-off recovery position for a 
potentially relatively long outage such as a hypervisor restart. VM restart 
will pick up just this latest saved image, but it *will* capture memory also?

Once again thanks for your clarifications - it's clearing up a lot of confusion 
for me.

Reply via email to