US2019369901A1PendingUtilityA1

Restoring execution and live-mount of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations

Assignee: COMMVAULT SYSTEMS INCPriority: Sep 22, 2014Filed: Aug 20, 2019Published: Dec 5, 2019
Est. expirySep 22, 2034(~8.2 yrs left)· nominal 20-yr term from priority
G06F 9/45533G06F 2009/4557G06F 9/45537G06F 3/0649G06F 3/0617G06F 2009/45562G06F 3/0664G06F 11/1451G06F 11/1458G06F 11/1446G06F 2201/815G06F 11/1469G06F 11/1448G06F 9/45558G06F 11/2094G06F 3/0605G06F 3/067G06F 2201/805G06F 3/0647G06F 11/1464
64
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A non-transitory computer-readable medium storing instructions that, when executed by a computing device comprising one or more hardware processors, cause the computing device to perform a method to restore a virtual machine to a host computing device based on coordination with a virtual-machine-file-relocation operation, the method comprising:
 copying first data blocks, which are selected based on a profile of the virtual machine, from a backup copy of the virtual machine to first data storage configured on the computing device,
 wherein the computing device is distinct from the host computing device, and 
 wherein the backup copy of the virtual machine comprises at least one of: a configuration file of the virtual machine and a virtual disk comprising virtual machine data; 
   copying second data blocks from the backup copy to the first data storage configured on the computing device,
 wherein the virtual-machine-file-relocation operation uses a relocation sequence to transfer data from the backup copy to primary storage in communication with the host computing device, and 
 wherein the second data blocks are selected based on the relocation sequence; and 
   in response to a read request for a third data block issued by the virtual machine which executes on the host computing device, serving the read request by:
   (i) based on determining that the third data block is not found in the first data storage configured on the computing device, copying the requested third data block thereto from the backup copy, and   (ii) based on determining that the third data block is in the first data storage configured on the computing device, transmitting the third data block therefrom to the virtual machine.   
   
     
     
         2 . The non-transitory computer-readable medium of  claim 1 , wherein the virtual machine is restored to the host computing device based at least in part on the first data blocks and the third data block while the virtual-machine-file-relocation operation is underway. 
     
     
         3 . The non-transitory computer-readable medium of  claim 1 , wherein the read request is directed to a shared file system configured on the computing device as a recovery point for the virtual machine and as a source of data for the virtual-machine-file-relocation operation. 
     
     
         4 . The non-transitory computer-readable medium of  claim 1 , wherein while the virtual machine executes on the host computing device prior to the virtual-machine-file-relocation operation, the copying of the second data blocks from the backup copy to the first data storage configured on the computing device occurs at a lower priority than the serving of the read request. 
     
     
         5 . The non-transitory computer-readable medium of  claim 1 , wherein the method further comprises:
 while the virtual machine and the virtual-machine-file-relocation operation execute on the host computing device, copying fourth data blocks from the backup copy to the first data storage configured on the computing device at a same priority as the serving of the read request,   wherein the fourth data blocks are based on the relocation sequence of the virtual-machine-file-relocation operation.   
     
     
         6 . The non-transitory computer-readable medium of  claim 1 , wherein the method further comprises:
 after the virtual-machine-file-relocation operation completes and while the virtual machine executes on the host computing device, using the primary storage by the virtual machine as a primary data store.   
     
     
         7 . The non-transitory computer-readable medium of  claim 1 , wherein the method further comprises:
 until the virtual-machine-file-relocation operation completes, writing data blocks generated by the virtual machine to second data storage associated with the host computing device; and   after the virtual-machine-file-relocation operation completes, one or more of: (a) storing the data blocks generated by the virtual machine to the primary storage, (b) instructing the virtual machine to use the primary storage as its primary data store, and (c) de-associating a storage device comprising the backup copy from the virtual machine executing on the host computing device.   
     
     
         8 . A computer-implemented method for enabling a virtual machine to launch on a second computing device based on backed up data served by a first computing device, the method comprising:
 by a media agent that executes on the first computing device, copying, from a backup copy of data associated with the virtual machine to the first computing device, first data blocks that are based on a profile of the virtual machine,
 wherein the backup copy comprises at least one of: a configuration file of the virtual machine and a virtual disk comprising virtual machine data; 
   at the second computing device, using the first data blocks served by the media agent to the second computing device to launch the virtual machine;   at the second computing device, providing a view of data in the backup copy without restoring the backup copy in its entirety to the virtual machine, comprising:
 by the media agent, receiving an indication of a file selected from the view by a user of the second computing device, wherein the file was backed up within the backup copy associated with the virtual machine, and 
 by the media agent, using indexing generated when the backup copy was created, to identify second data blocks in the backup copy that were backed up from the file; 
   by the virtual machine executing on the second computing device, issuing a read request for third data blocks, wherein the second data blocks that were backed up from the file comprise the third data blocks in the read request; and   by the media agent, serving the read request to the virtual machine, by:
 (i) based on determining that the third data blocks are not found on the first computing device, copying the third data blocks from the backup copy to the first computing device, and 
 (ii) transmitting the third data blocks from the first computing device to the virtual machine in response to the read request. 
   
     
     
         9 . The method of  claim 8 , wherein the read request is served to the virtual machine without restoring the file in its entirety to the virtual machine. 
     
     
         10 . The method of  claim 8 , wherein based on the read request served to the virtual machine, the user of the second computing device receives a view of the file without restoring the file in its entirety to the virtual machine. 
     
     
         11 . The method of  claim 8 , wherein based on the read request served to the virtual machine, the user of the second computing device receives a view of the file without restoring the backup copy in its entirety to the virtual machine. 
     
     
         12 . The method of  claim 8 , wherein the media agent uses the indexing generated when the backup copy was created to determine that the third data blocks are among the second data blocks in the backup copy. 
     
     
         13 . The method of  claim 8  further comprising:
 by the media agent, determining the first data blocks to copy from the backup copy to the first computing device, based on the profile of the virtual machine. 
 
     
     
         14 . The method of  claim 8  further comprising:
 by the media agent, determining the first data blocks to copy from the backup copy to the first computing device, wherein the determining is based on the profile of the virtual machine and uses the indexing generated when the backup copy was created. 
 
     
     
         15 . The method of  claim 8 , wherein the profile of the virtual machine is received by the media agent from a data agent that executes on a third computing device. 
     
     
         16 . The method of  claim 8  further comprising:
 by a data agent that executes on a third computing device, transmitting the profile of the virtual machine to the media agent; and 
 by the data agent, instructing the media agent to use the profile of the virtual machine to determine the first data blocks to copy from the backup copy to the first computing device. 
 
     
     
         17 . The method of  claim 8 , wherein the view of data in the backup copy comprises configuration information about the virtual machine that was backed up to the backup copy. 
     
     
         18 . A system for restoring a virtual machine to a host computing device, based on coordination with a virtual-machine-file-relocation operation, the system comprising:
 the host computing device configured to concurrently execute the virtual machine and the virtual-machine-file-relocation operation,
 wherein the virtual-machine-file-relocation operation uses a relocation sequence to transfer, to a first data storage device, a copy of data associated with the virtual machine, wherein the copy of data comprises at least one of: a configuration file of the virtual machine and a virtual disk comprising virtual machine data; 
   a second computing device that comprises a media agent and a shared file system mounted to the host computing device;   a third computing device that comprises a data agent, which is configured to:
 (a) instruct the media agent to copy from the copy of data associated with the virtual machine to the second computing device: (i) first data blocks based on a profile of the virtual machine, and (ii) second data blocks based on the relocation sequence of the virtual-machine-file-relocation operation, 
 (b) instruct the media agent to respond to a read request for a third data block issued by the virtual machine by:
 (i) if the third data block is not found on the second computing device, copying the third data block from the copy of data to the second computing device, and 
 (ii) transmitting the third data block from the second computing device to the virtual machine in response to the read request, and 
 
 (c) after the virtual-machine-file-relocation operation has completed, instruct the virtual machine to use the first data storage device as a primary data store; and 
   wherein each of the first, the second, and the third computing device comprises respective one or more hardware processors and computer-readable memory.   
     
     
         19 . The system of  claim 18 , wherein the second computing device further comprises a read cache that stores data blocks that were (A) copied thereto from the copy of data associated with the virtual machine, and (B) transmitted to the virtual machine in response to the read request. 
     
     
         20 . The system of  claim 18 , wherein the data agent is further configured to:
 if a plurality of read requests issued by the virtual machine comprises a sequence of data blocks according to the relocation sequence of the virtual-machine-file-relocation operation, instruct the media agent to purge the sequence of data blocks from the second computing device after the plurality of read requests has been responded to.

Join the waitlist — get patent alerts

Track US2019369901A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.