Re: Libvirt Snapshot Question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



OK, so I tried both ways. (The VM image is in the read-only squashfs.)

1.) Editing VM domain XML:
    <disk>
         
    <transient/>
    </disk>

Error:  Internal Error - Could not open /var/lib/libvirt/images/vm.snapshot1 : Permission Denied

I chowned everything to libvirt but no changes. Maybe a read-only conflict?

2.) Adding second disk to VM domain XML
(shortened )

 <disk>
    source /var/lib..../images/vm.qcow2
    target dev=vda
 </disk>


 <disk>
     source /var/lib...../images/vm.qcow2
     target dev=vdb
    <transient/>
 </disk>

Error: unsupported configuration: cannot create external snapshot for disk vdb - collision with disk vdb.

After googling I found that a lot of people get permission denied errors using transient. I will keep looking, really not sure.

On Thu, Dec 2, 2021, 9:30 AM Peter Krempa <pkrempa@xxxxxxxxxx> wrote:
On Wed, Dec 01, 2021 at 18:35:44 +0100, Elias Mobery wrote:
> Hey man, I tried both suggestions, thanks again.
>
> Option 1.) Create/attach a second qcow2 disk & unplug when wiping.
> This did not work unfortunately. After wiping the overlay filesystem on the
> host (where the snapshots are sitting), I cannot create another snapshot, a
> similar error message like before appears.

Okay, that's weird. Could you please post your exact steps?

Additionally if you have a new enough libvirt you can actually possibly
even try using a disk with <transient/>. This transparently creates a
overlay (in the same path as the image though, not sure if it suits your
setup) and automatically discards it when unplugging or shutting down
the VM.

In such case you could simply unplug and replug the disk, but note that
this feature was implemented only this year IIRC, so you need a fairly
recent libvirt to do so.

>
> Option 2.) Enabling Discard
>
> Now I think this worked, but I'm not sure. I read all the docs, and enabled
> discard like so on the VM domain:
>
> <driver name='qemu' type='qcow2' discard='unmap'>

This is the correct setting. Unmap means that the qcow2 image should
unmap the blocks which were discarded.

>
> I tried both discard=unmap and discard=on (same thing)
>
> Then I enabled fstrim in the guest like this:
> (Not entirely sure if I am missing smth)
>
> sudo fstrim -av
>
> Or permanently
>
> sudo systemctl enable --now fstrim.timer

Yup, both should do fine. Now if you delete something in the VM (which
would result in freeing blocks in the overlay; deleting something from
the base image won't help obviously) the overlay image should shrink.


[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux