Stateful membership management for storage systems replicating a dataset
Managing storage systems that are synchronously replicating a dataset, including: detecting a change in membership to the set of storage systems synchronously replicating the dataset; and applying one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset, wherein the one or more membership protocols include a quorum protocol, an external management protocol, or a racing protocol, and wherein one or more I/O operations directed to the dataset are applied to a new set of storage systems.
1 . A method comprising:
detecting, by a storage system of a set of storage systems replicating a dataset, a change in membership to the set of storage systems, wherein the set of storage systems use a first storage system membership mechanism to determine membership in the set of storage systems; and
participating, by the storage system, in a stateful transition from the first storage system membership mechanism to a second storage system membership mechanism that is used to determine a new set of storage systems to replicate the dataset.
2 . The method of claim 1 , further comprising:
receiving, by a first storage system of the set of storage systems, a request to detach a second storage system from the set of storage systems; and
in response to the request, determining, using a quorum protocol, whether a majority of votes exists within the set of storage systems to exclude the second storage system; and
detaching the second storage system based on the determination.
3 . The method of claim 2 , further comprising:
using a preference model in combination with the quorum protocol, wherein the preference model specifies whether a particular storage system has votes to detach another storage system based on a determination of connectivity between the particular storage system and a larger storage system.
4 . The method of claim 2 , further comprising:
using a mediation model in combination with the quorum protocol, wherein the mediation model specifies whether to use a mediation service based on a number of storage systems within the set of storage systems that remains after application of the quorum protocol.
5 . The method of claim 1 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations.
6 . The method of claim 1 further comprising:
identifying a set of storage systems that are synchronously replicating a dataset.
7 . The method of claim 2 , wherein each storage system in a pod corresponds to a respective quantity of votes and the quorum protocol specifies that a majority of votes from a subset of the set of storage systems is required for the subset of the set of storage systems to detach a storage system that is not a member of the subset of the set of storage systems.
8 . The method of claim 1 , further comprising:
receiving one or more I/O operations from a host computer at one or more of the new set of storage systems.
9 . An apparatus comprising:
a memory;
a processing device operably coupled to the memory, configured to:
detect, by a storage system of a set of storage systems replicating a dataset, a change in membership to the set of storage systems, wherein the set of storage systems use a first storage system membership mechanism to determine membership in the set of storage systems; and
participate, by the storage system, in a stateful transition from the first storage system membership mechanism to a second storage system membership mechanism that is used to determine a new set of storage systems to replicate the dataset.
10 . The apparatus of claim 9 , wherein the processing device is further configured to:
receive, by a first storage system of the set of storage systems, a request to detach a second storage system from the set of storage systems; and
in response to the request, determine, using a quorum protocol, whether a majority of votes exists within the set of storage systems to exclude the second storage system; and
detach the second storage system based on the determination.
11 . The apparatus of claim 10 , wherein the processing device is further configured to:
use a preference model in combination with the quorum protocol, wherein the preference model specifies whether a particular storage system has votes to detach another storage system based on a determination of connectivity between the particular storage system and a larger storage system.
12 . The apparatus of claim 10 , wherein the processing device is further configured to:
use a mediation model in combination with the quorum protocol, wherein the mediation model specifies whether to use a mediation service based on a number of storage systems within the set of storage systems that remains after application of the quorum protocol.
13 . The apparatus of claim 9 , wherein the set of storage systems synchronously replicating a dataset are included in a membership list of in-sync members of a pod that is respectively stored on each of the set of storage systems, and wherein the pod comprises a management entity representing the dataset, a set of managed objects, and a set of management operations.
14 . The apparatus of claim 9 , wherein the processing device is further configured to:
identify a set of storage systems that are synchronously replicating a dataset.
15 . The apparatus of claim 10 , wherein each storage system in a pod corresponds to a respective quantity of votes and the quorum protocol specifies that a majority of votes from a subset of the set of storage systems is required for the subset of the set of storage systems to detach a storage system that is not a member of the subset of the set of storage systems.
16 . The apparatus of claim 9 , wherein the processing device is further configured to:
receive one or more I/O operations from a host computer at one or more of the new set of storage systems.
17 . A non-transitory computer readable storage medium storing instructions that, when executed, cause a processing device to:
detect, by a storage system of a set of storage systems replicating a dataset, a change in membership to the set of storage systems, wherein the set of storage systems use a first storage system membership mechanism to determine membership in the set of storage systems; and
participate, by the storage system, in a stateful transition from the first storage system membership mechanism to a second storage system membership mechanism that is used to determine a new set of storage systems to replicate the dataset.
18 . The non-transitory computer readable storage medium of claim 17 , wherein the processing device is further configured to:
receive, by a first storage system of the set of storage systems, a request to detach a second storage system from the set of storage systems; and
in response to the request, determine, using a quorum protocol, whether a majority of votes exists within the set of storage systems to exclude the second storage system; and
detach the second storage system based on the determination.
19 . The non-transitory computer readable storage medium of claim 18 , wherein the processing device is further configured to:
use a preference model in combination with the quorum protocol, wherein the preference model specifies whether a particular storage system has votes to detach another storage system based on a determination of connectivity between the particular storage system and a larger storage system.
20 . The non-transitory computer readable storage medium of claim 18 , wherein the processing device is further configured to:
use a mediation model in combination with the quorum protocol, wherein the mediation model specifies whether to use a mediation service based on a number of storage systems within the set of storage systems that remains after application of the quorum protocol.