I get this question a lot, so much so that it’s time I blogged it! In particular, if someone has used other backup products which may take different approaches there can be questions on how Veeam gets the job done. While there are a lot of scenarios that Hyper-V can be used and deployed, I thought I’d take the time in this blog post to give a quick breakdown of the sequence of events for a Hyper-V backup job. Let’s break them down into sever simple steps.
1. The first step starts with the backup job itself. The job scheduler will launch the job based on a number of criteria and the job will query the Hyper-V host(s) or SCVMM server(s) to find out which VMs are where. This is important if there have been any migrations. Consider the image below where the job has a mix of individual VMs and an entire host inventory in the backup job:
2. Once these two steps are done, the Veeam Backup Hyper-V Integration Service will call a shadow copy of the VM’s disk elements. This means that the .VHD or .VHDX file(s) and more will be accessible via a shadow copy on the host.
This important step will either use the default Windows provider on the Hyper-V host, or if you have installed a VSS provider from the storage system; this will be called to make the shadow copy. More on this is in the Help Center.
3. The next step involves Veeam’s application-aware image processing. This optional step will query the guest file system to provide additional restore options (especially the Enterprise Manager web interface’s 1-Click file recovery) and properly prepare the guest file system and applications for backup.
4. This is where it starts to get cool! The guest VM is still running at this point, and the applications and file system are released from the application-aware processing step that ensured they were in a properly prepared state for backup. This very important step is where Veeam will save the additional metadata associated with a VM. Hyper-V VMs are more than just .VHD’s and .VHDX’s! This step is shown in the figure below:
5. You may be aware of Veeam’s implementation of Changed Block Tracking for Hyper-V VMs as part of our backup engine. This is a great technique when it comes to the incremental backups, as they can be sped up by 90% or more. This option is on by default and is shown below:
You’ll also notice the “Enable Hyper-V guest quiescence” option. This step is important if you are running Linux VMs, as it will skip the application-aware steps I mentioned earlier but will work more in a Hyper-V host snapshot manner for Linux VMs without Integration Services.
6. At this time, the Veeam Backup Proxy Service (either on-host or off-host) will read the VM from the shadow copies and populate our .VBK backup file. When proxies first came out, I explained them to people as “data movers” that need connectivity and CPU resources to do the backup jobs. This is also where the compression and deduplication kick in before the data is transferred to the backup storage.
You’ll also notice a cool graph at the top of the job status window. The high mark of the graph corresponds to the processed storage or surface area of the .VHD or .VHDX files in total. The measured green line is the changed regions of these VMs. The measured red line is the difference minus compression and any deduplication based on this change rate. This is the bulk of the backup job, transferring the data.
7. When the data has been moved to the backup repository, it’s time to clean up from the backup. This involves putting this restore point (and the guest file system index) into the catalog of available restore points and doing the optional log truncation on the application-aware processing step for critical applications like SQL or Exchange.
That’s it! From these seven steps, we’ve taken an agentless backup of the Hyper-V VMs and we are ready to do any of the many restore scenarios. In fact, we can do up to 26 restore scenarios from our one agentless backup with Veeam Backup & Replication.
Does that help clarify the Hyper-V backup sequence for you? What questions do you still have? Share your comments below.