摘要:
In one example, a system that is operable to back up and restore data may include a high efficiency storage application configured to back up a chunk of data of a client system to a content addressed storage system by generating a recipe that includes instructions for generating the chunk of data from a plurality of data pieces. The system may further include a backup server communicably connected to the high efficiency storage application and configured to, among other things, in response to receipt of a restore request, recover the chunk of data by retrieving the recipe and appended storage addresses in one index seek without separately looking up a storage address for any of the plurality of data pieces in an index.
摘要:
Seek operations required to perform backup and/or restore processes at an HFS server are reduced by localizing storage of data referenced by hash values included in a recipe near the recipe. In a typical embodiment, an HFS server receives a recipe and new underlying data for entry into a hash file system. The HFS server identifies a first storage node for the recipe, contiguously stores the new data in the first storage node, and indexes hash values and storage addresses of the new data in storage nodes selected based on the hash values of the new data. Storage addresses for the new data (and other data referenced by the recipe) are appended to the recipe. Later during a restore process, retrieval of the recipe also retrieves the storage addresses. Data pieces stored contiguously can then be collectively retrieved in one seek rather than in separate individual seeks.
摘要:
In one example, a method may include performance of a hash function on a digital sequence so as to generate a hash value that corresponds to the digital sequence. Next, the digital sequence may be broken into data pieces, and each data piece hashed to produce a corresponding hash value for each data piece. Then, a recipe may be produced that includes instructions which, when executed, may generate the digital sequence from the data pieces referenced by their corresponding hash values included in the recipe. Among other things, the hash values may enable reutilization of redundant data sequences by serving as pointers to the data pieces that the hash values respectively represent.
摘要:
In one example, a method may include performance of a hash function on a digital sequence so as to generate a hash value that corresponds to the digital sequence. Next, the digital sequence may be broken into data pieces, and each data piece hashed to produce a corresponding hash value for each data piece. Then, a recipe may be produced that includes instructions which, when executed, may generate the digital sequence from the data pieces referenced by their corresponding hash values included in the recipe. Among other things, the hash values may enable reutilization of redundant data sequences by serving as pointers to the data pieces that the hash values respectively represent.
摘要:
In one example, a system that is operable to back up and restore data may include a high efficiency storage application configured to back up a chunk of data of a client system to a content addressed storage system by generating a recipe that includes instructions for generating the chunk of data from a plurality of data pieces. The system may further include a backup server communicably connected to the high efficiency storage application and configured to, among other things, in response to receipt of a restore request, recover the chunk of data by retrieving the recipe and appended storage addresses in one index seek without separately looking up a storage address for any of the plurality of data pieces in an index.
摘要:
In one example, a method of restoring data backed up in a content addressed storage system may include retrieving a recipe and appended storage addresses from a first storage node of content addressed storage, where the recipe may include instructions for generating a data structure from two or more data pieces, and the two or more data pieces may be resident in locations identified by the appended storage addresses. The example method may further include populating a cache with the appended storage addresses for the two or more data pieces. As well the method may further include retrieving, and populating the cache with, the two or more data pieces without looking up a storage address for any of the two or more data pieces in an index, and restoring the data structure using the retrieved two or more data pieces in the cache.
摘要:
In one example, a method of restoring data backed up in a content addressed storage system may include retrieving a recipe and appended storage addresses from a first storage node of content addressed storage, where the recipe may include instructions for generating a data structure from two or more data pieces, and the two or more data pieces may be resident in locations identified by the appended storage addresses. The example method may further include populating a cache with the appended storage addresses for the two or more data pieces. As well the method may further include retrieving, and populating the cache with, the two or more data pieces without looking up a storage address for any of the two or more data pieces in an index, and restoring the data structure using the retrieved two or more data pieces in the cache.
摘要:
Backup data in a single-instance storage device is accessed through a backup server using hashes representative of and pointing to the backup data. To prevent unauthorized access, the server provides each client with encrypted versions of hashes corresponding to data backed up by the client. The hashes can be encrypted using client-specific symmetric encryption keys known to the server. To request data, a client provides the backup server with a corresponding encrypted hash. The backup server decrypts the encrypted hash using the client's encryption key. The original hash is only obtained if the key used for decryption is identical to the key used for encryption. Consequently, if an encrypted hash is stolen or otherwise acquired by a client different from the client that backed up the corresponding data, it cannot be used by the different client to request the corresponding data from the backup server.
摘要:
Seek operations required to perform backup and/or restore processes at an HFS server are reduced by localizing storage of data referenced by hash values included in a recipe near the recipe. In a typical embodiment, an HFS server receives a recipe and new underlying data for entry into a hash file system. The HFS server identifies a first storage node for the recipe, contiguously stores the new data in the first storage node, and indexes hash values and storage addresses of the new data in storage nodes selected based on the hash values of the new data. Storage addresses for the new data (and other data referenced by the recipe) are appended to the recipe. Later during a restore process, retrieval of the recipe also retrieves the storage addresses. Data pieces stored contiguously can then be collectively retrieved in one seek rather than in separate individual seeks.
摘要:
Seek operations required to perform restore processes at an HFS server are reduced by storing storage addresses of data associated with hash values included in recipes with the recipes. In a typical embodiment, an HFS server receives a recipe for entry into a hash file system and performs a reference check on the recipe to avoid data corruption. This includes using hash values of the associated data to lookup storage addresses for the associated data in corresponding index stripes. The identified storage addresses can be appended to/stored with the recipe when the recipe is stored by the HFS server. Later during a restore process, retrieval of the recipe also retrieves the storage addresses without having to look up the storage addresses in the corresponding index stripes. Consequently, seek operations during restore can be cut in half and the speed of performing the restore can be doubled.