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, identifying a plugin file corresponding to the proprietary image backup, gathering operating system data from the proprietary image backup, reformatting the operating system data into a native format of the hypervisor, and booting the operating system in a guest virtual machine of the hypervisor.
Abstract:
Consolidating encrypted image backups without decryption. In one example embodiment, a method for consolidating encrypted image backups without decryption may include individually encrypting, using a single encryption key, each block in a first set of blocks in a source storage, storing the first set of encrypted blocks in a first encrypted image backup, individually encrypting, using the single encryption key, each block in a second set of blocks in the source storage, storing the second set of encrypted blocks in a second encrypted image backup, and creating a consolidated encrypted image backup that includes a single encrypted block for each of multiple unique block positions represented by the first and second sets of encrypted blocks without decrypting any of the encrypted blocks.
Abstract:
Live updating of a changed block tracking (CBT) driver. In one example embodiment, a method for live updating of a CBT driver may include loading a CBT driver into a running operating system and then performing various acts without rebooting the running operating system. These acts may include tracking, using the CBT driver, writes to blocks of a source storage, loading an updated CBT driver into the running operating system with the updated CBT driver having a different name than the CBT driver, handing over the tracking of writes to blocks of the source storage from the CBT driver to the updated CBT driver, and tracking, using the updated CBT driver, writes to blocks of the source storage.
Abstract:
Filtering a directory enumeration of a directory of an image backup. In one example embodiment, a method for filtering a directory enumeration of a directory of an image backup may include exposing an image backup to directory enumeration command with the image backup listing a particular file as existing in a directory of the image backup even though the file content of the particular file is missing from the exposed image backup, receiving a directory enumeration command corresponding to the directory of the exposed image backup, generating a filtered directory enumeration that excludes the particular file, and returning the filtered directory enumeration.
Abstract:
Headstart restore of a first volume to a second volume. In one example embodiment, a method for headstart restore of a first volume to a second volume may include invalidating, on disk, a boot segment of a volume boot record of the second volume, storing headstart restore information in the second volume, while the boot segment of the volume boot record of the second volume remains invalidated, writing data from one or more backups of the first volume to a data segment of the second volume, removing the headstart restore information from the second volume, and revalidating, on disk, the boot segment of the volume boot record of the second volume.
Abstract:
Head start population of an image backup. In one example embodiment, a method for head start population of an image backup may include tracking blocks that are modified in a source storage between a first point in time and a second point in time, head start copying a first portion of the modified blocks into the image backup prior to the second point in time and ceasing the tracking of the first portion of the modified blocks as being modified, activating a snapshot on the source storage at the second point in time where the snapshot represents a state of the source storage at the second point in time, and copying, subsequent to the second point in time, from the snapshot and into the image backup, a second portion of the modified blocks that were not yet copied into the image backup by the second point in time.
Abstract:
Filtering a directory enumeration of a directory to exclude files with missing file content from an image backup. In one example embodiment, a method for filtering a directory enumeration of a directory to exclude files with missing file content from an image backup may include exposing an image backup to directory enumeration commands, receiving a directory enumeration command corresponding to a directory of a file system of the exposed image backup, generating a filtered directory enumeration that excludes files where the files are listed in file system metadata (FSM) for the directory of the file system of the exposed image backup but where the file content of the files is missing from the exposed image backup, and returning the filtered directory enumeration.
Abstract:
Head start population of an image backup. In one example embodiment, a method for head start population of an image backup may include tracking blocks that are modified in a source storage between a first point in time and a second point in time, head start copying a first portion of the modified blocks into the image backup prior to the second point in time and ceasing the tracking of the first portion of the modified blocks as being modified, activating a snapshot on the source storage at the second point in time where the snapshot represents a state of the source storage at the second point in time, and copying, subsequent to the second point in time, from the snapshot and into the image backup, a second portion of the modified blocks that were not yet copied into the image backup by the second point in time.
Abstract:
Capturing post-snapshot quiescence writes in a branching image backup chain. In one example embodiment, a method for capturing post-snapshot quiescence writes in a branching image backup chain may include taking a first snapshot of a source storage at a first point in time, identifying a first set of block positions of blocks that are allocated in the source storage at the first point in time, identifying a second set of block positions of blocks that are written to the first snapshot during post-snapshot quiescence of the first snapshot, resulting in a first quiesced snapshot, copying the blocks in the first set of block positions from the first snapshot to a full image backup, copying the blocks in the second set of block positions from the first quiesced snapshot to a first incremental image backup that depends on the full image backup, tracking a third set of block positions of the blocks that are modified in the source storage between the first point in time and a second point in time, taking a second snapshot of the source storage at the second point in time, identifying a fourth set of block positions of the blocks that are allocated in the source storage at the second point in time, identifying a fifth set of block positions of blocks that are written to the second snapshot during post-snapshot quiescence of the second snapshot, resulting in a second quiesced snapshot, calculating a sixth set of block positions by performing a Boolean AND operation on the third set of block positions and the fourth set of block positions, copying the blocks in the sixth set of block positions from the second snapshot to a second incremental image backup that depends on the full image backup, and copying the blocks in the fifth set of block positions from the second quiesced snapshot to a third incremental image backup that depends on the second incremental image backup.
Abstract:
Capturing post-snapshot quiescence writes in an image backup. In one example embodiment, a method for capturing post-snapshot quiescence writes in an image backup may include taking a first snapshot of a source storage at a first point in time using a Volume Shadow Copy Service (VSS), identifying a first set of block positions of blocks that are allocated in the source storage at the first point in time, identifying a second set of block positions of blocks that are written to the first snapshot during post-snapshot quiescence of the first snapshot by the VSS or by one or more VSS writers, resulting in a first quiesced snapshot, calculating a third set of block positions by performing a Boolean OR operation on the first and second sets of block positions, and copying blocks in the third set of block positions from the first snapshot to a full image backup.