Proxmox provides 3 options for backup compression:
If you don't know what I'm talking about, then read on below.
Although I backup my virtual machines daily onsite, once per week I also use rsync's --fuzzy argument to perform an offsite sync-backup.
Basically, the fuzzy option allows rsync to use a previous backup file as a means of efficiently creating a copy of your latest backup file. Instead of having to transfer the entire backup file over the wire, rsync compares the source file with the destination file. Any matching blocks of data do not have to be transferred; only the differences between the two files get transferred over the wire. For example, at one company they have a IBM DB2 database that is 50GB yet I'm able to back up that file daily and less than a 1GB actually gets transferred over the internet. After the backup completes, the source file and destination file have matching checksums.
For example, lets say "proxmox virtual machine 100" is being backed up using zst format, this command will use a previous backup (at the destination) as a fuzzy basis for transferring the current backup from source to destination:
Notice "--fuzzy" in the command above and the wildcards "vzdump-*-100-*.zst" used to address the name differences between the current and previous backup files.
Which of Proxmox's 3 compression types would be most efficient for "Rsync --fuzzy Synchronization"? When it comes to this priority, would I be better off backing up the virtual machines's uncompressed folder instead of syncing the backup files instead?
- LZO (fast)
- GZIP (good)
- ZSTD (fast and good)
If you don't know what I'm talking about, then read on below.
Although I backup my virtual machines daily onsite, once per week I also use rsync's --fuzzy argument to perform an offsite sync-backup.
Basically, the fuzzy option allows rsync to use a previous backup file as a means of efficiently creating a copy of your latest backup file. Instead of having to transfer the entire backup file over the wire, rsync compares the source file with the destination file. Any matching blocks of data do not have to be transferred; only the differences between the two files get transferred over the wire. For example, at one company they have a IBM DB2 database that is 50GB yet I'm able to back up that file daily and less than a 1GB actually gets transferred over the internet. After the backup completes, the source file and destination file have matching checksums.
For example, lets say "proxmox virtual machine 100" is being backed up using zst format, this command will use a previous backup (at the destination) as a fuzzy basis for transferring the current backup from source to destination:
Code:
rsync -vvv --compress --chmod=ug=rwX --delete-after --fuzzy --human-readable --itemize-changes --links --partial --progress --recursive --stats --timeout=7200 --times /home/companyA/virtualMachines/dump/vzdump-*-100-*.zst username@linux-remote-backup.com:/mnt/companyA/virtualMachines/100 ;
Notice "--fuzzy" in the command above and the wildcards "vzdump-*-100-*.zst" used to address the name differences between the current and previous backup files.
Which of Proxmox's 3 compression types would be most efficient for "Rsync --fuzzy Synchronization"? When it comes to this priority, would I be better off backing up the virtual machines's uncompressed folder instead of syncing the backup files instead?
Last edited: