Inzicht in cluster- en poolquorum

Van toepassing op: Azure Stack HCI, versies 21H2 en 20H2; Windows Server 2022, Windows Server 2019

Windows failoverclustering van servers biedt hoge beschikbaarheid voor workloads die worden uitgevoerd op Azure Stack HCI en Windows Server-clusters. Deze resources worden als maximaal beschikbaar beschouwd als de knooppunten die als host voor resources worden gebruikt; Het cluster vereist echter over het algemeen dat meer dan de helft van de knooppunten worden uitgevoerd. Dit wordt quorum genoemd.

Quorum is ontworpen om split-brain scenario's te voorkomen die kunnen plaatsvinden wanneer er een partitie in het netwerk is en subsets van knooppunten niet met elkaar kunnen communiceren. Dit kan ertoe leiden dat beide subsets van knooppunten proberen de werkbelasting in bezit te krijgen en naar dezelfde schijf te schrijven, wat kan leiden tot talloze problemen. Dit wordt echter voorkomen met het quorumconcept van failoverclustering, waardoor slechts één van deze groepen knooppunten actief blijft, zodat slechts één van deze groepen online blijft.

Quorum bepaalt het aantal fouten dat het cluster kan ondersteunen terwijl het nog steeds online blijft. Quorum is ontworpen om het scenario af te handelen wanneer er een probleem is met de communicatie tussen subsets van clusterknooppunten, zodat meerdere servers niet tegelijkertijd proberen een resourcegroep te hosten en naar dezelfde schijf te schrijven. Door dit concept van quorum te gebruiken, wordt de clusterservice gedwongen te stoppen in een van de subsets van knooppunten om ervoor te zorgen dat er slechts één echte eigenaar van een bepaalde resourcegroep is. Zodra knooppunten die zijn gestopt, opnieuw kunnen communiceren met de hoofdgroep van knooppunten, worden ze automatisch opnieuw aan het cluster verbonden en wordt de clusterservice start.

In Azure Stack HCI en Windows Server 2019 zijn er twee onderdelen van het systeem die hun eigen quorummechanismen hebben:

  • Clusterquorum:dit werkt op clusterniveau (u kunt knooppunten verliezen en het cluster actief laten blijven)
  • Poolquorum:dit werkt op poolniveau (dat wil zeggen dat u knooppunten en stations kunt verliezen en de pool actief kunt laten blijven). Storage-pools zijn ontworpen voor gebruik in zowel geclusterde als niet-geclusterde scenario's. Daarom hebben ze een ander quorummechanisme.

Overzicht van clusterquorum

In de onderstaande tabel vindt u een overzicht van de quorumresultaten per scenario van het cluster:

Serverknooppunten Kan één server-knooppuntfout overleven Kan een server-knooppuntfout overleven, dan een ander Kan twee gelijktijdige server-knooppuntfouten overleven
2 50/50 Nee Nee
2 + Witness Ja Nee Nee
3 Ja 50/50 No
3 + Witness Ja Ja Nee
4 Ja Ja 50/50
4 + Witness Ja Ja Ja
5 en hoger Ja Ja Ja

Aanbevelingen voor clusterquorum

  • Als u twee knooppunten hebt, is een witness vereist.
  • Als u drie of vier knooppunten hebt, wordt witness sterk aanbevolen.
  • Als u internettoegang hebt, gebruikt u een cloud-witness
  • Als u zich in een IT-omgeving met andere machines en bestands shares, gebruikt u een bestandsdeel witness

Hoe clusterquorum werkt

Wanneer knooppunten mislukken of wanneer een subset van knooppunten het contact met een andere subset verliest, moeten overblijvende knooppunten controleren of ze het merendeel van het cluster vormen om online te blijven. Als ze dat niet kunnen controleren, gaan ze offline.

Maar het concept van de meerderheid werkt alleen netjes als het totale aantal knooppunten in het cluster oneven is (bijvoorbeeld drie knooppunten in een cluster met vijf knooppunten). Hoe zit het met clusters met een even aantal knooppunten (bijvoorbeeld een cluster met vier knooppunten)?

Er zijn twee manieren waarop het cluster het totale aantal stemmen oneven kan maken:

  1. Ten eerste kan deze omhoog gaan door een witness met een extra stem toe te voegen. Hiervoor moet de gebruiker worden ingesteld.
  2. Of het kan één keer omlaag gaan door de stem van één niet-aaneenig knooppunt op nul te zetten (gebeurt automatisch naar behoefte).

Wanneer overlevende knooppunten met succes controleren of ze de meerderheid zijn,wordt de definitie van de meerderheid bijgewerkt zodat alleen de overlevers deel uit kunnen maken van de overlevers. Hierdoor kan het cluster één knooppunt verliezen, dan een ander, dan een ander, enzovoort. Dit concept van het totale aantal stemmen dat na opeenvolgende fouten wordt aangepast, wordt dynamisch quorum genoemd.

Dynamische witness

Dynamische witness schakelt de stem van de witness om ervoor te zorgen dat het totale aantal stemmen oneven is. Als er een oneven aantal stemmen is, heeft de witness geen stem. Als er een even aantal stemmen is, heeft de witness een stem. Dynamische witness vermindert het risico dat het cluster uitvallen vanwege een witness-fout. Het cluster bepaalt of de witness-stem moet worden gebruikt op basis van het aantal stemknooppunten dat beschikbaar is in het cluster.

Dynamisch quorum werkt met dynamische witness op de manier die hieronder wordt beschreven.

Dynamisch quorumgedrag

  • Als u een even aantal knooppunten en geen witness hebt, krijgt één knooppunt de stem met nul. Zo krijgen bijvoorbeeld slechts drie van de vier knooppunten stemmen, waardoor het totale aantal stemmen drie is en twee overlevers met stemmen als een meerderheid worden beschouwd.
  • Als u een oneven aantal knooppunten en geen witness hebt, krijgen ze allemaal stemmen.
  • Als u een even aantal knooppunten plus witness hebt, stemmen de witness enis het totaal dus oneven.
  • Als u een oneven aantal knooppunten plus witness hebt, stemt de witness niet.

Met dynamisch quorum kunt u dynamisch een stem toewijzen aan een knooppunt om te voorkomen dat het merendeel van de stemmen verloren gaat en het cluster kan worden uitgevoerd met één knooppunt (ook wel 'last-man standing' genoemd). We nemen een cluster met vier knooppunt als voorbeeld. Stel dat quorum 3 stemmen vereist.

In dit geval zou het cluster zijn uitgegaan als u twee knooppunten bent kwijtgeraakt.

Diagram met vier clusterknooppunten, die elk een stem krijgen

Dynamisch quorum voorkomt echter dat dit gebeurt. Het totale aantal vereiste stemmen voor quorum wordt nu bepaald op basis van het aantal beschikbare knooppunten. Met dynamisch quorum blijft het cluster dus up, zelfs als u drie knooppunten verliest.

Diagram met vier clusterknooppunten, met knooppunten die één voor één mislukken en het aantal vereiste stemmen dat na elke fout wordt aangepast.

Het bovenstaande scenario is van toepassing op een algemeen cluster Opslagruimten Direct is ingeschakeld. Wanneer direct Opslagruimten is ingeschakeld, kan het cluster echter alleen twee knooppuntfouten ondersteunen. Dit wordt uitgelegd in de sectie quorum van de pool.

Voorbeelden

Twee knooppunten zonder witness

De stem van één knooppunt is nul, dus de meerderheid van stemmen wordt bepaald op basis van een totaal van 1 stem. Als het niet-stemmende knooppunt onverwacht uitgaat, heeft het cluster 1/1 en blijft het cluster bestaan. Als het stemknooppunt onverwacht uitgaat, heeft het knooppunt 0/1 en gaat het cluster uit. Als het stemknooppunt probleemloos wordt uitgeschakeld, wordt de stem overgedragen naar het andere knooppunt en blijft het cluster bestaan. Daarom is het essentieel om een witness te configureren.

Quorum uitgelegd in het geval van twee knooppunten zonder witness

  • Kan één serverfout overleven: 1 procent kans.
  • Kan de ene serverfout overleven, dan de andere: Nee.
  • Kan twee serverfouten in één keer overleven: Nee.

Twee knooppunten met een witness

Beide knooppunten stemmen, plus de witness-stemmen, zodat de meerderheid wordt bepaald uit een totaal van 3 stemmen. Als een van beide knooppunt uitgaat, heeft het cluster 2/3 en overleeft het cluster.

Quorum uitgelegd in het geval van twee knooppunten met een witness

  • Kan één serverfout overleven: Ja.
  • Kan de ene serverfout overleven, dan de andere: Nee.
  • Kan twee serverfouten in één keer overleven: Nee.

Drie knooppunten zonder een witness

Alle knooppunten stemmen, zodat de meerderheid wordt bepaald uit een totaal van 3 stemmen. Als er een knooppunt uitgaat, zijn de overlevers 2/3 en overleeft het cluster. Het cluster wordt twee knooppunten zonder witness. Op dat moment maakt u gebruik van scenario 1.

Quorum uitgelegd in het geval van drie knooppunten zonder witness

  • Kan één serverfout overleven: Ja.
  • Kan de ene serverfout overleven en vervolgens een andere: Kans op 5%.
  • Kan twee serverfouten in één keer overleven: Nee.

Drie knooppunten met een witness

Alle knooppunten stemmen, zodat de witness in eerste instantie niet stemt. De meerderheid wordt bepaald uit een totaal van 3 stemmen. Na één fout heeft het cluster twee knooppunten met een witness, die terug is naar scenario 2. Nu stemmen de twee knooppunten en de witness.

Quorum uitgelegd in het geval van drie knooppunten met een witness

  • Kan één serverfout overleven: Ja.
  • Kan een serverfout overleven en vervolgens een andere: Ja.
  • Kan twee serverfouten in één keer overleven: Nee.

Vier knooppunten zonder een witness

De stem van één knooppunt is nul, zodat de meerderheid wordt bepaald uit een totaal van 3 stemmen. Na één fout wordt het cluster drie knooppunten en bent u in scenario 3.

Quorum uitgelegd in het geval van vier knooppunten zonder witness

  • Kan één serverfout overleven: Ja.
  • Kan een serverfout overleven en vervolgens een andere: Ja.
  • Kan twee serverfouten in één keer overleven: 5 procent kans.

Vier knooppunten met een witness

Alle knooppunten stemmen en de witness-stemmen, zodat de meerderheid wordt bepaald uit een totaal van 5 stemmen. Na één fout bent u in scenario 4. Na twee gelijktijdige fouten gaat u verder met scenario 2.

Quorum uitgelegd in het geval van vier knooppunten met een witness

  • Kan één serverfout overleven: Ja.
  • Kan een serverfout overleven en vervolgens een andere: Ja.
  • Kan twee serverfouten in één keer overleven: Ja.

Vijf knooppunten en meer

Alle knooppunten stemmen, of op één stem na, wat het totaal oneven maakt. Opslagruimten Direct kan toch niet meer dan twee knooppunten in de weg verwerken, dus op dit moment is er geen witness nodig of nuttig.

Quorum uitgelegd in het geval van vijf knooppunten en meer

  • Kan één serverfout overleven: Ja.
  • Kan een serverfout overleven en vervolgens een andere: Ja.
  • Kan twee serverfouten in één keer overleven: Ja.

Nu we begrijpen hoe quorum werkt, gaan we kijken naar de typen quorum-10.000.

Typen quorumwit witness

Failoverclustering ondersteunt drie typen Quorum-quorum:

  • Cloud witness: blobopslag in Azure die toegankelijk is voor alle knooppunten van het cluster. Het onderhoudt clusteringgegevens in een witness.log-bestand, maar er wordt geen kopie van de clusterdatabase opgeslagen.
  • Bestandsdeel witness: een SMB-bestands share die is geconfigureerd op een bestandsserver met Windows Server. Het onderhoudt clusteringgegevens in een witness.log-bestand, maar er wordt geen kopie van de clusterdatabase opgeslagen.
  • Schijf witness- een kleine geclusterde schijf die zich in de cluster beschikbaar Storage groep. Deze schijf is zeer beschikbaar en kan failover tussen knooppunten maken. Deze bevat een kopie van de clusterdatabase. Een schijf-witness wordt niet ondersteund met Opslagruimten Direct.

Overzicht van poolquorum

We hebben het zojuist gehad over clusterquorum, dat op clusterniveau werkt. Nu gaan we dieper in op het quorum van de pool, dat op poolniveau werkt (dat wil zeggen dat u knooppunten en stations kunt verliezen en dat de pool actief blijft). Storage-pools zijn ontworpen voor gebruik in zowel geclusterde als niet-geclusterde scenario's. Daarom hebben ze een ander quorummechanisme.

In de onderstaande tabel vindt u een overzicht van de quorumresultaten van de pool per scenario:

Serverknooppunten Kan één server-knooppuntfout overleven Kan de storing van het ene server-knooppunt overleven, dan een ander Kan twee gelijktijdige server-knooppuntfouten overleven
2 Nee Nee Nee
2 + Witness Ja Nee Nee
3 Ja Nee Nee
3 + Witness Ja Nee Nee
4 Ja Nee Nee
4 + Witness Ja Ja Ja
5 en hoger Ja Ja Ja

Hoe poolquorum werkt

Wanneer stations uitvallen of wanneer een deel van de stations geen contact meer heeft met een andere subset, moeten bestaande stations controleren of ze het merendeel van de groep vormen om online te blijven. Als ze dat niet kunnen controleren, gaan ze offline. De pool is de entiteit die offline gaat of online blijft op basis van of deze voldoende schijven voor quorum heeft (50% + 1). De resource-eigenaar van de pool (actief clusterknooppunt) kan +1 zijn.

Maar poolquorum werkt op de volgende manieren anders dan het clusterquorum:

  • de pool gebruikt één knooppunt in het cluster als een witness als een tie-breaker om de helft van de stations te overleven die zijn verdwenen (dit knooppunt is de resource-eigenaar van de pool)
  • de pool heeft GEEN dynamisch quorum
  • de pool implementeert GEEN eigen versie van het verwijderen van een stem

Voorbeelden

Vier knooppunten met een symmetrische indeling

Elk van de 16 stations heeft één stem en knooppunt twee heeft ook één stem (omdat het de resource-eigenaar van de pool is). De meerderheid wordt bepaald uit een totaal van 16 stemmen. Als knooppunten drie en vier naar beneden gaan, heeft de overlevende subset 8 stations en heeft de resource-eigenaar van de pool 9/16 stemmen. De pool overleeft dus.

Poolquorum 1

  • Kan één serverfout overleven: Ja.
  • Kan een serverfout overleven en vervolgens een andere: Ja.
  • Kan twee serverfouten in één keer overleven: Ja.

Vier knooppunten met een symmetrische indeling en schijffout

Elk van de 16 stations heeft één stem en knooppunt 2 heeft ook één stem (omdat het de resource-eigenaar van de pool is). De meerderheid wordt bepaald uit een totaal van 16 stemmen. Eerst gaat station 7 uit. Als knooppunten drie en vier naar beneden gaan, heeft de overlevende subset 7 stations en heeft de resource-eigenaar van de pool 8/16 stemmen. De pool heeft dus geen meerderheid en gaat uit.

Poolquorum 2

  • Kan één serverfout overleven: Ja.
  • Kan de ene serverfout overleven, dan de andere: Nee.
  • Kan twee serverfouten in één keer overleven: Nee.

Vier knooppunten met een niet-symmetrische indeling

Elk van de 24 stations heeft één stem en knooppunt twee heeft ook één stem (omdat het de resource-eigenaar van de pool is). De meerderheid wordt bepaald uit een totaal van 24 stemmen. Als knooppunten drie en vier naar beneden gaan, heeft de overlevende subset 8 stations en heeft de resource-eigenaar van de pool 9/24 stemmen. De pool heeft dus geen meerderheid en gaat uit.

Poolquorum 3

  • Kan één serverfout overleven: Ja.
  • Kan een serverfout overleven en vervolgens een andere: Afhankelijk (kan niet overleven als beide knooppunten drie en vier uitvallen, maar alle andere scenario's kunnen overleven.
  • Kan twee serverfouten tegelijk overleven: Afhankelijk van (kan niet overleven als beide knooppunten drie en vier uitvallen, maar alle andere scenario's kunnen overleven.

Aanbevelingen voor poolquorum

  • Zorg ervoor dat elk knooppunt in uw cluster symmetrisch is (elk knooppunt heeft hetzelfde aantal stations)
  • Schakel mirror in drie of dubbele pariteit in, zodat u een knooppuntfouten kunt tolereren en de virtuele schijven online kunt houden.
  • Als meer dan twee knooppunten niet beschikbaar zijn, of als twee knooppunten en een schijf op een ander knooppunt niet beschikbaar zijn, hebben volumes mogelijk geen toegang tot alle drie kopieën van hun gegevens en worden ze daarom offline gehaald en niet beschikbaar. Het is raadzaam om de servers snel terug te brengen of de schijven te vervangen om te zorgen voor de meeste tolerantie voor alle gegevens in het volume.

Volgende stappen

Raadpleeg de volgende artikelen voor meer informatie: