Veeam Backup & Replication performs VM backup in the following way:
- When a new backup 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 the target repository and backup proxy. 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 the backup repository and backup proxy, and sets a number of rules for data transfer, such as network traffic throttling rules and so on.
- Veeam Data Movers on the backup proxy and backup repository establish a connection with each other for data transfer.
- 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 backup are written to delta files.
- The source Veeam Data Mover reads the VM data from the read-only VM disk and transfers the data to the backup repository in one of transport modes. 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 target Veeam Data Mover on the backup repository to obtain backup metadata, and uses this metadata to detect blocks that have changed since the previous job session.
While transporting 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.
- After the backup proxy finishes reading VM data, Veeam Backup & Replication requests the vCenter Server or ESXi host to commit the VM snapshot.