xend: No such file or directory. Is xend running? 问题

昨天下午升级 一台 Xen 服务器后发现 xend 服务无法启动,启动系统后运行 xen 工具报错:

# xm list
Error: Error connecting to xend: No such file or directory.  Is xend running?

查看一下 xen 日志发现:

[2011-10-11 14:19:09 3974] ERROR (SrvDaemon:349) Exception starting xend ((13, ‘Permission denied’))
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 91, in __init__
self.other_config[“xen_pagesize”] = self.xeninfo_dict()[“xen_pagesize”]
File “/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py”, line 937, in xeninfo_dict
return dict(self.xeninfo())
File “/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py”, line 881, in xeninfo
info[‘xen_scheduler’] = self.xenschedinfo()
File “/usr/lib64/python2.4/site-packages/xen/xend/XendNode.py”, line 871, in xenschedinfo
sched_id = self.xc.sched_id_get()
Error: (13, ‘Permission denied’)

后来看了一下管理员的系统维护日志发现这个系统使用的不是 centos 自带的 xen,用的是升级过的 xen 3.4.3,大致可以猜到错误原因了,这种问题一般是升级后 xen 内核和 xen 工具不匹配造成的。查看 grub.conf 发现 yum upgrade 后自动添加的启动条目里使用了新的 xen 内核,这个新的内核和系统上的现有 xen 工具不匹配:

title CentOS (2.6.18-274.3.1.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-274.3.1.el5
        module /vmlinuz-2.6.18-274.3.1.el5xen ro root=/dev/VolGroup00/LogVol00
        module /initrd-2.6.18-274.3.1.el5xen.img

要解决这个问题的话只需要恢复使用以前的 xen 内核就可以了:

title CentOS (2.6.18-274.3.1.el5xen)
        root (hd0,0)
        kernel /xen.gz-3.4.3
        module /vmlinuz-2.6.18-274.3.1.el5xen ro root=/dev/VolGroup00/LogVol00
        module /initrd-2.6.18-274.3.1.el5xen.img

评论 (2 Comments)

  1. 博主,你好。
    我刚刚在ubuntu11.10上安装xen时,也碰到了这个问题。

    root@ubuntu:/home/sheng# xm list
    WARNING! Can’t find hypervisor information in sysfs!
    Error: Unable to connect to xend: No such file or directory. Is xend running?

    请问在ubuntu11.10上该怎么解决呢?

    谢谢!

  2. 楼主能不能试试ubuntu11.10上安装xen

发表评论