For my day job I work for an ISV in the Disaster Recovery and Availability (Veeam Software) arena making any feature within this space an extreme area of interest. I especially enjoy those that improve the overall efficiency’s. One of the exciting new features in Hyper-V is Resilient Change Tracking aka. RCT. There has been much chatter about this within the Cloud & Datacenter Management MVP world also, so what exactly is RCT?? Great question, first allow me to illustrate the issue.
Hyper-V has always lacked native Change Block Tracking (CBT) this is something vSphere has provided natively since 2011. CBT benefits backup and replication by keeping a log of the blocks of data that have changed since the previous snapshot making incremental backups and replicas much faster. With Hyper-V this was previously not possible, unless the vendor provided their own filter driver which is installed on each and every Hyper-V host in the environment. This isn’t horrible or the end of the world, in fact the Hyper-V extensible switch utilizes filter extensions to filter network packets and exclude, inject or modify packets into the ingress path. Same goes for the change tracking filter driver, it would capture and maintain a log of the blocks of data that changed since the previous checkpoint. Well Hyper-V 2016 no longer requires this non-native methodology!
Now, how’s it work?
Resilient Change Tracking (RCT) 101:
If you install Hyper-V 2016 TP5 and create / migrate some a VMs over you’ll notice the addition of 2 new files with the .MRT and .RCT extension. Both are related to the Hyper-V 2016 native technology that’s providing native change block tracking. As the name implies, Resilient Change Tracking makes one believe that RCT is somehow better or more resilient than just standard change block tracking (CBT) we’re familiar with. Well you’re right…
.MRT and .RCT Files
- Modified Region Table (.MRT) – The MRT file is written to in write-through mode, it’s essentially a cache with better performance than write-back operations as the main memory has the latest and most up to date changes. This method uses a more coarse tracking granularity (greater than RCT below). MRT is ideal for those scenarios where sudden operations occur. The MRT file maintains a record of what’s changed on the disk allowing the VM’s CBT to stay intact and not have to force a full rescan.
- Resilient Change Tracking (.RCT) – The RCT file uses normal write operations and also stores much more granular (16k) changes than the Modified Region Table (MRT) method. For normal operating periods of backup, replication and migration this is mode absolutely sufficient. Normal operations include startup, shutdown of the VM as well as the act of migration from a single host within the infrastructure to another. This RCT file will never grow larger than 6MB.
In order to take advantage of these latest and greatest enhancements like RCT, you’ll need to have be running Windows Server 2016 as the Hyper-V host as well as have upgraded your VM Version and raised the cluster functional level. Perhaps this sounds intimidating, it’s not!
Take a read through this blog post series I wrote on this exact process.
Ch.1 — Plain OS installation
Ch.2 — Rolling Cluster Upgrades
Ch.3 — Completing the Rolling Cluster Upgrade