US 11,947,990 B2
Cross-hypervisor live-mount of backed up virtual machine data
Henry Wallace Dornemann, Eatontown, NJ (US); Amit Mitkar, Manalapan, NJ (US); Sanjay Kumar, Morganville, NJ (US); Satish Chandra Kilaru, Manalapan, NJ (US); and Sumedh Pramod Degaonkar, Sammamish, WA (US)
Assigned to Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed by Commvault Systems, Inc., Tinton Falls, NJ (US)
Filed on Mar. 31, 2022, as Appl. No. 17/710,668.
Application 17/710,668 is a continuation of application No. 16/937,404, filed on Jul. 23, 2020, granted, now 11,467,863.
Application 16/937,404 is a continuation of application No. 16/262,721, filed on Jan. 30, 2019, granted, now 10,768,971, issued on Sep. 8, 2020.
Prior Publication US 2022/0222104 A1, Jul. 14, 2022
Int. Cl. G06F 9/455 (2018.01); G06F 11/14 (2006.01); G06F 16/182 (2019.01)
CPC G06F 9/45558 (2013.01) [G06F 11/1464 (2013.01); G06F 16/1824 (2019.01); G06F 2009/45562 (2013.01); G06F 2009/45575 (2013.01); G06F 2009/45583 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a backup proxy machine, which comprises one or more hardware processors and a data storage, and wherein the backup proxy machine is communicatively coupled to a virtual machine host that comprises a first hypervisor, which hosts a first virtual machine, and wherein the backup proxy machine is in communication with a secondary storage that comprises a block-level backup copy of a second virtual machine on a second hypervisor, wherein metadata from the second hypervisor was not included in the block-level backup copy of the second virtual machine;
wherein the backup proxy machine is configured to:
before the first virtual machine is powered up, perform one of: export the data storage of the backup proxy machine as a Network File System (NFS) mount point to the first hypervisor, and expose the data storage of the backup proxy machine as an Internet Small Computer Systems Interface (iSCSI) target to the first hypervisor;
instruct the first hypervisor to use the data storage at the backup proxy machine as a virtual disk for the first virtual machine;
create an association between the virtual disk and the block-level backup copy;
cause the first virtual machine to be powered up, wherein the first virtual machine is communicatively coupled to the data storage at the backup proxy machine as the virtual disk for the first virtual machine;
intercept a first read request issued by the first virtual machine and addressed to the virtual disk;
based on determining that a first data block requested in the first read request is not in the data storage, retrieve the first data block from the block-level backup copy, and store the first data block into the data storage, and serve the first data block from the data storage to the first virtual machine in response to the first read request;
based on determining that a second data block requested in a second read request issued by the first virtual machine is present in the data storage, serve the second data block from the data storage to the first virtual machine in response to the second read request; and
reclaim storage space in the data storage of the backup proxy machine by discarding the first data block therefrom based on determining that the first data block was previously retrieved from the block-level backup copy.