Am 01.02.24 um 13:39 schrieb DERUMIER, Alexandre: >>> LVM and non-sparse ZFS need enough space for a copy for the full disk >>> up-front, so are not suitable as fleecing storages in many cases. > > can't we force sparse for theses fleecing volumes, even if the storage > don't have sparse enabled ? (I can understand that it could make sense > for user to have non sparse for production for performance or > allocation reservation, but for fleecing image, it should be > exceptionnal to rewrite a full image) >
For ZFS, we could always allocate fleecing images sparsely, but would require a change to the storage API as you can't tell vdisk_alloc() to do that right now. There could also be a new helper altogether, allocate_fleecing_image() then the storage plugin itself could decide what the best settings are. >>> Should the setting rather be VM-specific than backup job-specific? >>> These issues >>> mostly defeat the purpose of the default here. > > can't we forbidden it in storage plugin features ? { fleecing => 1} ? > There is no feature list for storage plugins right now, just volume_has_feature() and that doesn't help if don't already have a volume. There is storage_can_replicate() and we could either switch to a common helper for storage features and deprecate the old or simply add a storage_supports_fleecing() helper. But the question remains if the setting should be VM-specific or job-wide. Most flexible would be both, but I'd rather not overcomplicate things. Maybe my idea for the default with "use same storage for fleecing" is not actually a good one and having a dedicated storage for fleecing is better. Then it needs to be a conscious decision. >>> IIRC older version of NFS lack the ability to discard. While not >>> quite >>> as bad as the above, it's still far from ideal. Might also be worth >>> trying to detect? Will add something to the docs in any case. > > I never have seen working discard with nfs, I think (never tested) it's > possible with 4.2, but 4.2 is really new on nas appliance (netapp,...). > So I think than 90% of user don't have working discard with nfs. > With NFS 4.2 discard works nicely even with raw format. But you might be right about most users not having new enough versions. We discussed this off-list too and an improvement would be to use qcow2, so the discards could happen at least internally. The qcow2 could not free the allocated blocks, but re-use already allocated ones. > Is it a problem if the vm main storage support discard , but not > fleecing storage ? (I don't have looked yet how exactly fleecing is > working) > It doesn't matter if the main storage does or not. It only depends on the fleecing storage. > If it's a problem, I think we should forbind to use a fleecing storage > not supporting discard, if the vm have discard on 1 disk. > The problem is that the space usage can be very high. It's not a fundamental problem, you can still use fleecing on such storages if you have enough space. There are already ideas to have a limit setting, monitor the space usage and abort when the limit is hit, but nothing concrete yet. _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel