7

Is it possible to save the state of a virtual machine under QEMU/KVM/libvirt (on x86-64) to disk like you can on vmware Player, that means:

  • The RAM and CPU/system state is save to disk
  • The OS is stopped from the outside (no suspend to disk within the VM)
  • The VM can be continued after rebooting the host?

If it is possible, would it need special drivers within the VM? Which one for Linux and Windows 7 guests?

3

3 Answers 3

11

To achieve the same thing as VMmware's "Suspend" in virsh, do:

virsh managedsave <domain-name>

The machine can later be resumed with

virsh start <domain-name>

On my tested host (Ubuntu Server 14.04), the save file is stored at:

/var/lib/libvirt/qemu/save/<domain-name>.save
1
  • 1
    Thanks, this is the command line equivalent of the accepted answer and useful as an addition.
    – Ned64
    Aug 6, 2019 at 15:53
6

The virt-manager window has a feature "shut down" -> "save".

Additional drivers are not required. I think the obvious bad thing happens with system time inside the guest. I don't know if there are guest drivers available to let the clock catch up.

1
  • 3
    So it has. Thanks very much, had not spotted it. For everyone who is interested, this needs space in /home/$USER/.config/libvirt/qemu/save which may be a link to a folder on a larger disk if needed.
    – Ned64
    Apr 24, 2017 at 17:31
5

The Red Hat Virtualization Deployment and Administration Guide has a section on this, but if you don't have access then it wont be much help...

In a nutshell, what you are looking for is the virsh dompmsuspend command and option. The GUI utilities for KVM are okay but leave a LOT of functionality out. The virsh command can do anything you need it to, given the right options and parameters. I am not familiar with 'suspending' a KVM guest, so I can't really give you much guidance, but the documentation should have everything you need.

1
  • Thanks for the reply! That's what @ridgy suggested (and @sourcejedi detailed in its comment). Used virt-manager for the moment but shall try this out in the beloved command line, as well.
    – Ned64
    Apr 24, 2017 at 17:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .