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 |
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.
|