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.