De machine gaat niet uit: een verzoek is geen aan-uitknop

Afsluiten vraagt; stoppen trekt de stekker eruit. Alles wat verwarrend is aan een machine die weigert af te sluiten komt voort uit dat ene onderscheid, en uit het feit dat een verzoek iemand binnen nodig heeft die luistert.

AtlasPVE ·

Dit artikel beantwoordt

  • proxmox vm sluit niet af
  • proxmox stop of shutdown
  • proxmox netjes afsluiten
  • proxmox ups afsluiten vms
  • proxmox vm won't shut down

U drukt op afsluiten. De taak begint, het wieltje draait, en drie minuten later draait de machine nog steeds. Uiteindelijk drukt u op stoppen en zij sterft onmiddellijk, wat een voor de hand liggende vraag oproept: waarom werkte het eerste niet, terwijl het tweede het duidelijk wel kan?

Dit zijn niet twee sterktes van dezelfde handeling. Het zijn twee volledig verschillende dingen.

Het onderscheid waar alles aan hangt

Afsluiten is een verzoek. De virtualisatielaag vraagt de gast zichzelf af te sluiten, zoals het indrukken van de aan-uitknop van een fysieke machine een besturingssysteem vraagt netjes af te sluiten. Wat er met dat verzoek gebeurt, bepaalt de gast.

Stoppen is een stroomonderbreking. Het haalt de spanning onmiddellijk van de virtuele machine, zonder enig gesprek. De documentatie waarschuwt er in gewone taal voor: stoppen kan gegevensverlies veroorzaken, dus gebruik het met voorzichtigheid.

Zodra u die twee uit elkaar houdt, houdt een machine die niet afsluit op mysterieus te zijn. Zij weigert niet. Niemand binnen heeft het verzoek gehoord.

Wie geacht wordt te luisteren

Er zijn twee mogelijke luisteraars, en een gezonde machine heeft er minstens één.

De aan-uitknopafhandeling van het besturingssysteem. Op een Linuxgast is die er normaal. Op een minimaal image, een containerachtig apparaat, of een systeem dat in een vroege opstartfase of een reddingsschil is beland, kan zij ontbreken.

De gastagent. Wanneer die is ingeschakeld en werkelijk draait, geeft hij de virtualisatielaag een rechtstreeks kanaal naar binnen, en het verzoek gaat langs die weg.

Staat de agent uit en ontbreekt de knopafhandeling of reageert zij niet, dan gaat het verzoek naar buiten en komt het nergens aan. Tegen de virtualisatielaag wordt geen "nee" gezegd. Er wordt niets gezegd, wat van buiten precies hetzelfde oogt en de reden is dat de taak lijkt vast te lopen in plaats van te falen.

Als uw machines standaard te lang doen over afsluiten, is nagaan of de agent echt werkt een betere eerste stap dan wachttijden verkorten.

Dan de wachttijd, dan het geweld

Het wachten heeft grenzen. Per gast is de standaard afsluitwachttijd 180 seconden; als die verstrijkt, wordt de machine met geweld gestopt.

Een gezamenlijke stop van alles op een knooppunt heeft een eigen budget: het probeert netjes af te sluiten, wacht standaard tot drie minuten, en stopt dan hardhandig wat nog draait.

De eerlijke beschrijving van een onbewaakte afsluiting is dus: beleefd vragen, een vaste tijd wachten, dan de stekker eruit. Heeft uw database vier minuten nodig om weg te schrijven, dan hebben de standaardwaarden al besloten dat zij er drie krijgt.

Verhoog het getal, sla de vraag niet over

Het is verleidelijk de wachttijd te behandelen als de knop die bijgesteld moet worden. Voor een machine die werkelijk langer nodig heeft, is verhogen juist.

Maar een machine die nooit afsluit hoelang u ook wacht heeft geen wachttijdprobleem, en haar tien minuten geven betekent alleen dat u tien minuten wacht op dezelfde geforceerde stop. Zoek eerst uit of er iemand luistert.

Wanneer een afsluittaak al vastzit

Zit een afsluittaak vast en moet de machine er nu uit, dan bestaat er een uitdrukkelijke manier om haar te stoppen met voorrang op de lopende afsluittaak, in plaats van erachter in de rij te gaan staan. Die bestaat juist omdat het geval van de vastzittende taak vaak genoeg voorkomt om een antwoord te verdienen.

Gebruik hem in de wetenschap wat hij is: nog steeds een stroomonderbreking, met dezelfde waarschuwing eraan vast.

Het geval dat mensen verrast: stroomuitval

Hier houdt dit hele stuk op theoretisch te zijn.

Een stroomuitvalscript dat gasten afsluit voordat de accu's leeg raken erft elke eigenschap hierboven. Het verstuurt verzoeken. Gasten die niet luisteren negeren ze. De wachttijd loopt. Daarna wordt alles wat nog draait hardhandig gestopt, mogelijk met een al zwakke accu en mogelijk allemaal tegelijk.

Twee dingen zijn het controleren waard voordat u op zo'n opzet vertrouwt, en beide zijn goedkoop:

Reageren de gasten werkelijk op een afsluitverzoek? Test er één, met een stopwatch, op een gewone middag.

Past het totale budget binnen de accu? Gasten sluiten na elkaar af, en de wachttijden tellen op. Een rij machines die er elk twee minuten over doen is geen afsluiting van twee minuten.

Een stroomuitvalplan dat nooit is geoefend, is een plan dat één keer geoefend zal worden: in het donker, onder tijdsdruk.

Wat Atlas doet

Atlas verzint geen derde soort afsluiting. Vragen en de stroom afsnijden zijn de twee dingen die bestaan, en anders doen voorkomen zou een leugen met gevolgen zijn.

Wat het doet is weigeren ze te vervagen. Een vernietigende handeling zegt dat zij vernietigend is voordat u haar bevestigt, zodat "stoppen" nooit vermomd aankomt als een iets stelliger "afsluiten". Dat onderscheid is het hele onderwerp van dit stuk, en een paneel dat beide toont als naburige knoppen van gelijk gewicht is het al kwijt.

Het dagelijkse overzicht draagt de andere helft: een ongeplande herstart wordt als feit gemeld. Een machine die met geweld is gestopt na een mislukte nette afsluiting ziet er de volgende ochtend precies zo uit als een machine die is vastgelopen. Beide verdienen het opgemerkt te worden.

Bronnen

De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.

Verwante artikelen

Hoe ziet dit eruit in Atlas?

Naar de productpagina