US 11,941,280 B2
On-demand restore of a snapshot to an on-demand volume accessible to clients
Jagavar Nehra, Karnataka (IN); Roopesh Chuggani, Rajasthan (IN); Abhisar, Uttar Pradesh (IN); and Sumith Makam, Bangalore (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Jan. 28, 2022, as Appl. No. 17/587,727.
Claims priority of application No. 202141034103 (IN), filed on Jul. 29, 2021; and application No. 202141034122 (IN), filed on Jul. 29, 2021.
Prior Publication US 2023/0029795 A1, Feb. 2, 2023
Int. Cl. G06F 11/14 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/065 (2013.01) [G06F 3/0619 (2013.01); G06F 3/067 (2013.01); G06F 11/1469 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
in response to receiving a restore request to restore backup data of a snapshot stored within slots of one or more objects in a remote object store, creating an on-demand volume within local storage of a device;
copying metadata from the snapshot in the remote object store to the local storage, wherein the metadata comprises cloud block numbers identifying blocks comprising the backup data, wherein a cloud block number of a block comprises a sequence number of an object and a slot number of a slot within the object in which backup data of the block is stored;
in response to the metadata being copied, providing a client with access to the on-demand volume during a restore process that copies the backup data from the snapshot within the remote object store to the on-demand volume, comprising:
in response to receiving a request from the client through the on-demand volume for the block, on-demand retrieving from the snapshot and caching the block for client access based upon the metadata mapping the cloud block number of the block to an absent indicator indicating that the block has not yet been restored; and
implementing the restore process to copy the backup data from the snapshot within the remote object store to the on-demand volume using the cloud block numbers to identify and retrieve the backup data from the one or more objects within the remote object store.