Has anyone tried, or looked into, being able to target Proxmox Backup Server to back up Incus VM or LXC containers similarly to how Proxmox VE works with PBS?
PBS works really well (especially with PVE VM/CTs) and there is a proxmox-backup-client package available for most distros which I use to back up my Manjaro/KDE desktop home directory directly to PBS. It works, but is nowhere as fast or efficient as when backing up a PVE VM/CT. My 160 GB Nextcloud VM takes 6 seconds most times, when there are few changes.
I already have a little 4 node Proxmox cluster with 3 Proxmox Backup Server nodes (one in a LXC container, 2 on hardware) and I want to start using Incus in parallel to my Proxmox cluster, and it would be great (and make a lot of sense) if clustered Incus nodes and VMs could also use the same PBS infrastructure that I already have in place. I won’t be dropping PVE/PBS until Incus has a well integrated backup system.
Not sure why you can’t just use proxmox-backup-client pointing to the Incus disk images. Sure, the first backup will take time, but the next one will be incremental. This is AFAIUI the same thing that Proxmox VE does.
There’s more to it than using pbc to backup the disk image on the file system. A Proxmox VM/CT also copies meta data that allows for a complete one-click VM/CT Restore and a VM backup includes enough smarts that a repeat backup with a small delta of changes takes a few seconds even if the VM is 100Gb. PBC will always scan the file system file by file (like rsync) so a 100Gb system will always take minutes instead of seconds because of that rsync-like file scan. Your point is valid if the excellent PBS deduplication factor is all that matters. I’ve kind of worked around the issue by using send/recv from an Incus VM to a Proxmox VM and then the auto backup of the Proxmox VM takes over… so at worst I can fully restore to the Proxmox node from PBS, manually set up a new Incus VM, then send/recv from Proxmox back to Incus. I have not had to do this yet.
The real power behind Proxmox VE’s seamless integration with Proxmox Backup Server for fast incremental backups lies in dirty-bitmap tracking. While a virtual machine is running, data changes are continuously recorded. When the next backup runs, only the modified blocks are sent to Proxmox Backup Server -no need to re-read the entire virtual disk. However, once the VM is stopped, the dirty-bitmap is lost, and the next backup has to read the full disk contents again, which significantly increases backup time.
As far as I understand, this capability is provided by QEMU itself - the question is simply what component is responsible for monitoring and utilizing the dirty-bitmap.
That said, I agree that native integration with Proxmox Backup Server would be a killer feature for Incus. How feasible it would be to implement within Incus’s current architecture is something only the project’s founder could really assess - but my guess is it wouldn’t be a trivial undertaking.