Jeg slo på høy tilgjengelighet, og maskinen stanset likevel: hva HA egentlig lover
HA lover ikke drift uten avbrudd, men en automatisk omstart. Forskjellen er noen minutter, og en forventning bygd uten å kjenne dem, ender i skuffelse.
AtlasPVE ·
Denne artikkelen svarer på
- hva er proxmox ha
- proxmox høy tilgjengelighet oppsett
- proxmox ha virker ikke
- hva er proxmox fencing
- proxmox node nede vm ble ikke flyttet
Du slo på høy tilgjengelighet. En node falt, og maskinen din kom faktisk opp på den andre noden. Men i mellomtiden leverte den ingenting i noen minutter, og du trodde det ikke skulle bli avbrudd.
Her ligger misforståelsen: høy tilgjengelighet lover ikke drift uten avbrudd, men en automatisk omstart.
To forskjellige ting
Flytting mens maskinen kjører er planlagt arbeid. Du setter det i gang, maskinen går over til den andre noden sammen med arbeidsminnet sitt og stanser nesten ikke. Dette er verktøyet for vedlikeholdsnetter.
Høy tilgjengelighet er til for en uplanlagt feil. Når en node bryter sammen, er alt som lå i arbeidsminnet dens borte med den; det finnes ikke noe igjen å kopiere. Det eneste som kan gjøres, er å starte maskinen fra bunnen på en annen node. Den kommer altså opp slik tjeneren din kommer opp etter et strømbrudd.
Derfor bør målet på HA ikke være "ble det et avbrudd", men "hvor lenge varte avbruddet".
Tre ting setter varigheten
Å merke det. Klyngen bestemmer ikke straks at en node virkelig er død. Å ta en svingning i nettet for en død og flytte maskinene er verre enn å ikke merke døden. Derfor finnes det en venting.
Å stanse den gamle noden. Dette steget misforstås oftest og er kjernen i denne artikkelen: før maskinen kommer opp på den nye noden, må man være sikker på at den gamle virkelig står stille. Kan det ikke fastslås, starter klyngen den noden på nytt med tvang.
Det høres hardt ut, men alternativet er en katastrofe: står den gamle noden i virkeligheten oppe og bare nettet er brutt, kjører den samme maskinen to steder og skriver til samme disk fra begge sider. Dataene ødelegges uten vei tilbake. Derfor foretrekker klyngen å slå av en node den er usikker på.
Oppstarten. Maskinen starter fra begynnelsen på den nye noden. Operativsystemet kommer opp, tjenester starter, en database om det finnes en, henter seg inn. Denne tiden er maskinens vanlige oppstartstid; klyngen har ingen mulighet til å forkorte den.
Summen ligger i de fleste oppsett i minutters størrelsesorden. Den er ikke null, og kommer ikke til å bli det.
Tre vilkår for at HA i det hele tatt virker
Et flertall. HA henger på at klyngen kan bestemme. Uten flertall flyttes ingenting. Å slå på HA i en klynge med to noder er å bygge et sikkerhetsnett som svikter nøyaktig når du trenger det mest.
At disken er synlig fra den andre noden. Skal maskinen komme opp på den nye noden, må den nå disken sin. En maskin som bare ligger på lokal lagring, kan ikke dra noe sted.
Kapasitet. De gjenværende nodene må kunne bære lasten til den som falt, også. Er begge nodene åtti prosent fulle, redder ikke HA deg, den river med seg den andre noden også.
Ikke slå på HA for hver maskin
Hver maskin med HA påslått blir noe klyngen overvåker hele tiden og starter eller stopper etter eget skjønn når den finner det for godt. Det er ikke alltid det du vil.
Prøven er enkel: hvis denne maskinen kom opp av seg selv på en annen node klokka tre om natta, ville det berolige meg eller uroe meg å få vite det om morgenen? Beroliger det, slå på HA. Uroer det, la være; ta beslutningene for den maskinen selv.
Hva Atlas gjør
Atlas merker særskilt maskinene som er overlatt til håndteringen for høy tilgjengelighet. Der det hjelper mest, er ved vedlikehold: når maskinene på en node listes opp før en oppdatering, ser man atskilt hvilke som henger på din beslutning og hvilke på klyngens. Å flytte for hånd og å overlate til håndteringen er forskjellige ting, og å blande dem blir dyrt.
En liten, men betydningsfull oppførsel: er høy tilgjengelighet aldri satt opp på installasjonen, ser Atlas at de tilhørende oppsettsfilene mangler og stiller ikke det spørsmålet i det hele tatt, det gir et tomt svar tilbake. I et oppsett uten HA holder produktet altså verken deg eller systemet opptatt med å lete etter noe som ikke finnes.
Og én grense fortjener å bli sagt rett ut: Atlas tar ikke og endrer ikke klyngens HA-beslutning. Om en maskin overlates til HA, er din sak og Proxmox sin; Atlas gjør det synlig, det bestemmer ikke for deg.
Kilder
Proxmox sin egen dokumentasjon. På engelsk, og den har siste ord i denne saken.