Abstract:
Pruning unwanted file content from an image backup. In one example embodiment, a method of pruning unwanted file content from an image backup includes identifying files to be excluded from a base image backup of a source storage, identifying a set of allocated blocks in the source storage at a first point in time, pruning the set of allocated blocks to exclude the allocated blocks that correspond to content of the files to be excluded, backing up the pruned set of allocated blocks, and not backing up the excluded allocated blocks, in the base image backup, and restoring the base image backup to a restore storage, the restoring including pruning file system metadata of a file system of the restore storage prior to exposing the file system to any user such that the files to be excluded are no longer listed as existing within the file system metadata.
Abstract:
Exposing a proprietary disk file to a hypervisor as a native hypervisor disk file. In one example embodiment, a method of exposing a proprietary disk file to a hypervisor as a native hypervisor disk file includes various acts. For example, the method includes identifying a proprietary disk file having a proprietary format. The method further includes creating a plugin file corresponding to the proprietary disk file. The method also includes intercepting read requests directed to the plugin file. The method further includes responding to each of the read requests with data gathered from the plugin file and/or the proprietary disk file, where the data is structured such that the data appears to be gathered from a native hypervisor disk file due to being formatted in a native format of the hypervisor.
Abstract:
Restoration of a backup of a first volume to a second volume on physical media. In one example embodiment, a method for restoration of a backup of a first volume to a second volume on physical media includes accessing a volume boot record of the second volume while the volume boot record is in a valid state on the physical media, modifying the volume boot record to place the volume boot record into an invalid state on the physical media, writing data from the backup of the first volume to the inaccessible portion of the data segment of the second volume while the volume boot record is in the invalid state, and restoring the volume boot record to the valid state. In this example embodiment, the invalid state prevents a standard operating system from accessing at least a portion of the data segment of the second volume.
Abstract:
Hash collision recovery in a deduplication vault. In one example embodiment, a method for hash collision recovery in a deduplication vault includes creating first parity data for all unique blocks of a source storage at a point in time. The first parity data includes both the unique blocks as well as an order of block positions of the unique blocks as stored in the source storage. Next, a hash value is generated for each of the unique blocks. Then, a backup is stored in a deduplication vault including each of the unique blocks together with its corresponding hash value. Next, second parity data is created for all of the unique blocks of the backup. Then, the first parity data is compared to the second parity data to determine whether one or more hash collisions occurred resulting in one or more missing unique blocks.
Abstract:
Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor. In one example embodiment, a method of exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor may include identifying the proprietary image backup having a proprietary format and storing an operating system, creating a plugin file corresponding to the proprietary image backup, reconfiguring the operating system to cause the operating system to be bootable when using hardware emulated by the hypervisor, gathering operating system data from the proprietary image backup, reformatting, using a filter module, the operating system data into a native format of the hypervisor, booting the operating system in a virtual machine of the hypervisor, and storing the reformatted operating system data in a replacement disk file formatted in the native format of the hypervisor.
Abstract:
Virtual defragmentation of a storage. In one example embodiment, a method for virtual defragmentation of a storage includes various steps. For example, the method includes intercepting a move command directed to a storage during a defragmentation of the storage. The move command specifies an actual location of a block and a defrag location for the block in the storage. The method also includes updating a virtual defragmentation map to record the actual location of the block and the defrag location for the block. The method further includes preventing the block from being moved to the defrag location. The method also includes allowing file system metadata of the storage to be updated to falsely reflect that the block has been moved to the defrag location.
Abstract:
Graphical user interface relationship graph for displaying relationships between image backup files in a backup job. In one example embodiment, one or more non-transitory computer-readable media store a program that causes a processor to generate and visually present, on an electronic display device associated with the processor, a graphical user interface (GUI) relationship graph for displaying relationships between image backup files in a backup job. The GUI relationship graph includes multiple image nodes each representing an image backup file of a source storage and a chain path including multiple links. Each of the links represents a parent-child relationship between one of the image nodes and another of the image nodes.
Abstract:
Change tracking for multiphase deduplication. In one example embodiment, a method of tracking changes to a source storage of a source system for multiphase deduplication includes a change tracking phase that includes performing various steps for only allocated blocks in the source storage that are changed between a prior point in time and a subsequent point in time. These steps include temporarily storing a copy of the changed block in a volatile memory of the source system prior to writing the changed block to the source storage, performing a hash function only once on the copy of the changed block, while the copy is temporarily stored in a volatile memory of the source system, to calculate a hash value, writing the changed block to the source storage, and tracking, in a change log, a location in the source storage of the changed block and the corresponding hash value.
Abstract:
Local seeding of a restore storage for restoring a backup from a remote deduplication vault storage. In one example embodiment, a method of local seeding of a restore storage for restoring a backup from a remote deduplication vault storage includes determining which blocks included in a backup of a source storage at a point in time, which is stored in the remote vault storage, are available in a local seeded storage containing common blocks, reading the locally available blocks from the local seeded storage, reading the non-locally available blocks from the remote vault storage, and storing the read blocks in the restore storage in the same position as stored in the source storage at the point in time. The remote vault storage is remote from the restore storage and the local seeded storage is local to the restore storage.
Abstract:
Defragmentation during multiphase deduplication. In one example embodiment, a method of defragmentation during multiphase deduplication includes an analysis phase that includes analyzing each allocated block stored in a source storage at a point in time to determine if the block is duplicated in a vault storage, a defragmentation phase that includes reordering the duplicate blocks stored in the source storage to match the order of the duplicate blocks as stored in the vault storage, and a backup phase that is performed after completion of the defragmentation phase and that includes storing, in the vault storage, each unique nonduplicate block from the source storage.