Data volume placement techniques
AssigneeAmazon Technologies, Inc.
InventorsMarc J. Brooker, David R. Richardson, Tate Andrew Certain, Tobias L. Holgers, Madhuvanesh Parthasarathy
Life of this patent
Estimating the term…
Abstract
A storage management system monitors an indicator of whether data storage is or will exceed a threshold of storage utilization as stored on a current implementation resource, such as a storage server. The indicator may be used to determine whether none, some or all of the data storage should be moved from the current implementation resource to an available implementation resource.
Claims23
A computer-implemented method for managing storage, comprising:
- under the control of one or more computer systems configured with executable instructions,
- receiving storage capacity information for a first data storage server comprising one or more physical storage devices that are local to the first data storage server, the first data storage server hosting a plurality of volumes, wherein the received storage capacity information indicates an amount of free space available on the first data storage server for storage of data for any of the plurality of volumes;
- receiving storage usage information that indicates a storage usage of one or more volumes of the plurality of volumes at the first data storage server;
- determining, based at least in part on the amount of free space available on the first data storage server indicated in the received storage capacity information, and on the storage usage indicated in the received storage usage information, a prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the one or more physical storage devices of the first data storage server;
- triggering by the one or more computer systems responsive to the prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the first data storage server:
- identifying one of the plurality of volumes to be transferred from the first data storage server to another data storage server;
- generating a placement decision in response to the prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the first data storage server, wherein generating the placement decision comprises selecting, from among a plurality of data storage servers, a second data storage server to which the identified volume of the plurality of volumes is to be transferred based on both inclusive and exclusive criteria relating the identified volume to a primary volume or relating the identified volume to a secondary volume;
- and
- transferring, according to the placement decision, the identified volume to the selected second data storage server, wherein transferring the identified volume comprises moving the identified volume from being stored in one or more of the physical storage devices of the first data storage server to being stored in one or more physical storage devices of the second data storage server;
- and
- after transferring the identified volume to the second data storage server, allocating additional free space as available to at least one of the volumes that remain hosted by the first data server.
A computer-implemented method for managing storage, comprising:
- under the control of one or more computer systems configured with executable instructions,
- determining, based at least in part on storage information for a data storage server comprising one or more physical storage devices, an amount of free storage space on the one or more physical storage devices available to the data storage server, wherein the data storage server hosts a set of data volumes;
- receiving storage usage information that indicates a storage usage of one or more volumes of the plurality of volumes at the data storage server;
- determining, based at least in part on the amount of free space on the one or more physical storage devices available to the data storage server, and on the storage usage indicated in the received storage usage information, a prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space on the one or more physical storage devices available to the data storage server;
- and
- triggering by the one or more computer systems responsive to the prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the data storage server:
- identifying a data volume of the set of data volumes the data volume to be transferred from the data storage server to increase an amount of free storage space associated with data volumes of the set of volumes that remain hosted by the data storage server after transferring the data volume;
- selecting, from among a plurality of data storage servers, another data storage server to which the identified data volume of the set of data volumes is to be transferred, wherein selecting the other data storage server from among the plurality of data storage servers is based on both inclusive and exclusive criteria relating the identified data volume to a primary volume or relating the identified data volume to a secondary volume;
- and
- transferring the identified data volume from the data storage server to the selected other data storage server, wherein transferring comprises moving the identified data volume from being stored in the one or more physical storage devices of the data storage server to being stored in one or more other physical storage devices of the selected other data storage server.
A computer system for managing storage, comprising:
- one or more processors;
- and
- memory, including instructions executable by the one or more processors to cause the computer system to at least:
- determine that access to a dataset comprising a set of data volumes, on a block storage server fails to meet a set of expected performance criteria including failing to meet one or more latency criteria, wherein the determination is based at least in part on one or more measures of a performance of the block storage server responding to one or more data requests pertaining to the set of data volumes, wherein the one or more measures include latencies of one or more responses from the block storage server to the one or more data requests;
- generate, responsive to the determination that access to the dataset fails to meet the one or more latency criteria, a placement decision to enhance access to the dataset in order to meet the one or more latency criteria, the placement decision indicating another block storage server for placement of a selected volume selected from the set of data volumes, the other block storage server selected from among a plurality of block storage servers, wherein the selected other block storage server meets the one or more latency criteria and both inclusive and exclusive criteria relating the selected volume to a primary volume or relating the selected volume to a secondary volume;
- and
- transfer, according to the placement decision, the selected one of the set of data volumes to the selected other block storage server, wherein transferring comprises moving the selected one of the set of data volumes from being stored in a physical storage of the block storage server to being stored in a different physical storage of the selected other block storage server.
One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
- receive storage capacity information for a data storage server comprising one or more physical storage devices that are local to the data storage server, the data storage server hosting a plurality of volumes, wherein the received storage capacity information indicates an amount of free space available on the data storage server for storage of data for any of the plurality of volumes;
- receive storage usage information that indicates a storage usage of one or more volumes of the plurality of volumes at the data storage server;
- determine, based at least in part on the amount of free space available on the data storage server indicated in the received storage capacity information, and on the storage usage indicated in the received storage usage information, a prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the one or more physical storage devices of the data storage server;
- trigger by the computer system responsive to the prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the data storage server:
- identification of one of the plurality of volumes to be transferred from the data storage server to another data storage server;
- generation of a placement decision in response to the prediction that the one or more volumes of the plurality of volumes will exhaust the amount of free space available for storage of data on the data storage server, wherein generation of the placement decision comprises selection, from among a plurality of data storage servers, of another data storage server to which the identified volume of the plurality of volumes is to be transferred, wherein selection of the other data storage server from among the plurality of data storage servers is based on both inclusive and exclusive criteria relating the identified volume to a primary volume or relating the identified volume to a secondary volume;
- and
- transfer, according to the placement decision, of the identified data volume to the selected other data storage server comprising a second one or more physical storage devices, wherein transferring comprises moving the identified data volume from being stored in the one or more physical storage devices of the data storage server to being stored in the second one or more physical storage devices of the selected other data storage server.
Dependencies are inferred from the claim text.