System and method for restoring data to a storage device based on a backup image
First Claim
Patent Images
1. A method for restoring data to a storage controller, the method comprising:
- receiving a backup image including file system metadata and a plurality of data blocks, wherein the file system metadata includes information defining a plurality of directories and information defining a plurality of data containers, the information defining a plurality of data containers including a listing of data blocks associated with individual data containers of the plurality of data containers;
copying the plurality of data blocks to the storage controller;
generating a data warehouse structure based on the file system metadata, wherein the data warehouse structure stores references to individual data blocks of the plurality of data blocks and wherein the references are indexed by an identifier determined based on the file system metadata;
generating a directory structure in a file system associated with the storage controller based on the file system metadata;
generating a plurality of empty data containers in the generated directory structure based on the file system metadata, wherein generating an empty data container includes generating a data structure and populating the data structure with metadata based on the file system metadata; and
populating data container contents of individual data containers of the plurality of empty data containers by associating individual data blocks of the plurality of data blocks with the individual data containers based on the data warehouse structure, wherein populating data container contents of an individual data container includes determining a volume block identifier associated with a data block in the individual data container from the file system metadata and copying a reference associated with the volume block identifier in the data warehouse structure into the data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for restoring data to a storage server generates a lookup data structure based on a backup image, where the lookup data structure defines a correspondence between individual block identifiers and individual data blocks of a plurality of data blocks in the backup image. The system then generates a directory structure on the storage server based on the backup image. After generating the directory structure, the system generates an empty restored file in the directory structure based on the backup image. The system then populates file contents of the restored file based on the lookup data structure.
107 Citations
26 Claims
-
1. A method for restoring data to a storage controller, the method comprising:
-
receiving a backup image including file system metadata and a plurality of data blocks, wherein the file system metadata includes information defining a plurality of directories and information defining a plurality of data containers, the information defining a plurality of data containers including a listing of data blocks associated with individual data containers of the plurality of data containers; copying the plurality of data blocks to the storage controller; generating a data warehouse structure based on the file system metadata, wherein the data warehouse structure stores references to individual data blocks of the plurality of data blocks and wherein the references are indexed by an identifier determined based on the file system metadata; generating a directory structure in a file system associated with the storage controller based on the file system metadata; generating a plurality of empty data containers in the generated directory structure based on the file system metadata, wherein generating an empty data container includes generating a data structure and populating the data structure with metadata based on the file system metadata; and populating data container contents of individual data containers of the plurality of empty data containers by associating individual data blocks of the plurality of data blocks with the individual data containers based on the data warehouse structure, wherein populating data container contents of an individual data container includes determining a volume block identifier associated with a data block in the individual data container from the file system metadata and copying a reference associated with the volume block identifier in the data warehouse structure into the data structure. - View Dependent Claims (2, 3, 4)
-
-
5. A storage server comprising:
-
a network interface through which to communicate with a backup client over a network; a storage interface through which to access a backup storage facility; a storage device; a memory; and a processor coupled to the network interface, the storage interface, and the memory, wherein the memory stores code, execution of which by the processor causes the storage server to perform a process which includes; receiving a backup image through the storage interface, the backup image having a metadata portion and a data warehouse portion, wherein the metadata section includes information defining a plurality of directories and information defining a plurality of data containers, the information defining a plurality of data containers including a listing of data blocks associated with individual data containers of the plurality of data containers; restoring a plurality of data blocks from the data warehouse portion of the backup image to the storage device; generating a lookup structure based on the backup image, wherein the lookup structure maps identifiers to individual data blocks of the plurality of data blocks; generating a directory structure in a file system associated with the storage server based on the metadata portion of the backup image; generating a data container associated with a file system object defined by the metadata portion, wherein generating a data container includes generating a data structure and populating the data structure with metadata associated with the file system object; and inserting a data block into the data container by associating the data block with the data container based on the lookup structure, wherein inserting a data block into the data container includes determining a volume block identifier associated with the data block from the metadata portion of the backup image and copying a reference associated with the volume block identifier in the lookup structure into the data structure. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. A system for restoring backup data to a storage device, the system comprising:
-
a storage interface configured to communicate with a storage facility to receive a backup image, wherein the backup image includes a metadata section and a storage data section having a plurality of storage units and wherein the metadata section includes information defining a plurality of directories and information defining a plurality of data containers, the information defining a plurality of data containers including a listing of data blocks associated with individual data containers of the plurality of data containers; a storage subsystem; a memory; a processor; a block management component configured to copy individual storage units of the plurality of storage units from the storage data section of the backup image to the storage subsystem; a data warehouse generator component configured to generate a data warehouse lookup structure based on the backup image, wherein the data warehouse lookup structure provides an index mapping a storage unit identifier to an individual storage unit of the plurality of storage units; a directory processor component configured to generate a restored directory and a restored data container in a file system associated with the storage subsystem based on the backup image, wherein the restored data container is a file system object containing only metadata information and wherein the restored data container is created in the restored directory; and a data container populate component configured to associate a storage unit from the backup image with the restored data container by associating individual storage units of the plurality of storage units with the restored data container based on the data warehouse lookup structure, wherein associating individual storage units of the plurality of storage units with the restored data container includes determining a volume block identifier associated with a data block in the restored data container from the metadata section of the backup image and copying a reference associated with the volume block identifier in the data warehouse lookup structure into the restored data container. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for restoring backup data to a storage device, the system comprising:
-
a memory; a processor; storage interface means for communicating with a storage facility to receive a backup image, wherein the backup image includes file system metadata and a data portion having a plurality of data blocks, wherein the file system metadata includes information defining a plurality of directories and information defining a plurality of data containers, the information defining a plurality of data containers including a listing of data blocks associated with individual data containers of the plurality of data containers; restoring means for restoring individual data blocks of the plurality of data blocks from the data portion of the backup image to the storage device; lookup generation means for generating a lookup data structure based on the backup image, wherein the lookup data structure defines a mapping from individual identifiers in the file system metadata to the individual data blocks of the plurality of data blocks; directory means for generating a directory structure in a file system associated with the storage facility based on the file system metadata; empty data container means for generating an empty data container on the storage facility based on the file system metadata, wherein the empty data container means includes data structure means for generating a data structure and populating the data structure with metadata based on the file system metadata; and data container populating means for populating the empty data container by associating individual data blocks of the plurality of data blocks with the empty data container based on the lookup data structure, wherein the data container populating means includes identifier determining means for determining a volume block identifier associated with a data block in the empty data container from the file system metadata and copying a reference associated with the volume block identifier in the lookup data structure into the data structure.
-
-
19. One or more computer-readable memories storing computer-executable instructions for implementing a method for restoring data to a storage server, comprising:
-
instructions for receiving a backup image through a storage interface, the backup image having a metadata portion and a data warehouse portion, wherein the metadata portion includes information defining a plurality of directories and information defining a plurality of data containers, the information defining a plurality of data containers including a listing of data blocks associated with individual data containers of the plurality of data containers; instructions for restoring a plurality of data blocks from the data warehouse portion of the backup image to a storage subsystem associated with the storage server; instructions for generating a lookup structure based on the metadata portion of the backup image, wherein the lookup structure maps identifiers to individual data blocks of the plurality of data blocks and wherein the identifiers are determined based on the metadata portion of the backup image; instructions for generating a directory structure in a file system associated with the storage server based on the metadata portion of the backup image; instructions for generating a plurality of empty data containers in the directory structure based on the metadata portion of the backup image, wherein generating the plurality of empty data containers includes generating a data structure and populating the data structure with metadata based on the metadata portion of the backup image; and instructions for populating data container contents of individual data containers of the plurality of empty data containers by associating individual data blocks of the plurality of data blocks with the individual data containers based on the lookup structure, wherein populating the data container contents of an individual data container includes determining a volume block identifier associated with a data block in the individual data container from the metadata portion of the backup image and copying a reference associated with the volume block identifier in the lookup structure into the data structure. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification