Hvad er kvorum i en pacemakerklynge (forståelse af Kvorumoperationer)

Hvad er kvorum?

for at en klynge skal fungere som forventet, skal knudepunkterne være enige om visse fakta, såsom hvilke maskiner der i øjeblikket er klyngemedlemmer, hvor tjenester kører, og hvilke maskiner der bruger hvilke ressourcer.

metoden, hvor dette implementeres i Red Hat High Availability-tilføjelsen, er ved brug af en flertalsafstemningsordning. Hver klyngeknude afgiver en stemme, hvis den med succes slutter sig til corosync-netværkskommunikationen og er i stand til at kommunikere med de andre noder, der allerede deltager i klyngen.

klyngen er operationel, hvis mere end halvdelen af alle mulige stemmer er afgivet. Det mindste antal stemmer, der kræves for at opnå mere end halvdelen af stemmerne, kaldes beslutningsdygtigt. Hvis kvorum opnås, betragtes klyngen som kvorat. En klynge mister kvorum, hvis halvdelen af knudepunkterne eller mere ikke kan kommunikere med hinanden.

når en klynge kommer i gang, prøver alle klyngenoder at kommunikere med hinanden og sigter mod at opnå beslutningsdygtighed. Så snart et flertal er dannet, er der en kvoratklynge. Alle andre noder, der ikke har tilsluttet sig kvoratklyngen, bliver indhegnet af en knude, der har beslutningsdygtighed. Hvis en node, der er en del af kvoratklyngen, ikke længere er i stand til at kommunikere med klyngen, bliver noden indhegnet.

hvorfor kræves kvorumsberegning?

kvorum er påkrævet i situationer, hvor nogle noder i en klynge ikke kan kommunikere med visse andre noder. Følgende illustration viser en klynge med fem knudepunkter bestående af knudepunkter A, B, c, D og E med en tjeneste, der bruger et ekst4-filsystem på delt lager. Denne tjeneste kører i øjeblikket på node A.

knudepunkterne D og Eget splittes fra det vigtigste private netværk og kan ikke kommunikere med knudepunkterne A, B og c. uden beslutningsdygtighed vil disse to knudepunkter beslutte, at A, B og C alle er mislykkedes og skal indhegnes (eksternt slukket), så deres ressourcer kan gendannes. På denne måde fungerer kvorum som en vigtig Port inden hegn.

hvis klyngen skulle være uden en hegnenhed, ville knudepunkter D og E straks begynde at gendanne ressourcer, hvilket resulterede i, at det samme ekst4-filsystem blev monteret to steder på en gang, hvilket ikke er en sund situation. Denne situation, hvor to halvdele af en klynge opererer uafhængigt af hinanden, kaldes en split-hjerne.

Split-brain er en særlig bekymring i to-knudeklynger, da hvis en af knuderne fejler, består den anden knude ikke af et flertal af knudepunkterne i klyngen. Særlige skridt skal tages for at tillade to-node klynge operation og stadig undgå split-hjerne.”

forudsat at alle noder i dette eksempel har en stemme, kan denne situation ikke opstå, da node D og node E kun har to stemmer sammen, hvilket ikke er mere end halvdelen af de samlede stemmer (fem). Dette ville resultere i, at node D og node E ophører med at fungere, indtil mindst en anden stemme blev tilføjet. Noder A, B og c forbliver på den anden side aktive og leverer service, da de har tre stemmer kombineret, hvilket er mere end halvdelen af de samlede stemmer.

beregning af beslutningsdygtighed

beslutningsdygtighed beregnes og forvaltes i tilføjelsen Red Hat High Availability af corosync component votekvorum. Votekvorum-komponenten bruger to værdier til at beregne, om klyngen er kvorat:

  1. forventede stemmer: antallet af forventede stemmer, hvis alle klyngenoder er fuldt operationelle og kommunikerer med hinanden.
  2. samlede stemmer: antallet af stemmer, der aktuelt er til stede. Dette kan være lavere end antallet af forventede stemmer, hvis nogle noder ikke er op eller ikke kommunikerer med klyngen.

antallet af stemmer, der kræves for at opnå beslutningsdygtighed, er baseret på forventede stemmer. Følgende formel viser, hvor mange stemmer der kræves for beslutningsdygtighed. I denne beregning betyder gulv () altid at runde ned.

Quorum = floor(expected votes + 2 + 1)

Kvorumberegningseksempel

i det følgende eksempel antages en klynge med tre noder. En klynge med tre knudepunkter har et forventet antal 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 knudepunkter skal der være mindst to knudepunkter, der kører for at opnå kvorum.

i det følgende eksempel antages en klynge med fire noder. En klynge med fire knudepunkter har et forventet antal 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 knudepunkter skal der være mindst tre knudepunkter, der kører for at opnå kvorum.

visning af kvorumsstatus

Red Hat-tilføjelsen med høj tilgængelighed giver et omfattende værktøj til at vise den aktuelle kvorumstilstand i en klynge: corosync-kvorumtool. Corosync-kvorumtool giver et overblik over beslutningsdygtige oplysninger, såsom samlede stemmer og forventede stemmer, og viser, om klyngen er beslutningsdygtig med et øjeblik.

  1. Nodeindgangen giver nodeantalet for de noder, der hører til klyngen.
  2. node-id-posten viser ID ‘ et for den node, som corosync-kvorumtool blev udført på.
  3. Kvoratindgangen viser, om klyngen er kvorat.
  4. posten forventede stemmer viser antallet af stemmer, der er til stede, hvis alle konfigurerede klyngemedlemmer er aktive i klyngen.
  5. den højeste forventede post viser det største antal forventede stemmer set i klyngen.
  6. det samlede antal stemmer viser antallet af stemmer, der i øjeblikket er til stede i klyngen.
  7. Beslutningsdygtigheden viser, hvor mange stemmer der skal være til stede som minimum, så klyngen forbliver beslutningsdygtig.
  8. Flagposten viser alle kvorumrelaterede egenskaber, der aktuelt er angivet i klyngen. Hvis klyngen er beslutningsdygtig, vises beslutningsdygtig ejendom. Yderligere specielle funktioner vises også i dette felt, når det er indstillet, såsom LastManstanding eller Venteforall.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.