Jag slog på hög tillgänglighet och maskinen stannade ändå: vad HA faktiskt lovar

HA lovar inte avbrottsfri drift utan en automatisk omstart. Skillnaden är några minuter, och en förväntan byggd utan att känna dem slutar i besvikelse.

AtlasPVE ·

Den här artikeln svarar på

  • vad är proxmox ha
  • proxmox hög tillgänglighet installation
  • proxmox ha fungerar inte
  • vad är proxmox fencing
  • proxmox nod nere vm flyttades inte

Du slog på hög tillgänglighet. En nod föll och din maskin kom verkligen upp på den andra noden. Men däremellan levererade den ingenting under några minuter, och du trodde att det inte skulle bli något avbrott.

Här ligger missförståndet: hög tillgänglighet lovar inte avbrottsfri drift utan en automatisk omstart.

Två skilda saker

Flytt medan maskinen kör är planerat arbete. Du startar det, maskinen går över till den andra noden tillsammans med sitt arbetsminne och stannar knappt alls. Detta är underhållsnätternas verktyg.

Hög tillgänglighet finns till för ett oplanerat fel. När en nod rasar följde allt som låg i dess arbetsminne med; det finns inget kvar att kopiera. Det enda som går att göra är att starta maskinen från början på en annan nod. Den kommer alltså upp så som din tjänare kommer upp efter ett strömavbrott.

Därför borde måttet på HA inte vara "blev det ett avbrott" utan "hur länge varade avbrottet".

Tre saker sätter längden

Att märka det. Klustret beslutar inte genast att en nod verkligen dött. Att ta en svängning i nätet för en död och flytta maskinerna är värre än att inte märka döden. Därför finns en väntan.

Att tysta den gamla noden. Detta steg missförstås oftast och är kärnan i den här artikeln: innan maskinen kommer upp på den nya noden måste man vara säker på att den gamla verkligen stannat. Kan det inte fastställas startar klustret om den noden med tvång.

Det låter hårt, men alternativet är en katastrof: står den gamla noden i själva verket uppe och bara nätet är brutet, kör samma maskin på två ställen och skriver till samma disk från båda håll. Data skadas utan återvändo. Därför föredrar klustret att stänga av en nod det är osäkert på.

Uppstarten. Maskinen startar från början på den nya noden. Operativsystemet går upp, tjänster startar, en databas om det finns en återhämtar sig. Den tiden är din maskins normala starttid; klustret har ingen möjlighet att korta den.

Summan ligger i de flesta uppsättningar i storleksordningen minuter. Den är inte noll och kommer inte att bli det.

Tre villkor för att HA över huvud taget ska fungera

En majoritet. HA hänger på att klustret kan besluta. Utan majoritet flyttas ingenting. Att slå på HA i ett kluster med två noder är att bygga ett skyddsnät som brister precis när du behöver det som mest.

Att disken syns från den andra noden. Ska maskinen komma upp på den nya noden måste den nå sin disk. En maskin som bara ligger på lokal lagring kan inte flytta någonstans.

Kapacitet. De kvarvarande noderna måste kunna bära även den fallna nodens last. Är båda noderna åttio procent fulla räddar HA dig inte, den drar med sig den andra noden också.

Slå inte på HA för varje maskin

Varje maskin med HA påslagen blir något som klustret hela tiden bevakar och startar eller stoppar på eget beslut när det finner för gott. Det är inte alltid vad du vill.

Provet är enkelt: om den här maskinen kom upp av sig själv på en annan nod klockan tre på natten, skulle det lugna mig eller oroa mig att få veta det på morgonen? Lugnar det, slå på HA. Oroar det, låt bli; fatta besluten om den maskinen själv.

Vad Atlas gör

Atlas märker separat de maskiner som lämnats till hanteringen för hög tillgänglighet. Där det hjälper mest är vid underhåll: när maskinerna på en nod listas före en uppdatering syns åtskilt vilka som hänger på ditt beslut och vilka på klustrets. Att flytta för hand och att lämna åt hanteringen är skilda saker, och att blanda ihop dem blir dyrt.

Ett litet men betydelsefullt beteende: har hög tillgänglighet aldrig ställts in på installationen ser Atlas att de tillhörande inställningsfilerna saknas och ställer inte den frågan alls, det returnerar ett tomt svar. I en uppsättning som inte använder HA håller produkten alltså varken dig eller systemet sysselsatt med att leta efter något som inte finns.

Och en gräns förtjänar att sägas rakt ut: Atlas fattar inte och ändrar inte klustrets HA-beslut. Om en maskin lämnas till HA är din och Proxmox sak; Atlas gör det synligt, det beslutar inte åt dig.

Källor

Proxmox egen dokumentation. På engelska, och den har sista ordet i den här frågan.

Relaterade artiklar

Hur ser det här ut inne i Atlas?

Gå till produktsidan