Wat is quorum in een pacemakercluster (Quorumbewerkingen begrijpen))

Wat is quorum?

om een cluster te laten werken zoals verwacht, moeten de knooppunten het eens zijn over bepaalde feiten, zoals welke machines momenteel lid zijn van een cluster, waar services draaien en welke machines welke bronnen gebruiken.

in de Red Hat High Availability Add-on wordt dit toegepast door gebruik te maken van een meerderheidsstelsel. Elk clusterknooppunt werpt één stem als het met succes toetreedt tot de Corosync-netwerkcommunicatie en in staat is om te communiceren met de andere knooppunten die al deelnemen aan het cluster.

het cluster is operationeel als meer dan de helft van alle mogelijke stemmen met succes is uitgebracht. Het minimum aantal stemmen dat nodig is om meer dan de helft van de stemmen te bereiken, wordt het quorum genoemd. Als quorum is bereikt, wordt het cluster als quorate beschouwd. Een cluster verliest quorum als de helft van de knooppunten of meer niet met elkaar kunnen communiceren.

wanneer een cluster wordt gestart, proberen alle clusterknooppunten met elkaar te communiceren en streven ze ernaar quorum te bereiken. Zodra een meerderheid is gevormd, is er een quorate cluster. Alle andere knooppunten die zich niet met succes bij het quorate-cluster hebben aangesloten, worden omheind door een knooppunt met quorum. Als een knooppunt dat deel uitmaakt van het quorate-cluster niet meer met het cluster kan communiceren, wordt het knooppunt omheind.

Waarom is een quorumberekening vereist?

Quorum is vereist in situaties waarin sommige knooppunten in een cluster niet kunnen communiceren met bepaalde andere knooppunten. De volgende afbeelding toont een cluster met vijf knooppunten bestaande uit knooppunten A, B, c, D en E met een service die een ext4-bestandssysteem op gedeelde opslag gebruikt. Deze dienst wordt momenteel uitgevoerd op node A.

de knooppunten D en Eget splitsen zich af van het belangrijkste particuliere netwerk en kunnen niet communiceren met de knooppunten A, B en c. zonder quorum zullen deze twee knooppunten beslissen dat A, B en C allemaal zijn mislukt en moeten worden omheind (op afstand uitgeschakeld) zodat hun middelen kunnen worden hersteld. Op deze manier fungeert quorum als een belangrijke poort voorafgaand aan het schermen.

als het cluster geen schermapparaat had, zouden nodes D en E onmiddellijk beginnen met het herstellen van bronnen, waardoor hetzelfde ext4-bestandssysteem op twee plaatsen tegelijk werd aangekoppeld, wat geen gezonde situatie is. Deze situatie, waarbij twee helften van een cluster onafhankelijk van elkaar werken, wordt aangeduid als een split-brain.

Split-brain is een bijzonder probleem in clusters met twee knooppunten, omdat als een van beide knooppunten faalt, de andere knooppunt niet uit een meerderheid van de knooppunten in het cluster bestaat. Speciale stappen moeten worden genomen om twee-knooppunt cluster operatie toe te staan en nog steeds te voorkomen split-brain.”

ervan uitgaande dat alle knooppunten in dit voorbeeld één stem hebben, kan deze situatie niet ontstaan, aangezien knooppunt D en knooppunt E slechts twee stemmen samen hebben, wat niet meer is dan de helft van de totale stemmen (vijf). Dit zou ertoe leiden dat knooppunt D en knooppunt E niet meer functioneren totdat ten minste één andere stem is toegevoegd. Knooppunten A, B en c, aan de andere kant, blijven actief verlenen van service, omdat ze drie stemmen gecombineerd, dat is meer dan de helft van de totale stemmen.

het berekenen van het quorum

het Quorum wordt berekend en beheerd in de Red Hat High Availability Add-on door de corosync-component votequorum. De votequorum component gebruikt twee waarden om te berekenen of het cluster quorate is:

  1. verwachte stemmen: het aantal stemmen dat wordt verwacht als alle clusterknooppunten volledig operationeel zijn en met elkaar communiceren.
  2. totaal aantal stemmen: het aantal aanwezige stemmen. Dit kan lager zijn dan het aantal verwachte stemmen als sommige knooppunten niet omhoog staan of niet communiceren met het cluster.

het aantal stemmen dat nodig is om het quorum te bereiken is gebaseerd op de verwachte stemmen. De volgende formule geeft aan hoeveel stemmen vereist zijn voor quorum. In deze berekening betekent floor() altijd naar beneden afronden.

Quorum = floor(expected votes + 2 + 1)

Quorumberekening voorbeeld

in het volgende voorbeeld wordt uitgegaan van een cluster met drie knooppunten. Een cluster met drie knooppunten heeft een verwachte telling van drie stemmen.

Quorum= floor(expected votes + 2 + 1)Quorum = floor(3 + 2 + 1) Quorum = floor(1.5 + 1) Quorum = floor(2.5) Quorum = 2 

In het cluster met drie knooppunten moeten er minimaal twee knooppunten actief zijn om het quorum te bereiken.

in het volgende voorbeeld wordt uitgegaan van een cluster met vier knooppunten. Een cluster met vier knooppunten heeft een verwachte telling van vier stemmen.

Quorum = floor(expected votes + 2 + 1} Quorum = floor(4 + 2 + 1) Quorum = floor(2 + 1} Quorum = floor(3) Quorum = 3

In het cluster met vier knooppunten moeten er minimaal drie knooppunten actief zijn om het quorum te bereiken.

quorumstatus weergeven

de Red Hat High Availability Add-on biedt een uitgebreid hulpprogramma om de huidige quorumstatus in een cluster weer te geven: corosync-quorumtool. De corosync-quorumtool geeft een overzicht van quorumgerelateerde informatie, zoals totale stemmen en verwachte stemmen, en laat in één oogopslag zien of het cluster quorate is.

  1. de knooppuntentelling geeft het aantal knooppunten van de knooppunten die tot het cluster behoren.
  2. de Node ID entry toont de ID van de node waarop corosync-quorumtool werd uitgevoerd.
  3. het Quorate-item geeft aan of het cluster quorate is.
  4. het item verwachte stemmen toont het aantal stemmen dat aanwezig is als alle geconfigureerde clusterleden actief zijn in het cluster.
  5. de hoogste verwachte vermelding toont het grootste aantal verwachte stemmen in het cluster.
  6. het totaal aantal stemmen toont het aantal stemmen dat momenteel in het cluster aanwezig is.
  7. het Quorum geeft aan hoeveel stemmen minimaal aanwezig moeten zijn, zodat het cluster quorate blijft.
  8. de Flags-ingang toont alle quorumgerelateerde eigenschappen die momenteel zijn ingesteld op het cluster. Als het cluster quorate is, wordt de quorate-eigenschap weergegeven. Extra speciale functies worden ook weergegeven in dit veld wanneer ingesteld, zoals LastManstanding of WaitForAll.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.