Scaling computing clusters in a distributed computing system
First Claim
Patent Images
1. A system, comprising:
- a plurality of computing devices configured to implement;
a current cluster having a plurality of nodes storing cluster data, wherein each node comprises a respective at least one storage device that stores a respective portion of the cluster data, wherein the current cluster receives access requests for the cluster data at a network endpoint for the current cluster; and
a cluster control interface configured to;
receive a cluster scaling request for the current cluster, wherein said cluster scaling request indicates a change in a number or type of the plurality of nodes in the current cluster;
in response to receiving the cluster scaling request;
create a new cluster having a plurality of nodes as indicated in the cluster scaling request, wherein the new cluster comprises the change in the number or type of the plurality of nodes from the current cluster; and
initiate a copy of the cluster data from the plurality of nodes of the current cluster to the plurality of nodes in the new cluster, wherein after completion of the copy of a respective portion of the cluster data from one of the plurality of nodes of the current cluster and before completion of the copy of another respective portion of the cluster data from another one of the plurality of nodes of the current cluster, the current cluster continues to respond to all read requests directed to the network endpoint for the current cluster including a read request directed to the respective portion that has already been copied to the new cluster; and
subsequent to completion of the copy of the cluster data to the plurality of nodes in the new cluster;
move the network endpoint for the current cluster to the new cluster, wherein after the network endpoint is moved, access requests directed to the network endpoint are sent to the new cluster; and
disable the current cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
A currently operating computing cluster that has multiple nodes storing cluster data may be scaled. A cluster scaling request may be received for the current cluster indicating a change in a number or type of nodes in the current cluster. In response to receiving the cluster scaling request, a new cluster may be created as indicated in the cluster scaling request, a copy of the cluster data from the current cluster to the nodes in the new cluster may be initiated, a network endpoint for the current cluster may be moved to the new cluster, and the current cluster may be disabled. The current cluster may, in some embodiments, respond to read access requests during the copy of the cluster data.
-
Citations
20 Claims
-
1. A system, comprising:
-
a plurality of computing devices configured to implement; a current cluster having a plurality of nodes storing cluster data, wherein each node comprises a respective at least one storage device that stores a respective portion of the cluster data, wherein the current cluster receives access requests for the cluster data at a network endpoint for the current cluster; and a cluster control interface configured to; receive a cluster scaling request for the current cluster, wherein said cluster scaling request indicates a change in a number or type of the plurality of nodes in the current cluster; in response to receiving the cluster scaling request; create a new cluster having a plurality of nodes as indicated in the cluster scaling request, wherein the new cluster comprises the change in the number or type of the plurality of nodes from the current cluster; and initiate a copy of the cluster data from the plurality of nodes of the current cluster to the plurality of nodes in the new cluster, wherein after completion of the copy of a respective portion of the cluster data from one of the plurality of nodes of the current cluster and before completion of the copy of another respective portion of the cluster data from another one of the plurality of nodes of the current cluster, the current cluster continues to respond to all read requests directed to the network endpoint for the current cluster including a read request directed to the respective portion that has already been copied to the new cluster; and subsequent to completion of the copy of the cluster data to the plurality of nodes in the new cluster;
move the network endpoint for the current cluster to the new cluster, wherein after the network endpoint is moved, access requests directed to the network endpoint are sent to the new cluster; anddisable the current cluster. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
-
performing, by a plurality of computing devices; detecting a cluster scaling event for a current cluster having a plurality of nodes storing cluster data, wherein each node comprises a respective at least one storage device that stores a respective portion of the cluster data, wherein the current cluster receives access requests for the cluster data at a network endpoint for the current cluster; in response to detecting the cluster scaling event; determining a change in the number or type of nodes of the current cluster based on the cluster scaling event; creating a new cluster having a plurality of nodes as indicated by the change in the number or type of the plurality of nodes of the current cluster; initiating a copy of the cluster data from the plurality of nodes of the current cluster to the plurality of nodes in the new cluster, wherein after completion of the copy of a respective portion of the cluster data from one of the plurality of nodes of the current cluster and before completion of the copy of another respective portion of the cluster data from another one of the plurality of nodes of the current cluster, the current cluster continues to respond to all read requests directed to the network endpoint for the current cluster including a read request directed to the respective portion that has already been copied to the new cluster; and moving the network endpoint for the current cluster to the new cluster when the copy of the cluster data to the new cluster is complete, wherein after the network endpoint is moved, access requests directed to the network endpoint are sent to the new cluster. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory, computer-readable storage medium, storing program instructions that when executed by a plurality of computing devices cause the plurality of computing devices to implement:
-
detecting a cluster scaling event for a current cluster having a plurality of nodes storing cluster data, wherein each node comprises a respective at least one storage device that stores a respective portion of the cluster data, and wherein the current cluster receives access requests for the cluster data at a network endpoint for the current cluster; in response to detecting the cluster scaling event; directing the current cluster to operate in read-only mode; determining a change in the number or type of the plurality of nodes of the current cluster based on the cluster scaling event; creating a new cluster having a plurality of nodes as indicated by the change in the number or type of the plurality of nodes of the current cluster; initiating a copy of the cluster data from the plurality of nodes of the current cluster to the plurality of nodes in the new cluster, wherein after completion of the copy of a respective portion of the cluster data from one of the plurality of nodes of the current cluster and before completion of the copy of another respective portion of the cluster data from another one of the plurality of nodes of the current cluster, the current cluster continues to respond to all read requests directed to the network endpoint for the current cluster including a read request directed to the respective portion that is copied to the new cluster; and subsequent to completion of the copy of the cluster data to the plurality of nodes in the new cluster, moving the network endpoint for the current cluster to the new cluster, wherein after the network endpoint is moved, access requests directed to the network endpoint are sent to the new cluster. - View Dependent Claims (17, 18, 19, 20)
-
Specification