Health Check for Backup Files
You can instruct Veeam Backup & Replication to periodically perform a health check for the latest restore point in the latest backup chain. During the health check, Veeam Backup & Replication performs a CRC check for metadata and a hash check for VM data blocks in the backup file to verify their integrity. The health check helps make sure that the restore point is consistent, and you will be able to restore data from this restore point.
The health check can be performed for all type of backup chains:
- Forever forward incremental
- Forward incremental
- Reverse incremental backup chains.
Veeam Backup & Replication always verifies only the latest point of the backup chain (or, in case of forever forward incremental and forward incremental backup chains, the restore point preceding the latest one if the latest restore point is incomplete).
To run the health check periodically, you must enable the Perform backup files health check option in the backup job settings and define the health check schedule. By default, the health check is performed on the last Friday of every month. You can change the schedule and run the health check weekly or monthly on specific days.
Note: |
Veeam Backup & Replication performs the health check once a day on which health check is scheduled. If another backup job session runs on the same day, Veeam Backup & Replication will not perform the health check during this job session. |
Limitations for Health Check
The health check is not performed during an active full backup job session started manually or automatically by schedule.
How Health Check Works
When Veeam Backup & Replication saves a new restore point to the backup repository, it calculates CRC values for backup metadata and hash values for data blocks of VM disk in the backup file, and saves these values in the metadata of the backup file, together with VM data. During the health check session, Veeam Backup & Replication uses this values to make sure that a verified restore point is consistent.
Veeam Backup & Replication uses different mechanisms of health check for different types of backup chains:
- Forever forward incremental and forward incremental backup chains
- Reverse incremental backup chains
- Mixed backup chains (chains containing forward incremental and reverse incremental restore points)
Forever Forward Incremental and Forward Incremental Backup Chains
The health check for forward incremental backup chains is performed in the following way:
- At the end of the backup job session, Veeam Backup & Replication performs the health check. It calculates CRC values for backup metadata and hash values for VM disks data blocks in the backup file and compares them with the CRC and hash values that are already stored in the backup file.
During the health check, Veeam Backup & Replication verifies the latest restore point in the backup chain (restore point created with the current backup job session — the session during which the health check is performed). If the latest restore point in the backup chain is incomplete, Veeam Backup & Replication checks the restore point preceding the latest one.
- If the health check does not detect data corruption, the backup job session completes in a regular way.
If the health check detects corrupted data, Veeam Backup & Replication completes the backup job with the Error status and starts the health check retry process. The health check retry starts as a separate backup job session.
Depending on the revealed data corruption, Veeam Backup & Replication performs the following actions:
- If the health check has detected corrupted backup metadata in the full backup file, Veeam Backup & Replication marks the backup chain starting from this full restore point as corrupted in the configuration database. During the health check retry, Veeam Backup & Replication transports data blocks of the whole VM image from the source datastore, creates a new full backup file in the backup repository and saves transported data blocks to it.
- If the health check has detected corrupted backup metadata in the incremental backup file, Veeam Backup & Replication removes information about this incremental restore point and subsequent incremental restore points from the configuration database. During the health check retry, Veeam Backup & Replication transports incremental data relatively the latest valid restore point in the backup chain from the source datastore, creates a new incremental backup file in the backup repository and saves transported data blocks to it.
- If the health check has detected corrupted VM disk blocks in the full or incremental backup file, Veeam Backup & Replication marks the restore point that includes the corrupted data blocks and subsequent incremental restore points as corrupted in the configuration database. During the health check, Veeam Backup & Replication transports valid data blocks from the source datastore. In addition to valid data blocks, Veeam Backup & Replication transports data blocks that have changed since the backup job session that has triggered the health check. Veeam Backup & Replication stores these data blocks to the latest restore point that has been created with the current backup job session (session that has triggered the health check retry).
Reverse Incremental Backup Chains
In case of reverse incremental backup chains, the health check always verifies only the latest restore point in the backup chain, which is always a full backup file.
The health check is performed in the following way:
- At the end of the backup job session, Veeam Backup & Replication verifies the full backup file. Veeam Backup & Replication calculates CRC values for backup metadata and hash values for VM disks data blocks in the full backup file, and compares them with the CRC and hash values that are already stored in the full backup file.
- If the health check does not detect data corruption, the backup job session completes in a regular way.
If the health check detects corrupted data, Veeam Backup & Replication completes the backup job with the Error status and starts the health check retry process. The health check retry starts as a separate backup job session.
Depending on the revealed data corruption, Veeam Backup & Replication performs the following actions:
- If the health check has detected corrupted backup metadata in the full backup file, Veeam Backup & Replication marks the whole backup chain (full backup file and preceding reverse incremental backup files) as corrupted in the configuration database. During the health check retry, Veeam Backup & Replication transports data blocks of the whole VM image from the source datastore, creates a new full backup file in the backup repository and saves transported data blocks to it.
- If the health check has detected corrupted VM disk blocks in the full backup file, Veeam Backup & Replication marks the full backup file and preceding reverse incremental backup files as corrupted in the configuration database. During the health check retry, Veeam Backup & Replication transports valid data blocks from the source datastore. In addition to valid data blocks, Veeam Backup & Replication transports data blocks that have changed since the backup job session that has triggered the health check. Veeam Backup & Replication stores these data blocks to the existing full backup file in the backup repository. Corrupted data blocks that have been replaced with valid data blocks are stored to an existing reverse incremental backup file preceding the full backup file.
If you enable the Transform previous backup chains into rollback option in the job settings, Veeam Backup & Replication creates a mixed backup chain that contains two types of incremental backup files — reverse incremental backup files (VRB) and forward incremental backup files (VIB). In case of mixed backup chains, Veeam Backup & Replication performs a health check only the forward incremental part of the backup chain. The reverse incremental part of the backup chain is not verified. However, if Veeam Backup & Replication detects corrupted data blocks metadata or VM disk data blocks in the full backup file, it marks preceding reverse incremental backup files as corrupted in the configuration database.
Health Checks Retries
The health check itself is started during the backup job session or the job retry session if the backup job session has failed. If the attempts are not successful, Veeam Backup & Replication will perform the health check during the last job retry in any case.
The number of health check retries is equal to the number of job retries specified in the job settings.
Related Topics