×

Scaling stateful clusters while maintaining access

  • US 10,216,770 B1
  • Filed: 10/31/2014
  • Issued: 02/26/2019
  • Est. Priority Date: 10/31/2014
  • Status: Active Grant
First Claim
Patent Images

1. A distributed storage system, comprising:

  • a first plurality of storage nodes implemented via respective processors and memory that together implement a storage cluster that stores data for a client, wherein the data is segmented across the plurality of storage nodes;

    a control plane for the distributed storage system, implemented via one or more processors and memory to;

    detect a scaling event for the storage cluster;

    in response to the detection of the scaling event;

    adjust the storage cluster to include an adjusted number of storage nodes that is different than the first plurality of storage nodes according to the scaling event;

    provide an indication of the scaling event to a leader node for the storage cluster;

    the leader node for the storage cluster, implemented via one or more processors and memory to;

    receive the indication of the scaling event;

    in response to the receipt of the scaling event,logically reassign responsibility for processing access requests for the data across the adjusted number of storage nodes in the adjusted storage cluster according to a monotone distribution scheme before the data is moved to the adjusted number of storage nodes;

    at least one of the adjusted number of storage nodes in the adjusted storage cluster to physically redistribute the data, comprising;

    obtain, in response to receipt of an access request distributed according to the logically reassigned responsibility, a portion of data from at least one of the first plurality of storage nodes that maintains a segment of the data in order to process the access request; and

    store the obtained portion of the data;

    the adjusted storage cluster to process access requests for the data at the number of storage nodes in the adjusted storage cluster according to the monotone distribution scheme, wherein prior to making the adjusted storage cluster available, the plurality of storage nodes are available to process other access requests for the data as segmented across the plurality of storage nodes.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×