[libvirt-users] snapshot anomaly

Kashyap Chamarthy kchamart at redhat.com
Wed Aug 30 14:45:38 UTC 2017


On Wed, Aug 23, 2017 at 11:11:15AM -0400, Doug Hughes wrote:
> Oddly, the physical file did not exist. I'm not sure it ever did? (no
> proof one way or another on that)

>From your example, the physical snapshot file ('overlay' file is the
correct term) -- var/lib/libvirt/images/serv1r2-savesnap.qcow2 _should_
have existed, "somehow" it got deleted.   (See more info further below.)

Can you post what is the output of:

    virsh domblklist serv1r2 

> On 8/23/2017 11:09 AM, Sakhi Hadebe wrote:
> > I had the same problem yesterday. I found the solution from this
> > article
> > https://kashyapc.fedorapeople.org/virt/lc-2012/snapshots-handout.html.
> > According to the article it deletes the tracking metadata by libvirt.

That page is a bit old (I should really update it to the current state
of affairs in libvirt), but that bit of content is valid.

> > You can physically remove the snapshot now that there is no tracking
> > stream data by libvirt
> >
> > On Wed, Aug 23, 2017 at 4:56 PM, Doug Hughes
> > <doug.hughes at keystonenap.com <mailto:doug.hughes at keystonenap.com>> wrote:
> >
> >     THat did it! Can you esplain what was going on and how that fixed
> >     it? Thanks

What fixed your issue was: libvirt still has the metadata tracking
information for your snapshot (with non-existent file).  Running the
`virsh snapshot-delete` command will remove the said snapshot *metadata*
for a particular VM.

I.e. if you create a snapshot as following, for a VM called 'cvm1':

    $ virsh snapshot-create-as --domain cvm1 cvm1-overlay1 \
        --diskspec vda,file=/export/cvm1-overlay1.qcow2 \
        --disk-only --atomic

You'll then see a snapshot metadata file created under:

    /var/lib/libvirt/qemu/snapshot/cvm1/cvm1-overlay1.xml 

The above file is what libvirt removes when you run the `snapshot-delete
[...] metadata`.

--- 

As to the point about reverting to external snapshots, the short story
is, lbvirt doesn't yet support reverting to an external snapshot in one
single command.  But there are easy ways to do it by running a couple of
commands manually.


> >     On 8/23/2017 10:50 AM, Sakhi Hadebe wrote:
> >>     Hi,
> >>
> >>     Can you try this command:
> >>     virsh snapshot-delete serv1r2 snap --metadata
> >>

[...]


-- 
/kashyap




More information about the libvirt-users mailing list