Hi all,

Can I get some feedback on these two questions I posted a while back, concerning external snapshots:

 On Tue, 26 Jan 2021 at 00:15, Riccardo Ravaioli <riccardoravaioli@gmail.com> wrote:
[...]
1) When creating an external online snapshot (disks+memory) of a qemu-KVM VM, I'd like to store the backing files in a separate folder and rename the newly-created delta files with the respective names of the original disks (now the backing files). Is this possible at all? Say a VM has a disk vm/disk1.qcow2 and I take an external snapshot, I'd like the backing file to appear in snap/disk1.qcow2 and the new delta disk to appear as vm/disk1.qcow2. Currently I wait for the VM to be shutdown by the user before I move around disks as desired and run qemu-img rebase in unsafe mode to update the delta disks. Can I accomplish the same result while the VNF is running?

2) As you suggested, I now use "virsh restore" to launch a VM with the memory state I had previously backed up. The "virsh restore" API applies to a VM that is not running. However, I see that for internal snapshots, libvirt also supports a snapshot-revert operation on a /live/ VM. Is this possible at all with an external snapshot? If so, what are the commands needed? My current way of automating a snapshot-revert with an external online snapshot only applies to a shutdown VM. It consists in:
- shutting down the VM;
- erasing all its delta disks, replacing them with new ones;
- executing "virsh restore" on the memory state, making sure that the disk paths referenced in the embedded XML file are correct.
Does this seem reasonable? Can I do the same while the VNF is running?
I suppose that for a snapshot-delete operation on a live VM I just need to run "virsh blockpull" on each disk, but I couldn't figure out how to do a revert.


Thanks a lot!

Riccardo