Online storage volume shrink
First Claim
1. At least one computer storage medium for implementing a method for online shrinking of a volume, the at least one computer storage medium having computer-executable instructions stored thereon, which, when executed at a processor, perform steps of the method, including:
- accessing volume information for a volume, the volume information indicating that the volume is between a first boundary and a second boundary on a computer storage medium, the first boundary and second boundary defining the size of the volume;
receiving a request to shrink the volume, the request including a shrink boundary that is to be placed between the first boundary and the second boundary on the computer storage medium;
restricting allocations such that any new allocation is in an first area of the volume, the first area being the area between the first boundary and shrink boundary;
initiating moving volume data from a second area, the second area being the area between the shrink boundary and the second boundary, to the first area to create a shrink region between the shrink boundary and the second boundary, the shrink region representing freed up space that can be used for a new volume on the computer storage medium;
receiving a request for a new allocation subsequent to initiating and during the movement of volume data from the second area to the first area;
allowing the new allocation request to a location only in the first area during and in parallel with the movement of volume data from the second area to the first area; and
committing the shrink when no volume data remains within the second area.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a technology by which a new volume or partition may be created on a disk, e.g., by running a shrink program and then reclaiming freed space. Shrink occurs online, while the user or system processes may be otherwise using the disk for reads and writes. Further, the technology operates while protecting snapshot versions of the volume. To shrink, upon receiving a request to shrink a volume to within a boundary, new allocations are restricted such that any allocation is to a volume area within the boundary. Data is moved from outside the boundary to within the boundary, and the shrink is committed when no volume data remains outside the boundary. A reduced-size volume or partition that does not include the specified region is committed when the data has been moved out of the specified region. A new volume or partition may be freed that corresponds to the region.
-
Citations
14 Claims
-
1. At least one computer storage medium for implementing a method for online shrinking of a volume, the at least one computer storage medium having computer-executable instructions stored thereon, which, when executed at a processor, perform steps of the method, including:
-
accessing volume information for a volume, the volume information indicating that the volume is between a first boundary and a second boundary on a computer storage medium, the first boundary and second boundary defining the size of the volume; receiving a request to shrink the volume, the request including a shrink boundary that is to be placed between the first boundary and the second boundary on the computer storage medium; restricting allocations such that any new allocation is in an first area of the volume, the first area being the area between the first boundary and shrink boundary; initiating moving volume data from a second area, the second area being the area between the shrink boundary and the second boundary, to the first area to create a shrink region between the shrink boundary and the second boundary, the shrink region representing freed up space that can be used for a new volume on the computer storage medium; receiving a request for a new allocation subsequent to initiating and during the movement of volume data from the second area to the first area; allowing the new allocation request to a location only in the first area during and in parallel with the movement of volume data from the second area to the first area; and committing the shrink when no volume data remains within the second area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. In a computing environment having at least one computing device, a system comprising:
-
a processor; system memory; and at least one computer storage medium having stored thereon a shrink engine and a file system component, wherein the shrink engine is configured to; access volume information for a volume, the volume information indicating that the volume is between a first boundary and a second boundary on a computer storage medium, the first boundary and second boundary defining the size of the volume; receive requests to shrink volumes, the requests including a shrink boundary that is to be placed between the first boundary and the second boundary on the computer storage medium, placement of the shrink boundary resulting in a first area being the area between the first boundary and the shrink boundary and a second area being the area between the shrink boundary and the second boundary; initiating moving volume data from a second area to the first area to create a shrink region between the shrink boundary and the second boundary, the shrink region representing freed up space that can be used for a new volume on the computer storage medium; and wherein the file system component communicates with the shrink engine and the file system component configured to; allow allocations only in the first area while allowing read operations from any location of the volume and/or partition; move volume data from the first area to the second area; receive requests for new allocations subsequent to initiating and during the movement of volume data from the second region to the first region; and allow new allocation requests to a location in the first area during and in parallel with the movement of volume data from the second area to the first area; and wherein the shrink engine is further configured to commit shrinks when no volume data remains within the second area. - View Dependent Claims (12, 13, 14)
-
Specification