With the release of hyper-v 2012R2 the backup process of the system was changed. Now for some reason there is very little documentation on this.
The new process involves the use of checkpoints
instaed aswell of as VSS to backup the VM (VHDX).
After some futher investigation and with the help of Veeam, many thans to Anton Gostev & Alexander Fogelson for there help, There are a few clear ups worth mentioning.
- Both host and in-guest VSS are also used as previously.
- VM on the volume snapshot is always in its consistent state as volume snapshot is created after the VM freeze.
- Checkpoint is indeed crash-consistent, but is untouched by the backup process.
- Checkpoint is needed because different VMs on the volume will require different time to complete guest VSS freeze.
- This also improves support for non Microsoft systems that don’t have in guest VSS.
Originally when backing up Hyper-V VM’s a VSS snapshot would be created, mounted, and that VSS snapshot would be backed up. similar to how we backup (or used to before we started backing up VM’s) Exchange, SQl AD…
The new way basically involves taking a checkpoint (formally known as a snapshot) of the VM, the checkpoint freezes the VHDX file and performs all new writes to a temporary AVHDx file. Thus while the checkpoint is active the original VHDX files can be backed up.
The one thing to take note of is that a checkpoint is crash consistent and not clean. Now these days this is not a big deal as almost all modern databases will load and cleanup there own databases after a crash consistent restore. Also 3rd party backup solutions such as Veea will still directly quis the VM’s and perform VSS snapshots natively within the VM to guarantee clean backups.
Although being crash consistent we do get an easier backup process and using hardware based backups should be easier as we no longer require a hardware VSS provider.
Windows based VM’s will be backup consistent and not crash consistent.