Data Compression and Deduplication
Veeam Backup & Replication provides mechanisms of data compression and deduplication. Data compression and deduplication let you decrease traffic going over the network and disk space required for storing backup files and VM replicas.
Data compression decreases the size of created backups but affects duration of the backup procedure. Veeam Backup & Replication allows you to select one of the following compression levels:
- None compression level is recommended if you plan to store backup files and VM replica files on storage devices that support hardware compression and deduplication.
- Dedupe-friendly is an optimized compression level for very low CPU usage. You can select this compression level if you want to decrease the load on the backup proxy.
- Optimal is the recommended compression level. It provides the best ratio between size of the backup file and time of the backup procedure.
- High compression level provides additional 10% compression ratio over the Optimal level at the cost of about 10x higher CPU usage.
- Extreme compression provides the smallest size of the backup file but reduces the backup performance. We recommend that you run backup proxies on computers with modern multi-core CPUs (6 cores recommended) if you intend to use the extreme compression level.
If encryption is enabled for a job and the Decompress backup data blocks before storing check box is selected in the settings of the target backup repository, Veeam Backup & Replication does not compress VM data. Therefore, in the job statistics, you may observe a higher amount of transferred data (the Transferred counter) as compared to a job for which encryption is disabled. For details on job statistics, see Viewing Real-Time Statistics.
Changing Data Compression Settings
You can change data compression settings for existing backup jobs. After you change the settings, you will not need to create new full backups to use new settings. Veeam Backup & Replication will automatically apply the new compression level to the newly created backup files after you save the settings. Previously created backup files will not be affected.
However, if you use the reverse incremental backup method, the newly created backup files will contain a mixture of data blocks compressed at different levels. For example, you have a backup job that uses the reverse incremental backup method and the Optimal level of compression. After several job sessions, you change the compression level to High. In the reverse incremental backup chains, the full backup file is rebuilt with every job session to include new data blocks. As a result, the full backup file will contain a mixture of data blocks: data blocks compressed at the Optimal level and data blocks compressed at the High level. The same behavior applies to synthetic full backups: synthetic full backups created after the compression level change will contain a mixture of data blocks compressed at different levels.
If you want the newly created backup file to contain data blocks compressed at one level, you can create an active full backup. Veeam Backup & Replication will retrieve data for the whole VM image from the production infrastructure and compress it at the new compression level. All subsequent backup files in the backup chain will also use the new compression level.
Data deduplication decreases the size of backup files. With data deduplication enabled, Veeam Backup & Replication does not store to the resulting backup file identical data blocks and space that has been pre-allocated but not used.
We recommend you enable data deduplication if your backup or replication jobs contain several VMs that have a lot of free space on their logical disks or VMs that have similar data blocks — for example, VMs that were created from the same template. However, note that data deduplication may decrease job performance.
Veeam Backup & Replication uses Veeam Data Movers to deduplicate VM data:
- Veeam Data Mover in the source side deduplicates VM data at the level of VM disks. Before the source-side Veeam Data Mover starts processing a VM disk, it obtains digests for the previous restore point in the backup chain from Veeam Data Mover in the target side. The source-side Veeam Data Mover consolidates this information with CBT information from the hypervisor and filters VM disk data based on it. If some data block exists in the previous restore point for this VM, the source-side Veeam Data Mover does not transport this data block to the target. In addition to it, in case of dynamically expanded disks the source-side Veeam Data Mover skips unallocated space.
- Veeam Data Mover in the target side deduplicates VM data at the level of the backup file. It processes data for all VM disks of all VMs in the job. The target-side Veeam Data Mover uses digests to detect identical data blocks in transported data, and stores only unique data blocks to the resulting backup file.
You can change data deduplication settings for existing jobs. After you change the settings, you will not need to create new full backups to enable/disable the deduplication. Veeam Backup & Replication will automatically apply the change to the newly created backup files after you save the settings. Previously created backup files will not be affected.
To optimize the job performance and storage usage, Veeam Backup & Replication allows you to choose the minimum data block size to process VMs. The optimal data block size depends on the type of storage you select as a backup target and the size of your backup files.
When selecting the data block size, consider the following aspects:
- When reading the VM image, Veeam Backup & Replication "splits" the VM image into blocks of the selected size. The more data blocks there are, the more time is required to process the VM image.
- [For replication and vCD replication] Veeam Backup & Replication writes information about every data block to the VM replica metadata stored in the backup repository. The more data blocks there are, the more metadata is written to the backup repository.
- [For changed block tracking enabled] During incremental job runs, Veeam Backup & Replication uses CBT to define changed data blocks in the VM. The larger is the size of the found changed data block, the greater amount of data needs to be transferred to the target site.
The incorrectly chosen data block size may decrease the performance. For example, when you deduplicate a large backup file to small data blocks, Veeam Backup & Replication produces a very large deduplication metadata table, which can potentially overgrow memory and CPU resources of your backup repository. For large backup files, it is better to use large data blocks.
Veeam Backup & Replication provides several storage optimization options with different block sizes used. The following table will help you to choose the optimal option in accordance with the size of your backup files and the storage type.
Storage optimization option
Local target (large blocks)
Recommended for backup files that are larger than 16 TB.
This option will provide the lowest deduplication ratio and the largest size of incremental backup files.
Recommended for backup to SAN, DAS or local storage.
This option provides the fastest backup job performance but reduces the deduplication ratio, because with larger data blocks it is less likely to find identical blocks.
Recommended for backup to NAS and onsite backup.
This option provides a better deduplication ratio and reduces the size of a backup file because of reduced data block sizes.
Recommended if you are planning to use WAN for offsite backup.
This option provides the maximum deduplication ratio and the smallest size of backup files that allows you to reduce the amount of traffic over WAN.
The block size refers to the minimum processed unit, not to the block size saved to the target storage. For example, if you select Local target option where the block size is 1024 KB, the compression level is 50%, data blocks of 512 KB will be saved to the storage.
Changing Storage Optimization Settings
You can change storage optimization settings for existing jobs. New settings will not have any effect on previously created backup files in the backup chain. They will be applied to new backup files created after the settings were changed.
For Veeam Backup & Replication to apply the new settings, use the following instructions.
To apply new storage optimization settings in backup jobs, you must create an active full backup after you change storage optimization settings. Veeam Backup & Replication will use the new block size for the active full backup and subsequent backup files in the backup chain.
To change data block size for backup copy jobs, you must perform the following actions:
- Change data block size in settings of the initial backup job.
- Create an active full backup with the initial backup job.
- Create an active full backup with the backup copy job.