[libvirt-users] Create qcow2 v3 volumes via libvirt
Eric Blake
eblake at redhat.com
Tue May 1 21:31:53 UTC 2018
On 05/01/2018 04:17 PM, Paul O'Rorke wrote:
> I have been using internal snapshots on production qcow2 images for a
> couple of years, admittedly as infrequently as possible with one
> exception and that exception has had multiple snapshots taken and
> removed using virt-manager's GUI.
>
> I was unaware of this:
>> There are some technical downsides to
>> internal snapshots IIUC, such as inability to free the space used by the
>> internal snapshot when it is deleted,
This is not an insurmountable difficulty, just one that no one has spent
time coding up.
>
> This might explain why this VM recently kept going into a paused state
> and I had to extend the volume to get it to stay up. This VM is used
> for testing our software in SharePoint and we make heavy use of
> snapshots. Is there nothing I can to do recover that space?
If you have no internal snapshots, you can do a 'qemu-img convert' to
copy just the portion of the image that is actively in use; the copy
will use less disk space than the original because it got rid of the
now-unused space. 'virt-sparsify' from libguestfs takes this one step
further, by also removing unused space within the guest filesystem itself.
In fact, even if you do have internal snapshots, there is probably a
sequence of 'qemu-img convert' invocations that can ultimately convert
all of your internal snapshots into an external chain of snapshots; but
I don't have a ready formula off-hand to point to (experiment on an
image you don't care about, before doing it on your production image).
> What would be the best practice then for a VM that needs to be able to
> create and remove snapshots on a regular basis?
In a managed environment, external snapshots probably have the most
support for creating and later merging portions of a chain of snapshots,
although we could still improve libvirt to make this feel like more of a
first class citizen.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
More information about the libvirt-users
mailing list