Waarom bereikt een UPS-uitschakelsignaal de host, maar niet de virtuele machines?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Een UPS-uitschakelsignaal kan de virtualisatiehost bereiken zonder de VM’s te bereiken, omdat stroomdetectie en de coördinatie van het afsluiten van gasten afzonderlijke stappen zijn.

Controleer eerst of de host de UPS-gebeurtenis ontvangt en test vervolgens of elke belangrijke VM reageert op een normale afsluiting via de hypervisor. Controleer de actie bij een bijna lege accu, het gedrag van de guest-agent of ACPI, de stopvolgorde en de beschikbare runtime. De veilige eindtoestand is dat de gasten eerst worden uitgeschakeld en de host als laatste, met voldoende accucapaciteit voor vertragingen.

Controleer welk onderdeel de UPS-gebeurtenis ontvangt

Start een ondersteunde testgebeurtenis of controleer de logboeken van een recente overgang naar accuvoeding en noteer of NUT, apcupsd, SNMP-monitoring of een andere daemon op de host deze waarneemt.

Een praktische UPS-uitschakelprocedure voor Proxmox maakt onderscheid tussen UPS-detectie op een Proxmox-host en de daaropvolgende acties die nodig zijn om workloads te stoppen en de machine uit te schakelen.

Als de host de gebeurtenis nooit ontvangt, richt je dan op de UPS-communicatie. Als de host de gebeurtenis wel ontvangt, ga er dan niet van uit dat gasten automatisch worden afgesloten; controleer de volgende stap in de coördinatie.

Test het afsluiten van gasten zonder de UPS

Vraag vanaf de hypervisor een normale, gecontroleerde afsluiting aan van elke kritieke VM en meet hoe lang dit duurt. Controleer de status van de guest-agent, het ACPI-gedrag en toepassingen die het afsluiten vertragen.

Een NUT-implementatie met Proxmox laat zien waarom NUT de bron van de gebeurtenis kan zijn, terwijl Proxmox nog steeds een gedefinieerd reactiepad nodig heeft voor de virtuele workloads die het host.

Los gasten die een normale afsluiting via de hypervisor negeren op voordat je noodsituaties met accuvoeding test. UPS-automatisering kan een niet-reagerende gast niet plotseling netjes afsluiten.

Laat de UPS-actie de virtualisatielaag aanroepen

Controleer het script of de service die een bijna lege accu afhandelt. Een directe uitschakeling van de host kan de normale stopvolgorde van VM’s omzeilen als deze niet het afsluitproces van de gasten via de hypervisor aanroept.

Een andere op Proxmox gerichte NUT-coördinatie laat zien dat de NUT-status moet worden gekoppeld aan doelbewuste systeemacties, in plaats van de UPS-daemon zelf als gastbeheerder te behandelen.

Gebruik de ondersteunde afsluitcoördinatie van het platform of een beperkte hook die eerst het stoppen van gasten aanvraagt. Vermijd aangepaste kill-opdrachten die het afsluiten van toepassingen binnen de VM omzeilen.

Plan tijd in voor trage gasten en de host

Meet de totale stoptijd van gasten, de afsluitduur van de host, de UPS-runtime onder belasting en de drempelwaarde voor een bijna lege accu. Houd rekening met extra marge voor een gast die langer dan normaal nodig heeft.

Een speciaal hiervoor ontwikkelde Proxmox UPS-shutdownservice bestaat omdat een ordelijke Proxmox-afsluiting beleid en timing vereist, en niet alleen het bewijs dat een SNMP- of USB-signaal de host heeft bereikt.

Stel begrensde time-outs voor gasten en een escalatievolgorde in, zodat een vastgelopen niet-kritieke VM de accu niet kan uitputten. Kritieke opslag- of databasegasten moeten mogelijk eerder worden afgesloten.

Voer één gecontroleerde end-to-end-stroomtest uit

Simuleer of activeer tijdens een onderhoudsvenster de ondersteunde UPS-conditie, houd de stopvolgorde van de gasten in de gaten, controleer of de host als laatste wordt uitgeschakeld, herstel vervolgens de netvoeding en controleer of alles netjes opstart.

Informatie voor homelabs over veerkracht van homelabs bij stroomuitval benadrukt dat veerkracht afhangt van het testen van de volledige uitvalsequentie, en niet alleen van het verzamelen van UPS-telemetrie. De gerelateerde ZimaSpace-handleiding over back-upgereedheid van VM’s voegt daar de herstel- en back-upgrens aan toe.

De workflow is pas voltooid wanneer elke vereiste VM netjes wordt afgesloten vóór de host, de accu een veiligheidsmarge behoudt en dezelfde reeks na configuratiewijzigingen opnieuw werkt.

Veelgestelde vragen

Hebben VM’s hun eigen NUT-client nodig als de host er al een heeft?

Niet altijd. De host kan het afsluiten van gasten via de hypervisor coördineren, maar deze stap voor het stoppen van gasten moet wel worden geconfigureerd en getest, en er moet voldoende tijd voor zijn voordat de host wordt uitgeschakeld.

Wat gebeurt er als een VM niet wil afsluiten?

Gebruik een begrensde time-out en een escalatiebeleid. Eén vastgelopen gast mag niet de volledige UPS-accu verbruiken totdat de host abrupt zonder stroom komt te zitten.

Hoe kan ik een UPS-afsluiting veilig testen?

Gebruik een onderhoudsvenster, recente en betrouwbare back-ups en, waar ondersteund, een gecontroleerde gebeurtenis bij een bijna lege accu of een gesimuleerde gebeurtenis. Controleer vervolgens de stopvolgorde van de gasten, het afsluiten van de host en het nette herstel nadat de stroom is teruggekeerd.

Ondersteuning & Tips

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.