Syncrify takes several measures to ensure the integrity of backed up files. This integrity check is done by computing MD5 signatures on file then comparing them with the file on the other side.
There are three states for every file and MD5 is checked differently for each state.
A new file - When a file is copied the first time, it gets copied in several chunks. Checksums are calculated for each chunk to ensure data across the wire is not modified. If a chunk is not transferred in its entirety, Syncrify will attempt to transfer it up to 5 times. After the 5th attempt, Syncrify reports it as a failed attempt and writes an error in the log file.
Partial file - This occurs when data is appended to the end of the file or a previous backup attempt failed to transfer the file in its entirety. In this case, MD5 signature is calculated on both sides to ensure the existing data is identical. Remaining data is appended provided the checksum signature match.
Delta block - This occurs when an existing file is modified on the client machine. In such cases, a delta is sent to the server. After receiving this delta from the client, server merges it with the existing file on its end. Then, the MD5 signatures are matched on both sides to ensure the file is identical
Errors regarding MD5 signatures in the log file
Occasionally, you may see errors regarding MD5 signatures in Syncrify.log file. The most common reason for such error is if a source file is modified during backup. Consider the following scenario
A 1GB file is being backed up.
The delta for this file is 100MB, which is sent to the server.
While the server is merging this incoming delta with the actual file, someone modifies the original file on the client. File merging occurs in a TEMP folder, leaving the original file intact.
After merging is complete, Syncrify is going to compute the MD5 signature on the client as well as on the server. Since the file is now modified on the client, the MD5 won't match, resulting in an error.
To prevent such errors, enable the Backup locked file feature in Syncrify. This feature only works on Windows and uses VSS to create a read-only copy of the source file.