Your choice. I wonder how you see bytes uploaded. Slow is clearly not desired, but diagnosis takes time. Because now seems a bad time for you, I’ll have to resort to web research and conjecture about Veeam.
Veeam must have interesting methods (or your hardware is fast). Reading 300 GB in 5 minutes is FAST.
Possibly they understand VHDX and NTFS file formats, find changed files, and scan. Duplicati has to go completely through the VHDX at a byte level. Even a backup with variable chunking would need to do so.
Sometimes people debate whether VM backups should be done at the host or guest. For simple backup programs such as one would run on a desktop, life in the guest is good. File timestamps to read, if using those to find changed files, or NTFS USN change journal which Duplicati supports are faster than scans.
OK, maybe this is the “secret sauce” in Veeam. It’s not that Duplicati doesn’t get the fundamentals right, (theoretically at least – there are definitely still beta bugs) but that Veeam goes far beyond fundamentals.
How Backup Works
During incremental job sessions, the source Veeam Data Mover uses CBT to retrieve only those data blocks that have changed since the previous job session. If CBT is not available, the source Veeam Data Mover interacts with the target Veeam Data Mover on the backup repository to obtain backup metadata, and uses this metadata to detect blocks that have changed since the previous job session.
Changed Block Tracking
The CBT mechanism is implemented as a file system filter driver — Veeam CBT driver. The driver is installed on every Microsoft Hyper-V host added to the backup infrastructure.
And if I got that wrong, there’s more. Duplicati has no VM guest agents, and no change tracking installed. Reading through 300 GB at SATA-3 speed could not be done in 5 minutes even ignoring data processing.
If you want speed, Duplicati in the guest might do better. Run in Administrator group with –usn-policy use which should avoid scanning timestamps, and hopefully will find small individual files to read for changes.
Or just be happy that you have a premium product that goes the extra mile to work well for your situation. Duplicati, as a general-purpose backup product (at the moment) can’t do that, and probably cannot soon.
USN_RECORD_V2 structure looks to me like a USN Change Journal doesn’t keep detailed CBT records, meaning Duplicati can’t extend its current support into something that would precisely track the changes.
UrBackup seems to have a reasonably priced commercial add-on that might help with the VHDX backup:
Change block tracking for UrBackup Client on Windows 2.x
Without change block tracking all data has to be read and inspected in order to find and transfer the differences during an incremental image or file backup. This can take hours compared to the same taking minutes with change block information.
It looks, though, like the “client” means the system being backed up, i.e. backup software resides in guest, as opposed to Veeam where host software coordinates with additional guest software to get backup done.
Possibly you’ll find something else. There are certainly other commercial programs aimed at VM backups.