Virtual machine change block tracking
First Claim
1. A method of backing up a virtual machine, the method comprising:
- receiving an instruction to track changes to a virtual hard disk;
generating a token in response to receiving the instruction to track changes to the virtual hard disk;
intercepting, by a first driver under the control of a first hypervisor which executes on a first client computing device, a first write operation generated by a virtual machine (VM) to store data in a first sector of the virtual hard disk, wherein the VM is executed by the first hypervisor, wherein the VM comprises a virtual hard disk file and a change block bitmap file, and wherein the virtual hard disk file stores data associated with the virtual hard disk;
with the first client computing device, accessing the change block bitmap file by providing the token to the first driver and modifying a first entry in the change block bitmap file to indicate that data in the first sector has changed;
migrating the VM to a second hypervisor which executes on a second client computing device, such that the VM is executed by the second hypervisor following said migrating;
intercepting by a second driver under the control of the second hypervisor, a second write operation generated by the VM to store data in a second sector of the virtual hard disk; and
with the second client computing device,accessing the change block bitmap file and modifying a second entry in the change block bitmap file to indicate that data in the second sector has changed,receiving an instruction to begin an incremental backup of the VM, andas part of the incremental backup of the VM, reviewing the first and second entries in the change block bitmap file to identify the first and second sectors as sectors to access in gathering data for use in performance of the incremental backup.
2 Assignments
0 Petitions
Accused Products
Abstract
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. The driver may intercept a first write operation generated by the VM to store data in a first sector, determine an identity of the first sector based on the intercepted write operation, determine an entry in the change block bitmap file that corresponds with the first sector, and modify the entry in the change block bitmap file to indicate that data in the first sector has changed. The data agent may generate an incremental backup of the VM based on the change block bitmap file in response to an instruction from a storage manager, where the incremental backup includes the data in the first sector.
-
Citations
14 Claims
-
1. A method of backing up a virtual machine, the method comprising:
-
receiving an instruction to track changes to a virtual hard disk; generating a token in response to receiving the instruction to track changes to the virtual hard disk; intercepting, by a first driver under the control of a first hypervisor which executes on a first client computing device, a first write operation generated by a virtual machine (VM) to store data in a first sector of the virtual hard disk, wherein the VM is executed by the first hypervisor, wherein the VM comprises a virtual hard disk file and a change block bitmap file, and wherein the virtual hard disk file stores data associated with the virtual hard disk; with the first client computing device, accessing the change block bitmap file by providing the token to the first driver and modifying a first entry in the change block bitmap file to indicate that data in the first sector has changed; migrating the VM to a second hypervisor which executes on a second client computing device, such that the VM is executed by the second hypervisor following said migrating; intercepting by a second driver under the control of the second hypervisor, a second write operation generated by the VM to store data in a second sector of the virtual hard disk; and with the second client computing device, accessing the change block bitmap file and modifying a second entry in the change block bitmap file to indicate that data in the second sector has changed, receiving an instruction to begin an incremental backup of the VM, and as part of the incremental backup of the VM, reviewing the first and second entries in the change block bitmap file to identify the first and second sectors as sectors to access in gathering data for use in performance of the incremental backup. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system configured to backup a virtual machine, the system comprising:
one or more computing devices comprising computer hardware, wherein the one or more computing devices include; a hypervisor executed by a client computing device of the one or more computing devices, the hypervisor configured to; execute a virtual machine (VM), wherein the VM comprises a virtual hard disk file and a change block file, wherein the virtual hard disk file stores data associated with a virtual hard disk, wherein the VM was migrated from a second client computing device of the one or more computing devices, wherein prior to the migration the VM executed on a second hypervisor included on the second client computing device, receive an instruction to track changes to the virtual hard disk; generate a token in response to reception of the instruction to track changes to the virtual hard disk; intercept write operations generated by the VM to store data in the virtual hard disk file, and modify the change block file to indicate sectors on the virtual hard disk that have changed as a result of the write operations; and a data agent executed by the client computing device and configured to receive an instruction to begin an incremental backup of the VM, and as part of the incremental backup of the VM; access the change block file using the token, and review entries in the change block file made by the client computing device and by the second client computing device, to determine which sectors in the virtual hard disk to gather data from for use in performance of the incremental backup of the VM. - View Dependent Claims (8, 9, 10)
-
11. Non-transitory computer-readable memory comprising instructions, which when executed by one or more computers, cause the one or more computers to perform a method for backing up a virtual machine, the method comprising:
-
processing an instruction to track changes to a virtual hard disk received by the one or more computers; generating a token in response to reception of the instruction to track changes to the virtual hard disk; intercepting, by a driver under the control of a first hypervisor which executes on a first client computing device, a first write operation generated by a virtual machine (VM) to store data in a first sector of the virtual hard disk, wherein the VM is executed by the first hypervisor, wherein the VM comprises a virtual hard disk file and a change block bitmap file, and wherein the virtual hard disk file stores data associated with the virtual hard disk; with the first client computing device, accessing the change block bitmap file by providing the token to the driver and modifying a first entry in the change block bitmap file to indicate that data in the first sector has changed; migrating the VM to a second hypervisor which executes on a second client computing device, such that the VM is executed by the second hypervisor following said migrating; intercepting by a second driver under the control of the second hypervisor, a second write operation generated by the virtual machine (VM) to store data in a second sector of the virtual hard disk; and with the second client computing device, accessing the change block bitmap file and modifying a second entry in the change block bitmap file to indicate that data in the second sector has changed; with the second client computing device, receiving an instruction from a storage manager to begin an incremental backup of the VM, and as part of the incremental backup of the VM, reviewing the first and second entries in the change block bitmap file to identify the first and second sectors as sectors to access in gathering data for use in performance of the incremental backup. - View Dependent Claims (12, 13, 14)
-
Specification