VM Change Block Tracking via Hypervisor Driver
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Incremental backups of virtual machines (VMs) are resource-intensive due to the need for cyclic redundancy checks (CRC) on each sector of the virtual hard disk, leading to performance penalties despite reducing memory consumption.
Innovation Solution
An information management system that includes a driver module intercepting write operations to create a block change bitmap file, allowing only changed sectors to be read during backups, reducing the number of read operations on the virtual hard disk.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If CRC checks are performed on each sector to determine changed data for incremental backups, then data change detection accuracy is improved, but processor usage and latency increase significantly
Solution Approach 1:
The system performs preliminary action by maintaining a change block bitmap that is updated continuously during normal VM operations. This bitmap records which blocks have changed since the last backup, so when backup time arrives, the system only needs to read blocks marked in the bitmap rather than checking all blocks with CRC. This preliminary tracking eliminates the need for exhaustive CRC checks during backup operations.
Solution Approach 2:
The change block bitmap serves as an intermediary data structure between the VM's write operations and the backup process. Instead of directly performing CRC checks on all sectors, the system uses the bitmap as a mediator to identify only the sectors that have changed, thereby reducing processor usage during backup while maintaining accurate change detection.
2Reliability
If the entire virtual hard disk is accessed to determine changed sectors for incremental backup, then complete data change detection is achieved, but read operations and processor usage increase
Solution Approach 1:
The system segments the virtual hard disk into individual blocks and maintains a bitmap structure where each bit corresponds to a block's change status. This segmentation allows the backup system to focus only on specific blocks marked as changed in the bitmap, rather than scanning the entire disk. The bitmap itself is a compact representation that uses minimal space while providing complete information about block changes.
3Quantity of substance
If incremental backups are implemented to reduce memory consumption, then storage requirements are reduced, but the VM suffers performance penalty due to resource intensive operations
Solution Approach 1:
The system implements self-service by having the VM's own write operations automatically update the change block bitmap. When the VM writes data to a block, the driver intercepts this write operation and sets the corresponding bit in the bitmap without requiring separate tracking operations. This self-updating mechanism eliminates the need for additional monitoring processes and minimizes overhead on the VM.
Data Source
AI summary
According to certain aspects, a system includes a client device that includes a virtual machine (VM) executed by a hypervisor, a driver located within the hypervisor, and a data agent. The VM may include a virtual hard disk file and a change block bitmap file. According to some embodiments the driver intercepts write operations generated by the VM to store data in a sector, determines an identity of the sector based on the intercepted write operation, determines an entry in the change block file that corresponds with the first sector, and modifies the entry in the change block file to indicate that data in that sector has changed. The data agent may generate an incremental backup of the VM based on the change block file in response to an instruction from a storage manager, where the incremental backup includes the data in the sector where data was modified.


