From Fedora Project Wiki

Description

Suspend and Hibernate a VM. Verify it resumes as expected. For more details, see:

http://fedoraproject.org/wiki/Features/Virt_Guest_Suspend_Hibernate

Setup

Nothing beyond the initial test day setup (basically a function F18 VM).

How to test

Initiating suspend/hibernate from inside the guest

Known bugs:

  • Closing a graphical window triggers a guest resume bug 871240
  1. Start a VM, connect to the graphical console with virt-manager
  2. From inside the guest, as root, run:
    # pm-suspend
  3. Verify the state changes to 'suspended' in the main virt-manager window
  4. Click inside the black VM guest console, and press any key on the keyboard
  5. Verify the VM resumes right where it left off.
  6. From inside the guest, as root, run:
    # pm-hibernate
  7. Verify the guest appears to shutdown in the main virt-manager window
  8. Start the guest again
  9. Verify that the VM resumes right where it left off


Initiating suspend/hibernate from the host

Note.png
qemu-guest-agent should be created by default
A Fedora 20+ VM created on a Fedora 20+ host will configure qemu guest agent support automatically. If using anything older, please see: http://wiki.libvirt.org/page/Qemu_guest_agent
  1. Start the VM, connect to the graphical console with virt-manager.
  2. Verify the agent is running with (you should see some output):
    ps axwww | grep "qemu-ga"
  3. From the host machine, as root, suspend the guest with virsh:
    # virsh dompmsuspend f18 --target mem
  4. Watch virsh until the VM is listed as 'suspended':
    # virsh list --all
  5. Wake the guest up with virsh:
    # virsh dompmwakeup f18
  6. Using the graphical console, verify the guest appeared to resume correctly
  7. From the host machine, as root, hibernate the guest with virsh:
    # virsh dompmsuspend f18 --target disk
  8. Watch virsh until the VM is listed as shutoff:
    # virsh list --all
  9. Start the quest again
  10. Verify that the VM resumes right where it left off

Expected Results

No obvious errors encountered, guests seem to be functioning as normal after resuming.