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 relationships between data sets stored on current implementation resources, such as a storage servers. The relationships may be used to determine whether a data set should be moved from a 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 a grouping relationship between a first storage volume stored on a physical storage of a storage server and a second storage volume stored on a physical storage of another storage server, the grouping relationship indicating a level of shared infrastructure for infrastructure shared by the storage server serving the first storage volume and the other storage server serving the second storage volume, wherein the physical storage of the storage server is local to the storage server and the physical storage of the other storage server is local to the other storage server and the physical storages of the storage server and the other storage server are separate from one another;
- determining, based at least in part on the grouping relationship, at least one restriction for a placement decision for relocating the first storage volume to a new storage server, wherein the at least one restriction requires that after the first storage volume is relocated to the new server, the new storage server and the other storage server for the respective first and second storage volumes will have a lower level of shared infrastructure than the storage server and the other storage server currently storing the respective first and second storage volumes;
- generating a placement decision identifying one or more available storage servers currently serving one or more other storage volumes from a set of available storage servers to serve the first storage volume that satisfies the at least one restriction, wherein the one or more available storage servers each comprise respective local physical storages that are separate from one another and separate from the physical storage of the storage server and separate from the separate physical storage of the other storage server;
- and
- transferring the first storage volume to the one or more available storage servers identified in the placement decision, wherein transferring the first storage volume to the one or more available storage servers comprises moving data of the first storage volume from being stored on the physical storage of the storage server to being stored on the respective local physical storages of the one or more available storage servers identified in the placement decision.
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 a relationship between a first volume stored at a storage server and a second volume stored at another storage server, at least one restriction for a placement decision for relocating the first volume to a new storage server, wherein the at least one restriction requires that after the first storage volume is relocated to the new server, the new storage server and the other storage server for the respective first and second storage volumes will have a lower level of shared infrastructure than the storage server and the other storage server currently storing the respective first and second storage volumes;
- and
- generating a placement decision identifying one or more available storage servers currently serving one or more other volumes to serve the first volume that satisfies the at least one restriction, wherein the one or more available storage servers each comprise respective local physical storages that are separate from one another;
- and
- transferring the first volume to the one or more identified available storage servers, wherein transferring the first volume to the one or more identified storage servers comprises moving data of the first volume from being stored at the storage server such that the first volume is stored in the respective local physical storages of the one or more identified available storage servers.
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 a plurality of accesses to a set of related data sets match a relationship;
- determine that a level of shared infrastructure for infrastructure shared by a storage server currently storing at least one data set of the related data sets and another storage server currently storing at least another data set of the related data sets is above a desired level of shared infrastructure;
- generate, based on the determination, a placement decision for the set of related data sets identifying a new storage server to store the at least one data set, wherein the placement decision requires that after the at least one data set is transferred to the new storage server, the new storage server and the other storage server will have a lower level of shared infrastructure than the level of shared infrastructure for the storage server currently storing at least one data set of the related data sets and another storage server currently storing at least another data set;
- and
- transfer the at least one data set of the set of related data sets to the new storage server, wherein to transfer the at least one data set to the new storage server, the at least one data set is moved from being stored in a local physical storage of the storage server to being stored in a local physical storage of the new 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 a request for a placement decision for a data set related to a set of related data sets, the request including a tradeoff selection between speed and durability, wherein the durability increases with differences in infrastructure between a storage server storing the set of related data sets and a storage server to be selected to store the data set, and wherein the speed increases when a distance between the storage server storing the set of related data sets and a storage server to be selected to store the data set is reduced;
- generate a placement decision for the data set identifying an available storage server from a set of available storage servers, the placement decision based at least in part on the available storage server identified as nearer to the requested tradeoff selection than other available storage servers in the set of available storage servers, wherein the available storage server comprises local physical storage, and wherein the placement decision requires that after the data set is transferred to the available storage server, the available storage server and the storage server storing the set of related data sets will have a higher level of shared infrastructure than a level of shared infrastructure of individual ones of the other available storage servers and the storage server storing the set of related data sets;
- and
- transfer the data set to the identified available storage server, wherein to transfer the data set, the data set is moved such that the data set is stored in respective the local physical storage of the available storage server.
Dependencies are inferred from the claim text.