[Pkg-libvirt-maintainers] Bug#574272: libvirt update breaks 'save' command on domain; Error message: "Migration is not active"

Andreas Bießmann biessmann at corscience.de
Mon Mar 29 12:01:26 UTC 2010


Some additional information about stalled save of domains memory ...

Andreas Bießmann wrote:
> I think I've understand the issue now. 

[snip ... old kvm version]

> Maybe include this forced update of kvm in libvirt in some case?

0.7.7-4 recommends qemu or qemu-kvm in correct version.

> Well currently 'virsh save' has paused the VM but top shows kvm is still
> running and gets a lot of CPU time. But 'domjobinfo' always show
> 
> ---8<---
> Job type:         Unbounded
> Time elapsed:     743114       ms
> Data processed:   108,000 KB
> Data remaining:   528,145 MB
> Data total:       528,250 MB
> Memory processed: 108,000 KB
> Memory remaining: 528,145 MB
> Memory total:     528,250 MB
> --->8---
> 
> The file to save the current VM state does not grow ... this is some
> wired state. Will cleanup my kvm/libvirt packages, restart and give it
> another try.

This state can be reproduced (at least here) with a unprivileged user
saving domainstate in a unprivileged path. Next session-log shows this:

---8<---
abiessmann at azuregos:~$ whoami
abiessmann
abiessmann at azuregos:~$ groups
abiessmann adm lp dialout cdrom floppy audio src video plugdev staff
fuse kvm davfs2 libvirt sambashare
abiessmann at azuregos:~$ pwd
/home/abiessmann
abiessmann at azuregos:~$ mkdir tmp
abiessmann at azuregos:~$ ls -la tmp/
insgesamt 16
drwx------   2 abiessmann abiessmann  4096 29. Mär 13:45 .
drwxr-xr-x 155 abiessmann abiessmann 12288 29. Mär 13:45 ..
abiessmann at azuregos:~$ virsh -c qemu:///system list
 Id Name                 State
----------------------------------
  6 etch                 running

abiessmann at azuregos:~$ virsh -c qemu:///system save etch tmp/etch.sav
error: Failed to save domain etch to tmp/etch.sav
error: operation failed: Migration was cancelled by client

abiessmann at azuregos:~$
--->8---

I always get nearly same information (stalled job) as shown above on a
second console. The job in this case was interrupted by 'domjobabort'
command.

Next session shows saving domainstate into file located in a worldwide
read/writable directory:

---8<---
abiessmann at azuregos:~$ virsh -c qemu:///system list
 Id Name                 State
----------------------------------
  6 etch                 running

abiessmann at azuregos:~$ virsh -c qemu:///system save etch /tmp/etch.sav
Domain etch saved to /tmp/etch.sav

abiessmann at azuregos:~$ ls -la /tmp/etch.sav
-rw------- 1 root root 37781906 29. Mär 13:53 /tmp/etch.sav
abiessmann at azuregos:~$ virsh -c qemu:///system list
 Id Name                 State
----------------------------------

abiessmann at azuregos:~$ virsh -c qemu:///system restore /tmp/etch.sav
Domain restored from /tmp/etch.sav

abiessmann at azuregos:~$ virsh -c qemu:///system list
 Id Name                 State
----------------------------------
  7 etch                 running

abiessmann at azuregos:~$
--->8---

BEWARE: first session had $HOME/tmp/etch.sav, second session
/tmp/etch.sav as image path!

First test repeated with worldwide accessible directory $HOME/tmp does
also work.

But since the save process is delegated to qemu/kvm it seems this is a
kvm issue, isn't it?

Used versions for this test:
ii  qemu-kvm                               0.12.3+dfsg-4
ii  libvirt0                               0.7.7-4

regards

Andreas Bießmann





More information about the Pkg-libvirt-maintainers mailing list