Arbitrary server metadata persistence for control plane static stability
AssigneeAmazon Technologies, Inc.
InventorsChristopher Magee Greenwood, Bhagyasri Pavuluri, Jing Wang, Avram Israel Blaszka
Life of this patent
Estimating the term…
Abstract
Systems and methods are disclosed for reducing interdependency among control plane on a block storage system. Embodiments described herein can implement a key-value data store on the data plane servers. In one embodiment, the key-value store stores data regarding placement constraints and enables the block storage system to make placement decisions without control plane dependencies. In another embodiment, the key-value store persisted by the data plane enable the block storage system to migrate volumes while maintaining performance settings.
Claims20
A computer implemented method comprising:
- under control of one or more computing devices configured with specific computer executable instructions,
- receiving a request to cause a volume of data attached to a first virtual machine instance to be attached to a second virtual machine instance, wherein the volume of data is stored on a data storage server, and wherein the data storage server is distinct from the one or more computing devices and stores key-value data indicating a treatment applied to the volume by the first virtual machine instance;
- storing, on the one or more computing devices, volume metadata associated with the treatment applied to the volume;
- instructing detachment of the volume from the first virtual machine instance;
- in response to detecting that the volume metadata stored on the one or more computing devices is unavailable,
- instructing the data storage server to transmit, to a compute server hosting the second virtual machine instance, the key-value data indicating the treatment applied to the volume, and
- instructing attachment of the volume to the second virtual machine instance, wherein the attachment of the volume to the second virtual machine instance enables application of the treatment indicated by the key value data to the volume.
A system comprising:
- one or more computing devices comprising at least a processor, the one or more computing devices configured to at least:
- receive a request to migrate access to a volume from a first virtual machine instance to a second virtual machine instance, wherein the volume is collectively stored on a set of data storage servers, wherein each data storage server of the set of data storage servers stores key value data indicating a treatment applied to the volume by the first virtual machine instance, and wherein the one or more computing devices are distinct from the set of data storage servers;
- store, on the one or more computing devices, volume metadata associated with the treatment applied to the volume;
- cause access to the volume by the first virtual machine instance to be revoked;
- in response to detecting that the volume metadata stored on the one or more computing devices is unavailable,
- cause transmission, from a data storage server of the set of data storage servers to a compute server hosting the second virtual machine, of the key-value data indicating the treatment applied to the volume, and
- cause access to the volume by the second virtual machine instance to be invoked, wherein the invocation of access to the volume by the second virtual machine instance enables application of the treatment indicated by the key value data to the volume.
A system comprising:
- a set of data storage servers having stored thereon the volume of data, wherein particular data storage servers of the set of data storage server include a memory configured to store key-value data associated with input/output operations performed on the volume by the first virtual machine instance;
- and
- a set of control plane servers in communication with the set of data storage servers, wherein the set of control plane servers is distinct from the set of data storage servers, and wherein the set of control plane servers are configured to at least:
- store, on the set of control plane servers, volume metadata associated with input/output operations performed on the volume;
- receive a request to migrate access to the volume from a first virtual machine instance hosted in a set of computing servers to a second virtual machine instance hosted in the set of computing servers;
- instruct detachment of the volume from the first virtual machine instance;
- and
- in response to detecting that the volume metadata stored within the set of control plane servers is unavailable,
- instruct transmission, from a data storage server of the set of data storage servers to a computing server of the set of computing servers hosting the second virtual machine instance, of the key-value data associated with input/output operations performed on the volume by the first virtual machine instance, and
- instruct attachment of the volume to the second virtual machine instance, wherein the attachment of the volume to the second virtual machine instance enables the computing server of the set of computing servers hosting the second virtual machine instance to throttle access to the volume based at least on the key-value data.
Dependencies are inferred from the claim text.