System and method for restoring data on demand for instant volume restoration
Abstract
A technique is disclosed for restoring data of sparse volumes, where one or more block pointers within the file system structure are marked as ABSENT, and fetching the appropriate data from an alternate location on demand. Client data access requests to the local storage system initiate a restoration of the data from a backing store as required. A demand generator can also be used to restore the data as a background process by walking through the sparse volume and restoring the data of absent blocks. A pump module is also disclosed to regulate the access of the demand generator. Once all the data has been restored, the volume contains all data locally, and is no longer a sparse volume.
Claims
exact text as granted — not AI-modified1 . A computer method, comprising:
executing a storage operating system on a storage system serving a volume; replacing the volume with a sparse volume served by the storage system, the sparse volume comprising a tree structure with at least one pointer referencing data that is not stored locally in the tree structure; storing, within the sparse volume, volume infrastructure metadata of the volume served by the storage system; and receiving a request for the data referenced by the at least one pointer and copying the data referenced by the at least one pointer to the sparse volume in response to receiving the request.
2 . The method of claim 1 wherein the request is a client request.
3 . The method of claim 1 wherein copying comprises copying the data from a second storage system.
4 . The method of claim 1 wherein the request is generated by a demand generator, the demand generator scanning the sparse volume to locate the at least one pointer referencing the data that is not stored locally in the tree structure of the volume.
5 . The method of claim 4 further comprising providing flow control for the demand generator.
6 . The method of claim 4 further comprising granting precedence to a client issued request over a demand generator generated request.
7 . The method of claim 1 wherein copying comprises a remote fetch operation.
8 . The method of claim 1 further comprising:
instantiating the sparse volume; and
processing data access operations directed to the sparse volume at any time after instantiation.
9 . The method of claim 1 further comprising marking the at least one pointer with an ABSENT value to indicate that the data that is not stored locally in the tree structure.
10 . The method of claim 1 wherein the tree structure is a buffer tree.
11 . The method of claim 1 further comprising copying the volume infrastructure metadata from a second storage system.
12 . The method of claim 1 wherein the volume infrastructure metadata comprises at least one of a current file system version, a total size of the volume, and content of a root file system directory.
13 . The method of claim 1 wherein the volume is a virtual volume.
14 . A computer data storage system, comprising:
a processor configured to execute a storage operating system of a storage system serving a volume; the storage system configured to create a sparse volume to replace the volume, the sparse volume comprising a tree structure with at least one pointer configured to reference data that is not stored locally in the tree structure; the sparse volume configured to store volume infrastructure metadata of the volume served by the storage system; and the storage system further configured to receive a request for the data referenced by the at least one pointer and further configured to copy the data referenced by the at least one pointer to the sparse volume in response to receiving the request.
15 . The computer data storage system of claim 14 wherein the request is a client request.
16 . The computer data storage system of claim 14 wherein the data is copied from a second storage system.
17 . The computer data storage system of claim 14 further comprising a demand generator configured to generate the request.
18 . The computer data storage system of claim 17 further comprising a pump module configured to provide flow control for the demand generator.
19 . The computer data storage system of claim 18 wherein the pump module is further configured to grant precedence to a client issued request over a demand generator generated request.
20 . The computer data storage system of claim 14 wherein the storage system is further configured to copy the data using a remote fetch operation.
21 . The computer data storage system of claim 14 wherein the storage system is further configured to instantiate the sparse volume and further configured to process data access operations directed to the sparse volume at any time after instantiation of the sparse volume.
22 . The computer data storage system of claim 14 wherein the storage system is further configured to mark the at least one pointer with an ABSENT value to indicate that the data that is not stored locally in the tree structure.
23 . The computer data storage system of claim 14 wherein the tree structure is a buffer tree.
24 . The computer data storage system of claim 14 further comprising a second storage system configured to store the volume infrastructure metadata.
25 . The computer data storage system of claim 14 wherein the volume infrastructure metadata comprises at least one of a current file system version, a total size of the volume, and content of a root file system directory.
26 . The computer data storage system of claim 14 wherein the volume is a virtual volume.
27 . A computer readable storage medium configured to store executable program instructions to be executed by a processor, the computer readable storage medium comprising:
program instructions that execute a storage operating system on a storage system serving a volume; program instructions that replace the volume with a sparse volume served by the storage system, the sparse volume comprising a tree structure with at least one pointer referencing data that is not stored locally in the tree structure; program instructions that store, within the sparse volume, volume infrastructure metadata of the volume served by the storage system; and program instructions that receive a request for the data referenced by the at least one pointer and program instructions that copy the data referenced by the at least one pointer to the sparse volume in response to receiving the request.
28 . The computer readable storage medium of claim 27 further comprising program instructions that generate, by a demand generator, the request.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.