Hva er quorum I en pacemaker-klynge (Understanding Quorum Operations))

Hva er quorum?

for at en klynge skal fungere som forventet, må nodene være enige om visse fakta, for eksempel hvilke maskiner som for øyeblikket er klyngemedlemmer, hvor tjenester kjører og hvilke maskiner som bruker hvilke ressurser.

metoden som Dette implementeres I Red Hat High Availability Add-on er ved bruk av en flertallsvalgordning. Hver klyngenode gir en stemme hvis den blir med i corosync-nettverkskommunikasjonen og er i stand til å kommunisere med de andre nodene som allerede deltar i klyngen.

klyngen er operativ hvis mer enn halvparten av alle mulige stemmer er avgitt. Minimum antall stemmer som trengs for å oppnå mer enn halvparten av stemmene kalles quorum. Hvis quorum oppnås, anses klyngen som quorate. En klynge mister quorum hvis halvparten av nodene eller mer ikke kan kommunisere med hverandre.

når en klynge kommer i gang, prøver alle klyngenoder å kommunisere med hverandre og sikte på å oppnå quorum. Så snart et flertall er dannet, er det en kvoratklynge. Alle andre noder som ikke har sluttet seg til quorate-klyngen, blir inngjerdet av en node som har quorum. Hvis en node som er en del av quorate-klyngen ikke er i stand til å kommunisere med klyngen lenger, blir noden inngjerdet.

hvorfor kreves quorumsberegning?

Quorum kreves i situasjoner der noen noder i en klynge ikke kan kommunisere med visse andre noder. Illustrasjonen nedenfor viser en klynge med fem noder som består av noder A, B, c, D og E med en tjeneste som bruker et ext4-filsystem på delt lagring. Denne tjenesten kjører for øyeblikket på node A.

nodene D og Eget deles av fra det viktigste private nettverket og kan ikke kommunisere Med nodene A, B Og c. Uten quorum vil de to nodene bestemme At A, B og C alle har mislyktes og må være inngjerdet (eksternt slått av) slik at ressursene kan gjenopprettes. På denne måten fungerer quorum som en viktig port før inngjerding.

hvis klyngen var uten inngjerdingsenhet, ville nodene D og E umiddelbart begynne å utvinne ressurser, noe som resulterte i at det samme ext4-filsystemet ble montert på to steder samtidig, noe som ikke er en sunn situasjon. Denne situasjonen, hvor to halvdeler av en klynge opererer uavhengig av hverandre, refereres til som en delt hjerne.

Split-brain er en spesiell bekymring i to-node-klynger, siden hvis en av nodene mislykkes, består den andre noden ikke av et flertall av nodene i klyngen. Spesielle skritt må tas for å tillate to-node cluster drift og likevel unngå split-hjerne.»

Forutsatt at alle noder i dette eksemplet har en stemme, kan denne situasjonen ikke oppstå, siden node D Og node E bare har to stemmer sammen ,som ikke er mer enn halvparten av de totale stemmene (fem). Dette vil føre til at node D og node E slutter å fungere til minst en annen stemme ble lagt til. Noder A, B og c, derimot, forblir aktive å yte tjeneste, siden de har tre stemmer kombinert, noe som er mer enn halvparten av de totale stemmene.

Beregning av quorum

Quorum beregnes og administreres I Red Hat High Availability-Tillegget av corosync-komponenten votequorum. Votequorum-komponenten bruker to verdier til å beregne om klyngen er quorate:

  1. Forventede stemmer: antall stemmer som forventes dersom alle klyngenoder er fullt operative og kommuniserer med hverandre.
  2. totalt antall stemmer: antall stemmer for tiden tilstede. Dette kan være lavere enn antall forventede stemmer hvis noen noder ikke er oppe eller ikke kommuniserer med klyngen.

antall stemmer som kreves for å oppnå quorum er basert På Forventede Stemmer. Følgende formel viser hvor mange stemmer som kreves for quorum. I denne beregningen betyr gulv () å alltid rulle ned.

Quorum = floor(expected votes + 2 + 1)

Quorum beregning eksempel

i følgende eksempel antas en klynge med tre noder. En klynge med tre noder har Et Forventet Antall Stemmer på tre.

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

i klyngen med tre noder må det være minst to noder som kjører for å oppnå quorum.

i følgende eksempel antas en klynge med fire noder. En klynge med fire noder har Et Forventet Antall Stemmer på fire.

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

i klyngen med fire noder må det være minst tre noder som kjører for å oppnå quorum.

Viser quorum status

Red Hat High Availability Add-on gir et omfattende verktøy for å vise gjeldende tilstand av quorum i en klynge: corosync-quorumtool. Corosync-quorumtool gir en oversikt over quorum-relatert informasjon, For Eksempel Totale Stemmer og Forventede Stemmer, og viser om klyngen er quorate på et øyeblikk.

  1. Nodene-oppføringen gir nodetallet for nodene som tilhører klyngen.
  2. Node-ID-oppføringen viser IDEN til noden som corosync-quorumtool ble utført på.
  3. quorate-oppføringen viser om klyngen er quorate.
  4. den Forventede stemmeoppføringen viser antall stemmer som finnes hvis alle konfigurerte klyngemedlemmer er aktive i klyngen.
  5. Den Høyeste forventede oppføringen viser det største antallet forventede stemmer i klyngen.
  6. totalt antall stemmer viser antall stemmer som er til stede i klyngen.
  7. quorumsoppføringen viser hvor mange stemmer som må være til stede, slik at klyngen forblir quorate.
  8. Flagg-oppføringen viser alle quorum-relaterte egenskaper som er angitt i klyngen. Hvis klyngen er quorate, Vil Quorate-egenskapen vise. Andre spesielle funksjoner vil også vises i dette feltet når satt, Slik Som LastManstanding eller WaitForAll.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.