Newer versions of Hyper-V have the Change Block Tracking functionality built into it and enabled by default. It's not something you disable easily per a native configuration. You hook into functions of this via Win32 / WMI Hyper-V APIs and such—so you either use it or don't use it basically.
It's an improved and more robust Hyper-V backup, snapshot, and recovery solution which overcomes many of the early Hyper-V version limitations, constraints, and complexities or performance issues depending on your backup operations and scale.
It somewhat of reminds me of the "Essentially" section of the canonical answer provided here regarding rdiff
with regard to the way the base is merged with the delta to give you a new matching or recovered VM in an effective and non-wasteful fashion.
It's important to understand what it is and how it works to master using it for the best understanding and clarity.
I've included the TechEd video link to watch more about its inner workings and such with more detail.
I've also included the link to the Install-Module -Name xHyper-VBackup
so you can start using and testing it.
Starting in Windows Server 2016, Hyper-V started supporting backup
through the Hyper-V WMI API. This approach still utilizes VSS
inside the virtual machine for backup purposes, but no longer uses VSS
in the host operating system. Instead, a combination of reference
points and resilient change tracking (RCT) is used to allow developers
to access the information about backed up virtual machines in an
efficient manner. This approach is more scalable than using VSS in
the host, however it is only available on Windows Server 2016 and
later.
To understand this architecture better – refer to this presentation:
There is also an example on how to use these APIs available here:
To be utilized with Windows Server Technical Preview for the purposes of testing and
developing against the new Hyper-V backup and restore APIs. This module is provided
without expectation of support, guarantees or warrantee - use at your own risk and discretion.
Install Module
Install-Module -Name xHyper-VBackup
Developers can use the SetVirtualDiskInformation
,
GetVirtualDiskInformation
and QueryChangesVirtualDisk
APIs on the
Virtual Hard Disk Win32 API set as documented here: Virtual Hard
Disk.
Note that to use these APIs, Hyper-V WMI still needs to be used to
create reference points on associated virtual machines. These Win32
APIs then allow for efficient access to the data of the backed up
virtual machine. The Win32 APIs do have several limitations:
- They can only be accessed locally
- They do not support reading data from shared virtual hard disk files
- They return data addresses that are relative to the internal structure of the virtual hard disk
Source
More Correlated Resources
-
This header is used by Virtual Hard Disk. For more information,
see:
QueryChangesVirtualDisk
- Retrieves information about changes to the specified areas of a virtual hard disk (VHD) that are tracked by resilient change tracking
(RCT).
QUERY_CHANGES_VIRTUAL_DISK_RANGE
- Identifies an area on a virtual hard disk (VHD) that has changed as tracked by resilient change tracking (RCT).
Source
-
Identifies an area on a virtual hard disk (VHD) that has changed as
tracked by resilient change tracking (RCT).
Requirements
Source