[pve-devel] [PATCH qemu-server v3 0/5] implement suspend to disk

Dominik Csapak d.csapak at proxmox.com
Thu Mar 14 17:04:45 CET 2019


implement suspend to disk for vms

the idea is the following:

add a 'suspending' lock
halt execution of the vm
save the vmstate to a file/disk/etc.
hard poweroff the vm (qmp quit)
add 'suspended' lock

on the next start check for 'suspended' lock
resume from saved state

the suspending lock prevents any changes to the vm that would prevent a resume
(config change, migration, etc)
the suspended lock prevents starting a vm that is being suspended

changes from v2:
* use 2 locks
* better error handling/logging
* only stop explicitly when not using 'todisk' (savevm-start handles that)
* leave prepare state in QemuConfig

changes from v1:
* rename variable s/stat/state/
* abort if vm is locked with 'backup' lock
* remove the lock on error
* include date into state file name and make the parameters more explicit
* pull out multiple uses of has_lock
* add patch for explicitly giving the target storage for the state

Dominik Csapak (5):
  correct comment about size
  implement suspend to disk for running vms
  resume suspended vm on start
  add ability to suspend a vm to disk from the api
  add statestorage parameter to suspend API

 PVE/API2/Qemu.pm  | 21 +++++++++++-
 PVE/QemuConfig.pm | 28 +++++++++++-----
 PVE/QemuServer.pm | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 3 files changed, 132 insertions(+), 16 deletions(-)

-- 
2.11.0





More information about the pve-devel mailing list