Qemu med saved state som i Virtualbox

Permalänk
Medlem

Qemu med saved state som i Virtualbox

Hej!

Lite ovidkommande bakgrund (hoppa över om du vill):

Har kört en Windows 7 i Virtualbox på en av mina servar och det har funkat hyfsat med undantag för att med att min host använder 60% CPU, även om Windows är idle och drar 3% CPU. Nu har jag byggt ihop en ny server och valde att köra en Windows 10 i Virtualbox. Nu drar host 60% CPU istället. I det här läget så väljer jag att överge Virtualbox eftersom jag börjar tröttna på att felsöka. Jag prövar Vmware Player istället vilket funkar jättebra angående CPU load. Dessvärre hittar jag ingen bra funktion för att köra detta över ssh vilket jag måste då min server är headless. Man kan installera något som heter VMware VIX API, men får bara fel när jag ska installera det. Här orkar jag inte heller grotta ner mig och felsöka. Nu försöker jag med Qemu som ett sista alternativ innan jag lägger ner alltihopa.

Till frågan:

Jag är van vid att kunna sätta mitt vm i "saved state" i Virtualbox vid reboot, och sedan startas mitt vm vid boot automatiskt. Jag har ett script för detta. Finns det möjlighet att få Qemu att sätta mitt VM i saved state vid reboot och sedan resume vid boot?

Jag har ställt in i virt-manager att mitt VM automatisk ska starta vid boot av min server och det funkar. Däremot så känns det inte som mitt vm skulle hinna stängas ner vid reboot (vilket jag inte vet om Qemu ens försöker göra, jag gissar nej) eftersom det bara tar typ 10 sekunder för min server att stängas ner, och det är jag inte glad över. Jag kan såklart stänga ner mitt VM innan jag botar om min server, men eftersom jag är glömsk så finns risken att jag glömmer det och det är skönt med automatik

Ursäkta för mycket text för en liten fråga.

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Medlem

Vad kör du över qemu? KVM? Där ska finnas den funktionen. Jag vet detta bara för att jag researchade qemu/KVM så jag vet inte hur. Men vi gick på proxmox istället.

Visa signatur

Small minds discuss people, bigger minds discuss events & great minds discuss ideas!
På den första dagen skapade Gud Datorn, på den andra skapade Bill Gates CAL-licensen
Inga elaka länkar. /Aphex

Permalänk
Medlem

Jag har aldrig försökt åstadkomma just detta, så jag vet inte svaret. Men Qemu/KVM har ju något som heter "live migration", och lösningen på ditt problem torde vara en delmängd av den lösningen. Så det kan vara ett ställe att börja sökningen på.

Berätta gärna sen om du löste det och isf hur!

ps. Använder du libvirt?
https://access.redhat.com/documentation/en-us/red_hat_enterpr...

Visa signatur

Här hade jag en historik sen 1990-talet, men den blev tillslut för lång. Aktiva maskiner 2022-framåt:
Work/Play/Everythingstation: AMD Epyc 7443p, Pop OS host, Win10 + Linux guests (KVM/Qemu)
Work/Play nr 2: AMD Phenom II 1090t, Debian + Win 10 (dual boot)
Server x3: Epyc 7252 (TrueNAS Core), Atom 2550 (FreeBSD, backup), Opteron 6140 (Ubuntu, off prem backup)
Retrohörna under uppbyggnad: Dual Pentium Pro 200MHz, Pentium P54C 90MHz, Gravis Ultrasound MAX

Permalänk
Medlem

Jag har en dellösning.
Kommandon jag behöver använda är:

Sätta i "Saved State" (heter bara "save" i virt-manager)

sudo virsh managedsave VM

För att starta från "mangedsave" använder man bara "start" så startas mitt VM:

sudo virsh start VM

Här kommer ett litet bekymmer för mig. Har man en usb-enhet så kommer den inte laddas om man använder managedsave (funkar vid normal boot).
För detta måste jag göra en xml-fil för usb-enheten. Man hittar i virt-manager hur xml-filen ska se ut.

Först måste jag göra en "detach" av usb-enheten:

sudo virsh detach-device VM --file /home/user/file.xml --current

Därefter ladda den (attach) igen:

sudo virsh attach-device VM --file /home/user/file.xml --current

Har inte hittat ett bättre sätt med usb-enheten än detta (än).

Det jag nu behöver lista ut är att få Qemu att stätta mitt VM i Saved State vid reboot/poweroff av min host. Just nu så stänger den bara av det (tror jag). Har ingen aning om det stängs av snyggt eller bara fimpas rakt av, men jag tror att mitt VM stängs av på rätt sätt. Jag behöver sen få till att vid boot av host och VM körs detach och attach av min usb-enhet. Känns lite som att gå över ån efter vatten då jag tycker Qemu bord fixa min usb-enhet automatiskt...

Jag ska försöka grotta ner mig i hooks med Qemu, men jag känner mig lite le på det här just nu. Har inte samma intresse med att greja med sånt här längre. Kunde sitta i timmar i mina yngre år, men nu går det trögt. Anledningen att sätta mitt VM i saved state har av omständigheter försvunnit, men eftersom jag börjat greja med det vill jag ändå få till det då jag sett andra som har samma önskan som jag.

Här är lite info om hooks:
https://libvirt.org/hooks.html
https://passthroughpo.st/simple-per-vm-libvirt-hooks-with-the...

Har inte läst nått av detta än så vet inte om det finns en lösning på det jag försöker med genom hooks.

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable