How Replication Works
Veeam Backup & Replication performs VM replication in the following way:
- When a new replication job session starts, Veeam Backup & Replication reads job settings from the configuration database and creates a list of VMs to process. For every disk of a VM added to the job, Veeam Backup & Replication creates a new task.
- Veeam Backup & Replication checks what backup infrastructure resources are available, and assigns backup proxies and backup repositories to process the tasks. Then Veeam Backup & Replication establishes a connection with source and target backup proxies and the backup repository, and sets a number of rules for data transfer, such as network traffic throttling rules and so on.
- The source proxy establishes a connection with the target proxy and backup repository.
- Veeam Backup & Replication queries information about VMs and virtualization hosts from the vCenter Server.
- If application-aware image processing is enabled for the job, Veeam Backup & Replication connects to VM guest OSes, deploys non-persistent runtime components or uses (if necessary, deploys) persistent agent components on VM guest OSes and performs in-guest processing tasks.
- Veeam Backup & Replication requests vCenter Server or ESXi host to create a VM snapshot. VM disks are put to the read-only state, and every virtual disk receives a delta file. All changes that the user makes to the VM during replication are written to delta files.
- The source backup proxy reads the VM data from the read-only VM disk and copies it. During incremental job sessions, the source proxy uses changed block tracking (CBT) to retrieve only those data blocks that have changed since the previous job session. If CBT is not available, the source proxy interacts with the backup repository to obtain replica metadata, and uses this metadata to detect blocks that have changed since the previous job session.
While copying VM data, the source proxy performs additional processing. It filters out zero data blocks, blocks of swap files and blocks of excluded VM guest OS files. The source proxy compresses VM data and transports it to the target proxy.
- The target proxy decompresses VM data and writes the result to the destination datastore.
- After the backup proxy finishes reading VM data, Veeam Backup & Replication requests the vCenter Server or ESXi host to commit the VM snapshot.
Veeam Backup & Replication can resume the replication process if data transfer was not finished, for example, if the replication job did not finish within the allowed backup window or the network connection failed. On the next run, Veeam Backup & Replication will continue data transfer for those disks for which Veeam Backup & Replication has started data processing and created snapshots during the current run.