[pve-devel] qemu 7.0 : fleecing backup (aka: local temp write cache"

DERUMIER, Alexandre Alexandre.DERUMIER at groupe-cyllene.com
Sun Jul 31 17:58:26 CEST 2022


Hi,

Currently, proxmox backup are using copy-before-write to have snapshot 
backup.

This works great until you have a slow  or remote storage with higher 
latencies than the vm storage.

This can slowdown a lot the vm is a lot of writes occur when backup is 
running. (or even can hang the vm if backup storage goes down during the 
backup)


qemu backup support since 1-2 years some kind of local write cache, 
called "fleecing".

When backup is running, if a block is not yet backuped, it's going to a 
temp local disk image.

Some improvements have been made in qemu 7.0, previously only qcow2 was 
allowed for the temp disk, now it's working with any disk

https://github.com/qemu/qemu/commit/af5bcd775f3115e4c1b7715920a67b31b119de30


Could it be possible to implement same king of cache for proxmox backup ?

I think qemu implementation is a simple block filter (It's even possible 
to expose a virtual snasphot), so maybe it could be easy to implement it ?


This is really a blocker for me,I can't use pbs because I'm using nvme 
is production, and a 7200k hdd backup in a remote 200km site with 5ms 
latency.

If I could use temp nvme cache on the hypervisor, it could be wonderfull :)


I had opened a bugzilla some week ago with same kind of local cache idea 
(didn't known about qemu fleecing at this time, seem the way to go)

https://bugzilla.proxmox.com/show_bug.cgi?id=4136





More information about the pve-devel mailing list