Managing common storage by allowing delayed allocation of storage after reclaiming reclaimable space in a logical volume
First Claim
1. A method comprising:
- receiving, at a storage server, an indication to set a space reservation for a volume associated with a logical aggregation of physical storage, wherein the logical aggregation of physical storage provides an abstraction layer between the volume and a physical storage;
reclaiming space from one or more space-reclaimable volumes that organize space within the logical aggregation of physical storage if the logical aggregation of physical storage does not have enough free space to reserve a specified amount of storage space for the volume to provide a requested storage capacity for the volume according to the space reservation, wherein reclaiming space includesdetermining an amount of space-reclaimable available from the one or more space-reclaimable volumes if the volume accepts a delayed space reservation, anddelaying setting of the space reservation for the volume until a sufficient amount of space is reclaimed from the one or more space-reclaimable volumes, wherein the delaying includesdetecting a plurality of allocated, unreserved blocks of the one or more space-reclaimable volumes,performing at least one of truncating and compressing data in the detected blocks to create a free space reserve, andreserving the specified amount of the logical aggregation of physical storage for the volume as a delayed space reservation according to the free space reserve; and
granting the delayed space reservation for the volume until the sufficient amount of space is reclaimed from the one or more space-reclaimable volumes associated with the logical aggregation of physical storage to provide the requested storage capacity for the volume,wherein the logical aggregation of physical storage provides a common pool of physical storage shared between at least one space-reclaimable volume and at least one non-space-reclaimable volume and the sufficient amount of storage space to provide a requested storage capacity for the volume is reclaimed from the space-reclaimable volume.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for managing of common storage in a storage system is disclosed. In one embodiment, a storage system receives a request to set a space reservation for a volume associated with a logical aggregation of physical storage. In response, the storage system sets the space reservation to indicate that the logical aggregation of physical storage is to provide a specified amount of space to the volume. In one embodiment, space within the logical aggregation of physical storage is automatically reclaimed to set a delayed space reservation if the amount of unused space within the logical aggregation of physical storage is insufficient to set the space reservation. In one embodiment, the volume is either a space-reclaimable volume or a non-space-reclaimable volume. Other embodiments are described and claimed.
72 Citations
20 Claims
-
1. A method comprising:
-
receiving, at a storage server, an indication to set a space reservation for a volume associated with a logical aggregation of physical storage, wherein the logical aggregation of physical storage provides an abstraction layer between the volume and a physical storage; reclaiming space from one or more space-reclaimable volumes that organize space within the logical aggregation of physical storage if the logical aggregation of physical storage does not have enough free space to reserve a specified amount of storage space for the volume to provide a requested storage capacity for the volume according to the space reservation, wherein reclaiming space includes determining an amount of space-reclaimable available from the one or more space-reclaimable volumes if the volume accepts a delayed space reservation, and delaying setting of the space reservation for the volume until a sufficient amount of space is reclaimed from the one or more space-reclaimable volumes, wherein the delaying includes detecting a plurality of allocated, unreserved blocks of the one or more space-reclaimable volumes, performing at least one of truncating and compressing data in the detected blocks to create a free space reserve, and reserving the specified amount of the logical aggregation of physical storage for the volume as a delayed space reservation according to the free space reserve; and granting the delayed space reservation for the volume until the sufficient amount of space is reclaimed from the one or more space-reclaimable volumes associated with the logical aggregation of physical storage to provide the requested storage capacity for the volume, wherein the logical aggregation of physical storage provides a common pool of physical storage shared between at least one space-reclaimable volume and at least one non-space-reclaimable volume and the sufficient amount of storage space to provide a requested storage capacity for the volume is reclaimed from the space-reclaimable volume. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An article of manufacture comprising:
a machine-readable storage medium encoded with instructions that, when executed by an apparatus, cause the apparatus to; detect that an amount of free space within a logical aggregation of physical storage is insufficient to set a space reservation for a volume associated with the logical aggregation of physical storage, wherein the logical aggregation of physical storage provides an abstraction layer between the volume and a physical storage; determine an amount of space-reclaimable available from one or more space-reclaimable volumes associated with the logical aggregation of physical storage; if the amount of space-reclaimable within the space-reclaimable volume associated with the logical aggregation of physical storage is insufficient to enable the space reservation, reclaim space from the one or more space-reclaimable volumes associated with the logical aggregation of physical storage, and grant a delayed space reservation for the volume until a sufficient amount of space is reclaimed from the one or more space-reclaimable volumes wherein reclaiming space includes detecting a plurality of allocated, unreserved blocks of the one or more space-reclaimable volumes, performing at least one of truncating and compressing data in the detected blocks to create a free space reserve, and reserving the specified amount of the logical aggregation of physical storage for the volume as a delayed space reservation according to the free space reserve; and grant the space reservation to provide a requested storage capacity for the volume responsive, at least in part, to the delayed space reservation, wherein the logical aggregation of physical storage provides a common pool of physical storage shared between the at least one space-reclaimable volume and at least one non-space-reclaimable volume. - View Dependent Claims (9, 10, 11, 12, 13)
-
14. A method comprising:
-
in a storage server, allocating space within a logical aggregation of physical storage between at least two volumes associated with the logical aggregation of physical storage, wherein the logical aggregation of physical storage provides an abstraction layer between the at least two volumes and a physical storage; setting a partial space reservation for each of the volumes, wherein the partial space reservation specifies that the logical aggregation of physical storage is to provide a specified amount of reserved space to each volume that is less than a capacity of each volume; detecting that a relative capacity of a first volume from the at least two volumes is below a minimum relative capacity level; and reclaiming space used by a second volume from the at least two volumes for the first volume if a first volume usage level within the logical aggregation of physical storage is below a predetermined minimum usage level and a second volume usage level within the logical aggregation of physical storage exceeds a predetermined maximum usage level, wherein the logical aggregation of physical storage provides a common pool of physical storage shared between at least one space-reclaimable volume and at least one non-space-reclaimable volume and the sufficient amount of storage space to provide a requested storage capacity for the volume is reclaimed from the space-reclaimable volume, and wherein reclaiming space includes, detecting a plurality of allocated, unreserved blocks of the second volume; truncating the detected blocks to create a free space reserve for the first volume;
allocating the free space reserve to the first volume. - View Dependent Claims (15, 16, 17)
-
-
18. An apparatus comprising:
-
a storage server to maintain a hierarchical structure of data stored in an array of physical storage devices and to service read and write requests from one or more clients relating to data stored in the array of physical storage devices; one or more non-space-reclaimable volumes, each sharing a common pool of physical storage provided by the array of storage devices, wherein each non-space-reclaimable volume is a logical data container; one or more space-reclaimable volumes, each sharing the common pool of physical storage provided by the array of storage devices, wherein each space-reclaimable volume is a logical data container for temporary storage of client data and configured to enable the reclaiming of space within the respective space-reclaimable volume; a logical aggregation of physical storage to provide an abstraction layer between the one or more non-space-reclaimable volumes, the one or more space-reclaimable volumes and the array of storage devices; and a storage allocation module to monitor and adjust allocation of the logical aggregation of physical storage between the non-space-reclaimable volumes and the space-reclaimable volumes, the storage allocation module including a delayed space reservation module to reclaim space from one or more space-reclaimable volumes associated with the logical aggregation of physical storage if the logical aggregation of physical storage does not have enough free space to reserve a specified amount of storage space for a volume to provide a requested storage capacity for the volume according to a space reservation for the volume, wherein reclaiming space includes determining an amount of space-reclaimable available from one or more space-reclaimable volumes if the volume accepts a delayed space reservation, and delaying setting of the space reservation for the volume until a sufficient amount of space is reclaimed from the one or more space-reclaimable volumes, wherein the delaying includes detecting a plurality of allocated, unreserved blocks of the one or more space-reclaimable volumes, performing at least one of truncating and compressing data in the detected blocks to create a free space reserve, and reserving the specified amount of the logical aggregation of physical storage for the volume as a delayed space reservation according to the free space reserve, and the storage allocation module to further set a delayed space reservation for the volume responsive, at least in part, to reclaiming of space from at least the one or more space-reclaimable volumes to provide the requested storage capacity for the volume, wherein the logical aggregation of physical storage provides a common pool of physical storage shared between at least one space-reclaimable volume and at least one non-space-reclaimable volume and the sufficient amount of storage space to provide a requested storage capacity for the volume is reclaimed from the space-reclaimable volume, and wherein reclaiming space includes at least one of;
truncating and compressing data contained in the one or more space-reclaimable volumes. - View Dependent Claims (19, 20)
-
Specification