Hi,
I try to implement "xm save/restore" on mini-os, but have problems.
What I did:
- set a watch on xenstore "control/shutdown"
-> The watch function gets called after typing "xm save domid d.save"
- read "shutdown" from xenstore "control/shutdown"
- sleep(5s)
- write "" into xenstore "control/shutdown"
- sleep(5s)
- call HYPERVISOR_suspend()
-> the domain (mini-os) gets terminated.
But the d.save file is to small.
xm log output:
...
[2007-03-15 09:56:18 13150] INFO (XendDomain:1053) Domain Mini-OS1 (22)
unpaused.
[2007-03-15 09:56:36 13150] DEBUG (XendCheckpoint:93) [xc_save]:
/usr/lib/xen/bin/xc_save 25 22 0 0 0
[2007-03-15 09:56:36 13150] DEBUG (XendCheckpoint:304) suspend
[2007-03-15 09:56:36 13150] DEBUG (XendCheckpoint:96) In saveInputHandler
suspend
[2007-03-15 09:56:36 13150] DEBUG (XendConfig:1287)
update_with_image_sxp([\047linux\047, [\047kernel\047,
\047/root/mini-os.gz\047], [\047args\047, \047Hallo Mini-OS1\047],
[\047notes\047]])
[2007-03-15 09:56:36 13150] DEBUG (XendDomainInfo:808) Storing domain details:
{\047console/ring-ref\047: \0471177329\047, \047console/port\047: \0472\047,
\047name\047: \047migrating-Mini-OS1\047, \047console/limit\047:
\0471048576\047, \047vm\047: \047/vm/e58f3a8a-8ed2-66cd-518d-9b2d41506cb3\047,
\047domid\047: \04722\047, \047cpu/0/availability\047: \047online\047,
\047memory/target\047: \04765536\047,
\047control/platform-feature-multiprocessor-suspend\047: \0471\047,
\047store/ring-ref\047: \0471177330\047, \047store/port\047: \0471\047}
[2007-03-15 09:56:36 13150] DEBUG (XendCheckpoint:98) Suspending 22 ...
[2007-03-15 09:56:36 13150] DEBUG (XendDomainInfo:432)
XendDomainInfo.shutdown(suspend)
[2007-03-15 09:56:36 13150] DEBUG (XendDomainInfo:875)
XendDomainInfo.handleShutdownWatch
[2007-03-15 09:56:41 13150] DEBUG (XendDomainInfo:875)
XendDomainInfo.handleShutdownWatch
[2007-03-15 09:56:46 13150] INFO (XendCheckpoint:103) Domain 22 suspended.
[2007-03-15 09:56:46 13150] INFO (XendDomainInfo:1056) Domain has shutdown:
name=migrating-Mini-OS1 id=22 reason=?.
[2007-03-15 09:56:46 13150] DEBUG (XendCheckpoint:112) Written done
[2007-03-15 09:56:46 13150] INFO (XendCheckpoint:333) ERROR Internal error:
Retry suspend domain
[2007-03-15 09:56:46 13150] DEBUG (XendDomainInfo:1620) XendDomainInfo.destroy:
domid=22
[2007-03-15 09:56:46 13150] DEBUG (XendDomainInfo:1631)
XendDomainInfo.destroyDomain(22)
[2007-03-15 09:56:46 13150] INFO (XendCheckpoint:333) ERROR Internal error:
Retry suspend domain
[2007-03-15 09:56:46 13150] INFO (XendCheckpoint:333) ERROR Internal error:
domain is dying
[2007-03-15 09:56:46 13150] INFO (XendCheckpoint:333) ERROR Internal error:
Domain appears not to have suspended
[2007-03-15 09:56:46 13150] INFO (XendCheckpoint:333) Save exit rc=1
[2007-03-15 09:56:46 13150] ERROR (XendCheckpoint:145) Save failed on domain
Mini-OS1 (None).
Traceback (most recent call last):
File "//usr/lib/python/xen/xend/XendCheckpoint.py", line 114, in save
forkHelper(cmd, fd, saveInputHandler, False)
File "//usr/lib/python/xen/xend/XendCheckpoint.py", line 321, in forkHelper
raise XendError("%s failed" % string.join(cmd))
XendError: /usr/lib/xen/bin/xc_save 25 22 0 0 0 failed
[2007-03-15 09:56:46 13150] DEBUG (XendDomainInfo:1651)
XendDomainInfo.resumeDomain(None)
[2007-03-15 09:56:46 13150] DEBUG (XendCheckpoint:148) XendCheckpoint.save:
resumeDomain
In the log the 5s sleeps are good visible.
Can anybody give me a hint where to look for the problem?
Thanks.
Dietmar
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|