一、软件环境:
#rpm -qa |grep -i xen
kernel-xen-2.6.18-128.el5
xen-3.4.2-2.el5
xen-libs-3.4.2-2.el5
#rpm -qa |grep -i virt
libvirt-0.4.2-2
Virtualization-zh-TW-5.2-11
Virtualization-zh-CN-5.2-11
libvirt-python-0.4.2-2
virt-manager-0.5.3-10.el5
python-virtinst-0.300.2-12.el5
#uname -r
2.6.18-128.el5xen
#arch
x86_64
二、报错现象:
#xm list
Error: Unable to connect to xend: No such file or directory. Is xend running?
日志:
#tail -30f /var/log/xen/xend.log
[2011-05-21 17:24:00 4573] INFO (SrvDaemon:227) Xend stopped due to signal 15.
[2011-05-21 17:24:00 5417] INFO (SrvDaemon:332) Xend Daemon started
[2011-05-21 17:24:00 5417] INFO (SrvDaemon:336) Xend changeset: unavailable.
[2011-05-21 17:24:00 5417] ERROR (SrvDaemon:349) Exception starting xend (no element found: line 1, column 0)
Traceback (most recent call last):
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvDaemon.py", line 341, in run
servers = SrvServer.create()
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvServer.py", line 251, in create
root.putChild('xend', SrvRoot())
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvRoot.py", line 40, in __init__
self.get(name)
File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 84, in get
val = val.getobj()
File "/usr/lib64/python2.4/site-packages/xen/web/SrvDir.py", line 52, in getobj
self.obj = klassobj()
File "/usr/lib64/python2.4/site-packages/xen/xend/server/SrvNode.py", line 30, in __init__
self.xn = XendNode.instance()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line 948, in instance
inst = XendNode()
File "/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py", line 68, in __init__
saved_host = self.state_store.load_state('host')
File "/usr/lib64/python2.4/site-packages/xen/xend/XendStateStore.py", line 104, in load_state
dom = minidom.parse(xml_path)
File "/usr/lib64/python2.4/site-packages/_xmlplus/dom/minidom.py", line 1915, in parse
return expatbuilder.parse(file)
File "/usr/lib64/python2.4/site-packages/_xmlplus/dom/expatbuilder.py", line 926, in parse
result = builder.parseFile(fp)
File "/usr/lib64/python2.4/site-packages/_xmlplus/dom/expatbuilder.py", line 211, in parseFile
parser.Parse("", True)
ExpatError: no element found: line 1, column 0
三、原因:
[Bug 1680] New: Xend fails to start if /var/lib/xend/state/*.xml are empty
四、解决办法:
从其它正常的xen服务器copy下面这个目录过来覆盖一下即可:
/var/lib/xend/state
五、参考文档: