Virtual machine change block tracking
First Claim
1. A system configured to backup a virtual machine, the system comprising:
- a client device comprising computer hardware, wherein the client device includes;
a virtual machine (VM) executed by a hypervisor, wherein the hypervisor comprises an I/O stack, 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 a virtual hard disk;
a driver module in the I/O stack of the hypervisor and under control of the hypervisor, wherein the driver module is configured to;
receive an instruction to track changes to the virtual hard disk;
in response to the instruction to track changes to the virtual hard disk,generate an indication of a time when tracking of changes to the virtual hard disk began,intercept a first write operation generated by the VM to store data in a first sector in response to the I/O stack receiving a request sent by the VM to perform a translation between a virtual location in the virtual hard disk indicated by the first write operation and a physical location in a local hard disk, wherein the request to perform the translation is sent by the VM to the I/O stack to determine the physical location in the local hard disk to store data corresponding to the first write operation,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, andmodify the entry in the change block bitmap file to indicate that data in the first sector has changed; and
a data agent configured to provide the indication of the time when tracking of changes to the virtual hard disk began to the driver module to obtain the change block bitmap file, the data agent further configured to gather data for use in performance of an incremental backup of the VM based on the change block bitmap file in response to an instruction from a storage manager, wherein the incremental backup comprises the data in the first sector.
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.
727 Citations
17 Claims
-
1. A system configured to backup a virtual machine, the system comprising:
a client device comprising computer hardware, wherein the client device includes; a virtual machine (VM) executed by a hypervisor, wherein the hypervisor comprises an I/O stack, 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 a virtual hard disk; a driver module in the I/O stack of the hypervisor and under control of the hypervisor, wherein the driver module is configured to; receive an instruction to track changes to the virtual hard disk; in response to the instruction to track changes to the virtual hard disk, generate an indication of a time when tracking of changes to the virtual hard disk began, intercept a first write operation generated by the VM to store data in a first sector in response to the I/O stack receiving a request sent by the VM to perform a translation between a virtual location in the virtual hard disk indicated by the first write operation and a physical location in a local hard disk, wherein the request to perform the translation is sent by the VM to the I/O stack to determine the physical location in the local hard disk to store data corresponding to the first write operation, 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; and a data agent configured to provide the indication of the time when tracking of changes to the virtual hard disk began to the driver module to obtain the change block bitmap file, the data agent further configured to gather data for use in performance of an incremental backup of the VM based on the change block bitmap file in response to an instruction from a storage manager, wherein the incremental backup comprises the data in the first sector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method of backing up a virtual machine, the method comprising:
-
receiving an instruction to track changes to a virtual hard disk; in response to the instruction to track changes to the virtual hard disk, generating an indication of a time when tracking of changes to the virtual hard disk began, intercepting, by a driver in an I/O stack of a hypervisor under the control of the hypervisor which executes on a 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 in response to the I/O stack receiving a request sent by the VM to perform a translation between a virtual location in the virtual hard disk indicated by the first write operation and a physical location in a local hard disk, wherein the VM is executed by the hypervisor, wherein the VM comprises a virtual hard disk file and a change block bitmap file, wherein the virtual hard disk file stores data associated with the virtual hard disk, and wherein the request to perform the translation is sent by the VM to the I/O stack to determine the physical location in the local hard disk to store data corresponding to the first write operation, determining an identity of the first sector based on the intercepted write operation, determining an entry in the change block bitmap file that corresponds with the first sector, and modifying the entry in the change block bitmap file to indicate that data in the first sector has changed; receiving an instruction from a storage manager to begin a backup of the VM; providing the indication of the time when tracking of changes to the virtual hard disk began to the driver to obtain the change block bitmap file; and gathering data for use in performance of an incremental backup of the VM based on the change block bitmap file in response to the received instruction, wherein the incremental backup comprises the data in the first sector. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification