Cloud-based instant volume restore with data source switchover feature
First Claim
1. A non-transitory, computer-accessible storage medium storing program instructions executable by one or more processors to:
- select a first copy of a backup image stored on a remote server as a data source for a volume on a host computer system;
after selecting the first copy of the backup image as the data source for the volume, receive a first read request requesting a first set of data blocks from the volume;
in response to determining that the first set of data blocks is not stored in the volume, retrieve the first set of data blocks from the first copy of the backup image at the remote server, and store the first set of data blocks in the volume;
while the first copy of the backup image is selected as the data source for the volume, initiate a restore operation to retrieve data blocks that have not yet been requested by a read request from the first copy of the backup image at the remote server and store them in the volume;
halt the restore operation;
after retrieving the first set of data blocks, change the data source for the volume from the first copy of the backup image at the remote server to a second copy of the backup image stored on a local storage device coupled to the host computer system;
after the data source for the volume has been changed to the second copy of the backup image, resume the restore operation to continue retrieving data blocks that have not yet been requested by a read request from the second copy of the backup image on the local storage device and store them in the volume;
after the data source for the volume has been changed to the second copy of the backup image, receive a second read request requesting a second set of data blocks from the volume; and
in response to determining that the second set of data blocks is not stored in the volume, retrieve the second set of data blocks from the second copy of the backup image on the local storage device, and store the second set of data blocks in the volume.
7 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of a system and method for restoring a data volume to a client computer system from a backup image are disclosed. A backup image at a remote backup server computer system may first be selected as a data source for the volume. The volume may be “instantly restored” on the client computer system without first requiring all of the data in the remote backup image to be transmitted from the backup server computer system. Instead, a lazy restore technique may be used where volume data is retrieved from the backup image on the backup server computer system as needed. Further embodiments of the system and method may enable the data source for the volume to be switched from the remote backup server computer system to a local data source at a later time.
-
Citations
14 Claims
-
1. A non-transitory, computer-accessible storage medium storing program instructions executable by one or more processors to:
-
select a first copy of a backup image stored on a remote server as a data source for a volume on a host computer system; after selecting the first copy of the backup image as the data source for the volume, receive a first read request requesting a first set of data blocks from the volume; in response to determining that the first set of data blocks is not stored in the volume, retrieve the first set of data blocks from the first copy of the backup image at the remote server, and store the first set of data blocks in the volume; while the first copy of the backup image is selected as the data source for the volume, initiate a restore operation to retrieve data blocks that have not yet been requested by a read request from the first copy of the backup image at the remote server and store them in the volume; halt the restore operation; after retrieving the first set of data blocks, change the data source for the volume from the first copy of the backup image at the remote server to a second copy of the backup image stored on a local storage device coupled to the host computer system; after the data source for the volume has been changed to the second copy of the backup image, resume the restore operation to continue retrieving data blocks that have not yet been requested by a read request from the second copy of the backup image on the local storage device and store them in the volume; after the data source for the volume has been changed to the second copy of the backup image, receive a second read request requesting a second set of data blocks from the volume; and in response to determining that the second set of data blocks is not stored in the volume, retrieve the second set of data blocks from the second copy of the backup image on the local storage device, and store the second set of data blocks in the volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A host computer system comprising:
-
one or more processors; and memory storing program instructions, wherein the program instructions are executable by the one or more processors to; select a first copy of a backup image stored on a remote server as a data source for a volume on the host computer system; after selecting the first copy of the backup image as the data source for the volume, receive a first read request requesting a first set of data blocks from the volume; in response to determining that the first set of data blocks is not stored in the volume, retrieve the first set of data blocks from the first copy of the backup image at the remote server, and store the first set of data blocks in the volume; while the first copy of the backup image is selected as the data source for the volume, initiate a restore operation to retrieve data blocks that have not yet been requested by a read request from the first copy of the backup image at the remote server and store them in the volume; halt the restore operation; after retrieving the first set of data blocks, change the data source for the volume from the first copy of the backup image at the remote server to a second copy of the backup image stored on a local storage device coupled to the host computer system; after the data source for the volume has been changed to the second copy of the backup image, resume the restore operation to continue retrieving data blocks that have not yet been requested by a read request from the second copy of the backup image on the local storage device and store them in the volume; after the data source for the volume has been changed to the second copy of the backup image, receive a second read request requesting a second set of data blocks from the volume; and in response to determining that the second set of data blocks is not stored in the volume, retrieve the second set of data blocks from the second copy of the backup image on the local storage device, and store the second set of data blocks in the volume.
-
-
14. A method comprising:
-
executing software on a computer system, wherein executing the software includes the software performing the following; selecting a first copy of a backup image stored on a remote server as a data source for a volume on a host computer system; after selecting the first copy of the backup image as the data source for the volume, receiving a first read request requesting a first set of data blocks from the volume; in response to determining that the first set of data blocks is not stored in the volume, retrieving the first set of data blocks from the first copy of the backup image at the remote server, and storing the first set of data blocks in the volume; while the first copy of the backup image is selected as the data source for the volume, initiating a restore operation to retrieve data blocks that have not yet been requested by a read request from the first copy of the backup image at the remote server and store them in the volume; halting the restore operation; after retrieving the first set of data blocks, changing the data source for the volume from the first copy of the backup image at the remote server to a second copy of the backup image stored on a local storage device coupled to the host computer system; after the data source for the volume has been changed to the second copy of the backup image, resuming the restore operation to continue retrieving data blocks that have not yet been requested by a read request from the second copy of the backup image on the local storage device and store them in the volume; after the data source for the volume has been changed to the second copy of the backup image, receiving a second read request requesting a second set of data blocks from the volume; and in response to determining that the second set of data blocks is not stored in the volume, retrieving the second set of data blocks from the second copy of the backup image on the local storage device, and storing the second set of data blocks in the volume.
-
Specification