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 be sufficiently responsive 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.
Claims24
A computer-implemented method for managing storage, comprising:
- under the control of one or more computer systems configured with executable instructions,
- receiving information about performance of a data storage server;
- determining, based at least in part on the received information, an indicator of server health for the data storage server, the indicator of server health based at least in part on read performance or write performance relative to customer-requested read performance or write performance;
- when determined that the indicator of server health is below one or more thresholds:
- determining a data volume to offload from the data storage server;
- generating a placement decision for the data volume hosted by the data storage server, the placement decision indicating at least one second storage server to host the data volume;
- and
- transferring the data volume to the second storage server, wherein transferring the data volume to the second storage server comprises moving the data volume from being stored in a storage of the data storage server to being stored in a storage of the second storage server, wherein the storage of the data storage server is local to the data storage server, and the storage of the second storage server is local to the second storage server and is distinct from the storage of the first storage server.
A computer-implemented method for managing storage, comprising:
- under the control of one or more computer systems configured with executable instructions,
- receiving storage-server-health information for a storage server;
- determining, based at least in part on the received storage-server-health information, an indicator of an ability to host one or more volumes by the storage server;
- generating a placement decision for at least one volume hosted by the storage server in response to at least the indicator of the ability to host one or more volumes by the storage server and a customer defined minimum threshold for the volume, the placement decision indicating a determined storage server to host the at least one volume;
- and
- causing the at least one volume to be served by the determined storage server, wherein causing the volume to be served by the determined storage server comprises moving the volume from being stored in a storage of the storage server to being stored in a storage of the determined storage server, wherein the storage of the storage server is local to the storage server, and the storage of the determined storage server is local to the determined storage server and is distinct from the storage of the 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 performance information for a storage server, the performance information indicating that the storage server is overcommitted and fails to meet a customer defined minimum threshold for the dataset;
- cause a placement decision for a set of one or more volumes hosted by the storage server to be prepared in response to at least the performance information, the placement decision indicating at least one determined storage server to host the set of the one or more volumes;
- and
- cause the set of one or more volumes to be served by the determined storage server, wherein causing the set of one or more volumes to be served by the determined storage server comprises moving the set of one or more volumes from being stored in a storage of the storage server to being stored in a storage of the determined storage server, wherein the storage of the storage server is local to the storage server, and the storage of the determined storage server is local to the determined storage server and is distinct from the storage of the 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 information about a storage set of a storage server;
- determine, based at least in part on the received information, an indicator of an ability of the storage server to host the storage set;
- generate a placement decision for the storage set hosted by the storage server in response to at least the determination that the indicator has crossed one or more thresholds, the one or more thresholds including a customer defined minimum threshold for the storage set, the placement decision indicating at least one determined storage server to host the storage set;
- and
- cause the storage set to be served by the determined storage server, wherein causing the storage set to be served by the determined storage server comprises moving the storage from being stored in a storage of the storage server to being stored in a storage of the determined storage server, wherein the storage of the storage server is local to the storage server, and the storage of the determined storage server is local to the determined storage server and is distinct from the storage of the storage server.
Dependencies are inferred from the claim text.