Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
First Claim
1. A system for restoring a virtual machine to execute on a host computing device, based on coordination with a virtual-machine-file-relocation operation, the system comprising:
- the host computing device configured to execute the virtual machine and 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 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 copy of data associated with the virtual machine comprises at least one of a configuration file and a virtual disk;
a secondary storage computing device 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, and 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 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 copy of data associated with the virtual machine;
wherein the data agent is configured to;
instruct the media agent to determine, based on a profile of the virtual machine, a first set of data blocks in the copy of data associated with the virtual machine,instruct the media agent to copy the first set of data blocks from the copy of data to the read-cache,instruct the media agent to copy a second set of data blocks from the copy of data to the read-cache, wherein the second set of data blocks is based on the relocation sequence of the virtual-machine-file-relocation operation, andinstruct the media agent to serve a read request for a data block by;
(i) copying the requested data block from the copy of data 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; and
wherein the computing devices are each implemented at least partially by hardware.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosed systems and methods enable a virtual machine, including any 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 may move data blocks originating in the backup copy to a primary storage destination that becomes the virtual machine'"'"'s primary data store after the relocation operation completes. An enhanced data agent, operating in conjunction with an enhanced media agent in a storage management system, coordinates restoring of the virtual machine and the launch of the relocation operation. The enhanced media agent may pre-stage certain backed up data blocks which may be needed to launch the virtual machine, based on predictive analysis pertaining to the virtual machine'"'"'s operational profile. The enhanced media agent may also pre-stage backed up data blocks for the relocation operation, based on the operation'"'"'s relocation scheme. Servicing read requests to the virtual machine may take priority over ongoing pre-staging of backed up data. Read requests may be tracked so that the media agent may properly maintain the contents of an associated read cache. Some embodiments of the illustrative storage management system may lack, or may simply not require, the relocation operation, and may operate in a “live mount” configuration.
-
Citations
18 Claims
-
1. A system for restoring a virtual machine to execute on a host computing device, based on coordination with a virtual-machine-file-relocation operation, the system comprising:
-
the host computing device configured to execute the virtual machine and 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 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 copy of data associated with the virtual machine comprises at least one of a configuration file and a virtual disk; a secondary storage computing device 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, and 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 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 copy of data associated with the virtual machine; wherein the data agent is configured to; instruct the media agent to determine, based on a profile of the virtual machine, a first set of data blocks in the copy of data associated with the virtual machine, instruct the media agent to copy the first set of data blocks from the copy of data to the read-cache, instruct the media agent to copy a second set of data blocks from the copy of data 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 instruct the media agent to serve a read request for a data block by;
(i) copying the requested data block from the copy of data 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; andwherein the computing devices are each implemented at least partially by hardware. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for restoring execution of a virtual machine on a host computing device in a storage management system, based on coordination with a virtual-machine-file-relocation operation, the method comprising:
-
prior to execution of the virtual machine, receiving, by a media agent component of the storage management system from a data agent component of the storage management system, a profile of the virtual machine; determining, by the media agent, based on the profile of the virtual machine, a first set of data blocks to be copied from a backup copy of data associated with the virtual machine, wherein the backup copy is stored on a secondary storage device in communication with the media agent, and wherein the backup copy comprises at least one of a configuration file and a virtual disk associated with the virtual machine; copying the first set of data blocks, by the media agent, from the backup copy to a read-cache associated with the media agent on a secondary storage computing device; launching execution of the virtual machine on the host computing device, based on the first set of data blocks, which set of blocks is served by the media agent from the read-cache; copying a second set of data blocks, by the media agent, from the backup copy to the read-cache, wherein the second set of data blocks is based on a relocation sequence of the virtual-machine-file-relocation operation, and wherein the virtual-machine-file-relocation operation comprises a logical transfer, according to the relocation sequence, of the backup copy to a destination on a primary storage device in communication with the host computing device; serving a read request for a data block, by the media agent, wherein the 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 serves the read request at a higher priority than the copying the second set of data blocks from the backup copy to the read-cache, as instructed by the data agent. - View Dependent Claims (14, 15, 16)
-
-
17. 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:
-
instructing a media agent, by a data agent, to copy a first set of data blocks from a copy of data associated with the virtual machine to a read-cache associated with the media agent, wherein the copy of data comprises one or more configuration files and one or more virtual disks and is stored on a secondary storage device, and wherein the first set of data blocks is based on a profile of the virtual machine that pertains to launching execution of the virtual machine on a host computing device; launching execution of the virtual machine on the host computing device, based at least in part on the first set of data blocks; instructing the media agent, by the data agent, to copy a second set of data blocks from the copy of data to the read-cache, wherein the virtual-machine-file-relocation operation comprises a logical transfer, according to a relocation sequence, of the 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, instructing the media agent, by the data agent, to serve a read request for a data block that originates from the host computing device, 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 copy of data to the read-cache, and (ii) transmitting, by the media agent, the requested data block from the read-cache, wherein the read request is to be served at a higher priority than the copying the second set of data from the copy of data to the read-cache; and while the virtual machine and the virtual-machine-file-relocation operation execute concurrently on the host computing device, instructing the media agent, by the data agent, to; (A) serve the read request for the data block that originates from the host computing device, 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 copy of data to the read-cache, and (ii) transmitting, by the media agent, the requested data block from the read-cache, and(B) copy a third set of data blocks from the copy of data 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 copying of the third set of data blocks is to be at the same priority as the serving the read request. - View Dependent Claims (18)
-
Specification