Veeam Backup & Replication performs VM replication in the following way:
- When a new replication job session starts, Veeam Backup & Replication starts the Veeam Backup Manager process on the backup server. Veeam Backup Manager reads job settings from the configuration database and creates a list of VM tasks to process. For every disk of VMs added to the job, Veeam Backup & Replication creates a new task.
- Veeam Backup Manager connects to the Veeam Backup Service. The Veeam Backup Service includes a resource scheduling component that manages all tasks and resources in the backup infrastructure. The resource scheduler checks what backup infrastructure resources are available, and assigns backup proxies and backup repositories to process job tasks.
- Veeam Backup Manager connects to Veeam Transport Services on source and target backup proxies and on the backup repository. The Veeam Transport Services, in their turn, start Veeam Data Movers. A new instance of Veeam Data Mover is started for every task that the backup proxy is processing.
- Veeam Backup Manager establishes a connection with Veeam Data Movers on 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 Veeam Data Mover establishes a connection with the target Veeam Data Mover, and Veeam Data Mover on the backup repository.
- Veeam Backup Manager queries information about VMs and virtualization hosts from the Veeam Broker Service.
- If application-aware image processing is enabled for the job, Veeam Backup & Replication connects to VM guest OSes, deploys runtime processes 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 Veeam Data Mover reads the VM data from the read-only VM disk and copies it. During incremental job sessions, the source Veeam Data Mover uses CBT to retrieve only those data blocks that have changed since the previous job session. If CBT is not available, the source Veeam Data Mover interacts with the Veeam Data Mover on 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 Veeam Data Mover performs additional processing. It filters out zero data blocks, blocks of swap files and blocks of excluded VM guest OS files. The source Veeam Data Mover compresses VM data and transports it to the target Veeam Data Mover.
- The target Veeam Data Mover 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.