Backup systems and methods for a virtual computing environment
First Claim
1. A method for performing backup of virtual machine data to a target datastore, the method comprising:
- intercepting, by a backup computing device comprising a volatile memory and nonvolatile storage that is different from the target datastore, a plurality of calls made by a backup process to create a backup of one or more virtual machine disks to the target datastore, the one or more virtual machine disks comprising a plurality of data blocks, the plurality of intercepted calls comprising;
(1) at least one open call programmed to open a proxy backup file at a first destination location on the nonvolatile storage of the backup computing device, and(2) at least one write call programmed to write a proxy backup copy of each of the one or more virtual machine disks to the proxy backup file at the first destination location on the nonvolatile storage of the backup computing device;
for each intercepted open call, the backup computing device substituting the open call with at least a second open call programmed to open a sparse file at the first destination location;
for each intercepted write call, the backup computing device substituting the intercepted write call with at least a second write call, wherein the at least the second write call is programmed to;
transfer the data block associated with the particular intercepted write call to the volatile memory of the backup computing device without writing the data block to the nonvolatile storage of the backup computing device; and
redirect the data block stored in the volatile memory to a second destination location on the target datastore that is different than the first destination location on the nonvolatile storage of the backup computing device, wherein the redirecting occurs without writing the data block to the nonvolatile storage of the computing device;
intercepting a call to close the proxy backup file; and
substituting, for the intercepted close call, a call programmed to close the second destination location on the target datastore.
24 Assignments
0 Petitions
Accused Products
Abstract
Improved backup and storage operations are disclosed for virtual computing environments using a backup proxy server to perform storage operations on one or more virtual machine disks. The proxy server can include a module that intercepts application programming interface (API) calls, for writing backup data to a first location, prior to the data arriving on the proxy disk. During the intercept process, the data can be compressed in memory pages of the proxy server and redirected to an alternative backup disk location. The proxy server can also include a differential engine that identifies changes to the virtual machine disk at the block level since the last full backup. The differential engine can advantageously leverage memory pages of the proxy server to compare differences between signatures of blocks of the last full backup with signatures of new blocks. Subsequently, only blocks with non-matching signatures are processed for backup.
188 Citations
9 Claims
-
1. A method for performing backup of virtual machine data to a target datastore, the method comprising:
-
intercepting, by a backup computing device comprising a volatile memory and nonvolatile storage that is different from the target datastore, a plurality of calls made by a backup process to create a backup of one or more virtual machine disks to the target datastore, the one or more virtual machine disks comprising a plurality of data blocks, the plurality of intercepted calls comprising; (1) at least one open call programmed to open a proxy backup file at a first destination location on the nonvolatile storage of the backup computing device, and (2) at least one write call programmed to write a proxy backup copy of each of the one or more virtual machine disks to the proxy backup file at the first destination location on the nonvolatile storage of the backup computing device; for each intercepted open call, the backup computing device substituting the open call with at least a second open call programmed to open a sparse file at the first destination location; for each intercepted write call, the backup computing device substituting the intercepted write call with at least a second write call, wherein the at least the second write call is programmed to; transfer the data block associated with the particular intercepted write call to the volatile memory of the backup computing device without writing the data block to the nonvolatile storage of the backup computing device; and redirect the data block stored in the volatile memory to a second destination location on the target datastore that is different than the first destination location on the nonvolatile storage of the backup computing device, wherein the redirecting occurs without writing the data block to the nonvolatile storage of the computing device; intercepting a call to close the proxy backup file; and substituting, for the intercepted close call, a call programmed to close the second destination location on the target datastore. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for performing backup of a virtual machine file, the method comprising:
-
intercepting, by a backup computing device comprising computer hardware, an open call for opening a proxy backup file at a first destination location on a proxy disk, the open call programmed to reserve space on the proxy disk for a requested size of the proxy backup file; substituting, by the backup computing device, the open call with a second open call to open a target backup file at a second destination location on a backup datastore that is different from the proxy disk; intercepting, by the backup computing device, a plurality of write calls for creating a backup copy of a plurality of data blocks of a virtual machine file at the first destination location on the proxy disk; substituting, by the backup computing device, each intercepted write call with a second write call, wherein the second write call is programmed to; transfer the data block associated with the particular write call to a memory without first writing the data block to the proxy disk; and store the data block to the target backup file at the second destination location on the backup datastore without storing the data block on the proxy disk; and intercepting a call to close the proxy backup file; and substituting, for the intercepted close call, a call programmed to close the second destination location on the backup datastore.
-
Specification