Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
First Claim
1. A method for coordinating, in a storage management system, between a restoration of a virtual machine and a virtual-machine-file-relocation operation, the method comprising:
- copying, by a media agent, a first set of data blocks from a backup copy of data associated with the virtual machine to a read-cache associated with the media agent,wherein the backup copy is stored on a secondary storage device and comprises one or more configuration files and one or more virtual disks, andwherein the first set of data blocks is based on a profile of the virtual machine;
launching execution of the virtual machine on the host computing device, based at least in part on the first set of data blocks;
copying, by the media agent, a second set of data blocks from the backup copy to the read-cache,wherein the virtual-machine-file-relocation operation comprises a logical transfer, according to a relocation sequence, of the backup copy of data associated with the virtual machine to a destination on a primary storage device that is in communication with the host computing device, andwherein the second set of data blocks is based on the relocation sequence;
while the virtual machine executes on the host computing device prior to the virtual-machine-file-relocation operation, serving, by the media agent, a read request for a data block, wherein serving the read request comprises;
(i) if the requested data block is not found in the read-cache, copying, by the media agent, the requested data block from the backup copy to the read-cache, and(ii) transmitting, by the media agent, the requested data block from the read-cache, wherein the read request is served at a higher priority than copying the second set of data from the backup copy to the read-cache; and
while the virtual machine and the virtual-machine-file-relocation operation execute concurrently on the host computing device;
(A) serving, by the media agent, a read request for a data block, wherein serving the read request comprises;
(i) if the requested data block is not found in the read-cache, copying, by the media agent, the requested data block from the backup copy to the read-cache, and (ii) transmitting, by the media agent, the requested data block from the read-cache, and(B) copying, by the media agent, a third set of data blocks from the backup copy to the read-cache, wherein the third set of data blocks is based on the relocation sequence of the virtual-machine-file-relocation operation, and wherein the read request is served at the same priority as copying of the third set of data blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods enable a virtual machine, including applications executing thereon, to quickly start executing and servicing users based on pre-staged data blocks supplied from a backup copy in secondary storage. Substantially concurrently with the ongoing execution of the virtual machine, a virtual-machine-file-relocation operation moves data blocks from backup to a primary storage destination that becomes the virtual machine'"'"'s primary data store after relocation completes. An enhanced data agent, operating in conjunction with an enhanced media agent in a storage management system, coordinates restoring the virtual machine and launching the relocation operation. The enhanced media agent pre-stages certain backed up data blocks based on predictive analysis pertaining to the virtual machine'"'"'s operational profile. The enhanced media agent also pre-stages backed up data blocks for the relocation operation, based on the operation'"'"'s relocation scheme. The media agent tracks read requests and maintains the contents of an associated read cache.
397 Citations
19 Claims
-
1. A method for coordinating, in a storage management system, between a restoration of a virtual machine and a virtual-machine-file-relocation operation, the method comprising:
-
copying, by a media agent, a first set of data blocks from a backup copy of data associated with the virtual machine to a read-cache associated with the media agent, wherein the backup copy is stored on a secondary storage device and comprises one or more configuration files and one or more virtual disks, and wherein the first set of data blocks is based on a profile of the virtual machine; launching execution of the virtual machine on the host computing device, based at least in part on the first set of data blocks; copying, by the media agent, a second set of data blocks from the backup copy to the read-cache, wherein the virtual-machine-file-relocation operation comprises a logical transfer, according to a relocation sequence, of the backup copy of data associated with the virtual machine to a destination on a primary storage device that is in communication with the host computing device, and wherein the second set of data blocks is based on the relocation sequence; while the virtual machine executes on the host computing device prior to the virtual-machine-file-relocation operation, serving, by the media agent, a read request for a data block, wherein serving the read request comprises; (i) if the requested data block is not found in the read-cache, copying, by the media agent, the requested data block from the backup copy to the read-cache, and (ii) transmitting, by the media agent, the requested data block from the read-cache, wherein the read request is served at a higher priority than copying the second set of data from the backup copy to the read-cache; and while the virtual machine and the virtual-machine-file-relocation operation execute concurrently on the host computing device; (A) serving, by the media agent, a read request for a data block, wherein serving the read request comprises;
(i) if the requested data block is not found in the read-cache, copying, by the media agent, the requested data block from the backup copy to the read-cache, and (ii) transmitting, by the media agent, the requested data block from the read-cache, and(B) copying, by the media agent, a third set of data blocks from the backup copy to the read-cache, wherein the third set of data blocks is based on the relocation sequence of the virtual-machine-file-relocation operation, and wherein the read request is served at the same priority as copying of the third set of data blocks. - View Dependent Claims (2)
-
-
3. A system for restoring a virtual machine to be executed on a host computing device, based on coordination with a virtual-machine-file-relocation operation, the system comprising:
-
a host computing device, which comprises at least one central processing unit and corresponding computer memory, and which is configured to execute the virtual machine and which is further configured to execute the virtual-machine-file-relocation operation concurrently with the virtual machine, wherein the virtual-machine-file-relocation operation comprises a logical transfer, based on a relocation sequence, of a backup copy of data associated with the virtual machine to a destination on a primary storage device in communication with the host computing device, and wherein the backup copy comprises at least one of a configuration file and a virtual disk associated with the virtual machine; a secondary storage computing device, which comprises at least one central processing unit and corresponding computer memory, and which is in communication with the host computing device, wherein the secondary storage computing device comprises a media agent, a read-cache, and a shared file system mounted to the host computing device, wherein the shared file system is configured as a recovery point for the virtual machine and as a source of data for the virtual-machine-file-relocation operation; a virtualization-client computing device, which comprises at least one central processing unit and corresponding computer memory, and which is in communication with the secondary storage computing device, wherein the virtualization-client computing device comprises a data agent; a secondary storage device in communication with the secondary storage computing device, wherein the secondary storage device comprises the backup copy of data associated with the virtual machine; wherein the media agent is configured to; copy a first set of data blocks from the backup copy to the read-cache, wherein the first set of data blocks is based on a profile of the virtual machine, copy a second set of data blocks from the backup copy to the read-cache, wherein the second set of data blocks is based on the relocation sequence of the virtual-machine-file-relocation operation, and serve a read request for a data block by;
(i) copying the requested data block from the backup copy to the read-cache if the requested data block is not found in the read-cache, and (ii) transmitting the requested data block from the read-cache in response to the read request. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
coordinating, in a storage management system, between a restoration of a virtual machine and a virtual-machine-file-relocation operation, wherein the coordinating comprises; copying, by a media agent component of the storage management system, a first set of data blocks from a backup copy of data associated with the virtual machine to a read-cache associated with the media agent, wherein the backup copy is stored on a secondary storage device and comprises at least one of a configuration file and a virtual disk, and wherein the first set of data blocks is based on a profile of the virtual machine relative to launching execution of the virtual machine on a host computing device; copying, by the media agent, a second set of data blocks from the backup copy to the read-cache, wherein the virtual-machine-file-relocation operation comprises a logical transfer, according to a relocation sequence, of the backup copy of data associated with the virtual machine to a destination on a primary storage device, and wherein the second set of data blocks is based on the relocation sequence; serving, by the media agent, a read request for a data block, wherein serving the read request comprises; (i) if the requested data block is not found in the read-cache, copying, by the media agent, the requested data block from the backup copy to the read-cache, and (ii) transmitting, by the media agent, the requested data block from the read-cache; and wherein, while the virtual machine executes on the host computing device prior to the virtual-machine-file-relocation operation, the media agent copies the second set of data blocks from the backup copy to the read-cache at a lower priority than serving the read request; and while the virtual machine and the virtual-machine-file-relocation operation execute concurrently on the host computing device, copying, by the media agent, at the same priority as serving the read request, a third set of data blocks from the backup copy to the read-cache, wherein the third set of data blocks is based on the relocation sequence of the virtual-machine-file-relocation operation. - View Dependent Claims (17, 18, 19)
Specification