[pve-devel] [PATCH v3 qemu-server 11/11] qcow2: add external snapshot support

Fabio Fantoni fabio.fantoni at m2r.biz
Mon Jan 20 15:29:39 CET 2025


Il 20/01/2025 14:44, DERUMIER, Alexandre ha scritto:
> Hi Fabio !
>
>>> In this implementation I don't see the possibility of using them on
>>> raw
>>> disks (on files) from a fast look, or am I wrong? If so, why? I think
>>> the main use would be in cases like that where you don't have
>>> snapshot
>> <support by default
> Ah, we have discussed about it with Fabian. the V1/v2 had raw support,
> but I have removed it from v3 because it's simplify a lot the code,
> and from my test, I don't see anymore too much difference between qcow2
> && raw. (maybe 10% diff max)
>
> Note that you can preallocated 100% the base qcow2 image if you want.
> (or only metadatas, that's the defaut)
>
>
> I'm going to do more extensive benchmark, but qcow2 have improved a lot
> since last years (with sub-allocation clusters), so it should be too
> far from a cow filesystem like zfs,btrfs. (sure, they are still
> overhead vs a simple raw).
>
>
>
Thanks for your reply, I don't remember exactly when my tests date back 
(for external snapshot), it's been several years now, and I had done 
them on the default versions of Debian 10, I used, and still use on most 
servers, with libvirt.We had all the servers with enterprise hdd in 
raid1 or raid10 and the difference in performance between pre-allocated 
raw and qcow2, even just used with external snapshots was clearly 
visible (also without benchmark). I haven't had enough time for a few 
years to keep myself well informed about the virtualization part and do 
significant testing, I've recently started investing a lot of time in 
learning and testing again with proxmox, even though I didn't have many 
other things to manage.

in recent years we use only or almost only ssd and nvme disks (on new or 
improved servers) and it is not necessary to have them pre-allocated, 
the latter are basically not pre-allocated and the proxmox ones (latest) 
with lvm-thin, however we are upgrading some servers (and we will do 
more) to proxmox keeping the existing storage on pre-allocated raw files 
and it would be useful for example to have snapshot support also in 
these cases, unfortunately since it is not based on libvirt I cannot do 
it even manually (in a fairly fast and safe way that I had tested and 
documented) from the command line and I do not know if it would be 
possible with some workarounds and more operations to force it even if 
not implemented in proxmox.

I use qcow2 by default on my PCs (with libvirt though) for some test vms 
where I use snapshots quite a bit, but internal and from virt-manager, 
using on ssd/nvme and usually a single active vm I don't notice any 
particular performance problems, in truth I've never done any tests 
regarding performance on my workstations in this regard

for this implementation instead I think it is important to measure and 
document in order to give enough information to users to make good 
choices (and seems you want do it)

out of curiosity, besides the obvious cases where external snapshots 
would be useful, i.e. on raw files and on lvm (not lvm-thin), what other 
cases would be useful given that they already have snapshot support 
(qcow2 with the internal one, zfs, btrfs, lvm-thin etc)?

not having it on raw files I think would take away a lot of its 
usefulness, but I could be wrong if there are uses I can't imagine, 
maybe make something more possible with replicas and migrations? (I 
haven't looked into it enough)


-- 
Questa email è stata esaminata alla ricerca di virus dal software antivirus Avast.
www.avast.com



More information about the pve-devel mailing list