Ubuntu 10.04 上编译安装 Xen 4.0.1 后的 xend 启动问题

因为 Ubuntu 10.04 不再官方维护 Xen 软件包了(RedHat 6 也不再支持 Xen 了),所以以后要想在这两大平台上用到 Xen 的话就需要自己亲自下载 Xen 源代码编译安装(当然也可以用第三方源)。今天 VPSee 在一台 Ubuntu 10.04 服务器上升级 Xen 到 4.0.1 的时候遇到一个问题,按照 Ubuntu 9.10 上源码安装 Xen 上的步骤编译和安装都正常,启动 Xen 内核也没问题,最后启动 xend 的时候报错如下:

$ sudo /etc/init.d/xend start
Traceback (most recent call last):
  File "/usr/sbin/xend", line 36, in 
    from xen.xend.server import SrvDaemon
ImportError: No module named xen.xend.server
Traceback (most recent call last):
  File "/usr/sbin/xend", line 36, in 
    from xen.xend.server import SrvDaemon
ImportError: No module named xen.xend.server
.Traceback (most recent call last):
  File "/usr/sbin/xend", line 36, in 
    from xen.xend.server import SrvDaemon
ImportError: No module named xen.xend.server
.Traceback (most recent call last):
  File "/usr/sbin/xend", line 36, in 
    from xen.xend.server import SrvDaemon

刚开始怀疑是 Python 版本问题,后来查了一下 /usr/sbin/xend 文件发现第36行:from xen.xend.server import SrvDaemon 在导入 SrvDaemon 就报错,xend 可能没有找到 xen tools,怀疑和安装路径有关。Ubuntu 上 Python 的默认安装在 /usr/lib/python2.6/ 下面,如果不设定 PYTHON_PREFIX_ARG 参数手动编译安装 xen tools 后也会默认安装到 /usr/lib/python2.6/,这样就出问题了,因为 xend 会默认从 /usr/local/lib/python2.6/dist-packages/ 找 script 和导入库,但是这时候 /usr/local/lib/python2.6/dist-packages/ 下面什么东西都没有。所以要改变 install-tools 的默认安装路径到 /usr/local/lib/python2.6/dist-packages/ 下,PYTHON_PREFIX_ARG 不带任何参数就可以了:

$ sudo make install-tools PYTHON_PREFIX_ARG=

最后检查一下是否能正常启动 xend:

$ sudo /etc/init.d/xend start
$ sudo xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  3713     4     r-----      6.4

评论 (8 Comments)

  1. 您好,我在ubuntu server 10.10 下编译xen 4.0.1 遇到两个问题
    1)编译linux-2.6-xen 时到pci-front 出错停下,估计时配置问题
    2)编译xen-tools 到ioemu出错。
    能否将你的内核配置文件发一个给我,hello-world@21cn.com

  2. sudo make install-tools PYTHON_PREFIX_ARG=
    make: *** No rule to make target `install-tools’. Stop.

    我报了这个错,还是不能start xend

  3. http://gentoo-xen-kernel.googlecode.com/files/xen-patch-2.6.31-10.tar.bz2已经进不去了。。。。。肿么办。。。。。

  4. @11 你应该是没要到XEN的安装目录运行该命令

  5. 请教楼主,你在10.04上安装xen 4.0 ,你的python 版本是2.6 的吧?
    前面的文章“Ubuntu 9.10 上源码安装 Xen”有回复说到,python版本降低到2.5 就可以正常启动dom0 ,你在10.04上安装,是python2.6 ,也可以正常启动dom0 ,我现在却无法启动dom0,报错和你帖子的情况不一样,我的/usr/local/lib/python2.6/dist-packages/ 目录存在文件的。我该如何解决这个问题?

  6. @xen-fans
    你可以看看报错信息和日志有什么提示。这是两年前的文章,已经很老了,ubuntu 12.04 已经能很好的支持 xen,建议用 12.04 看看。

  7. 谢谢楼主,用你的方法完美解决问题

  8. 我在Ubuntu14.04上面装了xen4.4 输入命令xl list 和xl top 都能显示出domain0正在运行。为什么我按上virt-manager显示不出domain0了。

发表评论