Fragmentation mitigation in synthetic full backups
AssigneeVeritas Technologies LLC
InventorShuai Cheng
Life of this patent
Estimating the term…
Abstract
Various methods, systems, and processes for mitigating fragmentation in synthetic full backups are disclosed. One or more storage units out of multiple storage units are identified. The multiple storage units include one or more new storage units or one or more existing storage units. The multiple storage units are accessed and a determination is made as to whether the one or more storage units out of the multiple storage units meet a threshold. The threshold is a measure of a characteristic of those one or more storage units. If one or more storage units meet the threshold, those one or more storage units are included in a backup stream, and the backup stream is sent to a backup server.
Claims20
A computer-implemented method of performing a backup operation comprising:
- identifying one or more extents of data among a plurality of extents of data, wherein
- the one or more extents of data are generated by a virtual machine executing on a hypervisor server,
- the identification is performed by a proxy server using a changed block tracker maintained by the hypervisor server, and
- the plurality of extents of data comprise one or more new extents of data or one or more existing extents of data;
- accessing the plurality of extents of data;
- determining whether the one or more extents of data collectively comprise at least a predetermined threshold quantity of data;
- determining whether backing up the one or more extents of data will not exceed a predetermined threshold level of fragmentation;
- in response to determining that the one or more extents of data collectively comprise at least a predetermined threshold quantity of data and that backing up the one or more extents of data will not exceed the predetermined threshold level of fragmentation, generating a backup stream by including, in the backup stream, the one or more extents of data that collectively comprise at least the predetermined threshold quantity of data;
- and
- sending the backup stream to a backup server as part of the backup operation.
A system comprising:
- one or more hardware processors;
- and
- a memory coupled to the one or more hardware processors, wherein the memory stores program instructions executable by the one or more hardware processors to:
- identify one or more extents of data among a plurality of extents of data, wherein
- the one or more extents of data are generated by a virtual machine executing on a hypervisor server,
- identifying the one or more extents is performed by a proxy server using a changed block tracker maintained by the hypervisor server, and
- the plurality of extents of data comprise one or more new extents of data or one or more existing extents of data;
- access the plurality of extents of data;
- determine whether the one or more extents of data collectively comprise at least a predetermined threshold quantity of data;
- determine whether backing up the one or more extents of data will not exceed a predetermined threshold level of fragmentation;
- in response to determining that the one or more extents of data collectively comprise at least a predetermined threshold quantity of data and that backing up the one or more extents of data will not exceed the predetermined threshold level of fragmentation, generate a backup stream by including, in the backup stream, the one or more extents of data that collectively comprise at least the predetermined threshold quantity of data;
- and
- send the backup stream to a backup server as part of a backup operation.
The system of 13, wherein the program instructions are further executable to:
- identifying the one or more new extents of data of the plurality of extents of data using the accelerator;
- sending the one or more new extents of data from the virtual machine to the proxy server;
- retrieving a state file from a master server, wherein
- the state file comprises information about each extent of data stored on a virtual disk associated with the virtual machine, and
- the state file information indicates whether the one or more new extents of data have already been backed up to the storage device as part of a previous full backup operation or as part of a previous incremental backup operation;
- and
- in response to determining that the one or more new extents of data or the one or more existing extents of data meet the predetermined threshold quantity of data, including the one or more new extents of data or the one or more existing extents of data in the backup stream.
A non-transitory computer readable storage medium comprising program instructions executable to:
- identify one or more extents of data among a plurality of extents of data, wherein
- the one or more extents of data are generated by a virtual machine executing on a hypervisor server,
- identifying the one or more extends is performed by a proxy server using a changed block tracker maintained by the hypervisor server, and
- the plurality of extents of data comprise one or more new extents of data or one or more existing extents of data;
- access the plurality of extents of data;
- determine whether the one or more extents of data collectively comprise at least a predetermined threshold quantity of data;
- determine whether backing up the one or more extents of data will not exceed a predetermined threshold level of fragmentation;
- in response to determining that the one or more extents of data collectively comprise at least a predetermined threshold quantity of data and that backing up the one or more extents of data will not exceed the predetermined threshold level of fragmentation,
- generate a backup stream by including, in the backup stream, the one or more extents of data that collectively comprise at least the predetermined threshold quantity of data;
- and
- send the backup stream to a backup server as part of a backup operation.
Dependencies are inferred from the claim text.