本文主要讲述的是在RHEL6或者CentOS上编译安装Xen 4.5,需要注意的是Xen 4.5中已经将xm/xend工具移除,使用了xl。
省略:RHEL6.2安装kernel-xen(如kernel-xen 3.14.40)支持xen,并且该内核可以正常启动。见上篇文章,方法2。
主要依据: http://wiki.xensource.com/wiki/Compiling_Xen_From_Source Build from Source
还参考了这篇博文: http://ju.outofmemory.cn/entry/83798
1. 获取Xen 4.5(目前支持的最新版)
wget http://bits.xensource.com/oss-xen/release/4.5.0/xen-4.5.0.tar.gz
2. 安装依赖包
最好配一个最快的yum源,比如163源或者教育网高校的源。以mirror.hust.edu.cn源为例:
先下载一个163repo:wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
修改成hust源:mv CentOS6-Base-163.repo /etc/yum.repo.d/hust.repo
修改里面的每一项: vim hust.repo :%s/163.com/hust.edu.cn/g :%s/$releasever/6/g
yum makecache试一下,先不yum update,直接安装依赖包
# yum groupinstall "Development Tools"
# yum install transfig wget tar less texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel
# yum install pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial texinfo
# yum install libidn-devel yajl yajl-devel ocaml ocaml-findlib ocaml-findlib-devel python-devel uuid-devel libuuid-devel openssl-devel
# yum install python-markdown pandoc systemd-devel glibc-devel.i686
3. 编译安装Xen源码
cd xen-4.5.0
./configure --libdir=/usr/lib64
make -j4 dist
make install
安装完后,相关文件如下:
/boot/
/usr/lib64/
这里要把/usr/lib64加入到libc.conf中,vim /etc/ld.so.conf.d/libc.conf,添加
/usr/lib
/lib64
/usr/lib64
然后ldconfig。
/etc/init.d/
4. 手动修改grub
vim /boot/grub/grub.conf
复制一个原来的启动项(支持xen的那个kernel),在此基础之上修改,以防root写错
重启后成功进入
5. 启动xen服务
挂载xenfs:
# modprobe xenfs
# mount -t xenfs xenfs /proc/xen
#xl info
启动xencommons服务:
# /etc/init.d/xencommons start
将init.d下面的三个xen服务设成开机启动
chkconfig xencommons on
chkconfig xendomains on
chdconfig xen-watchdog on
#xl list
6. 遇到的问题
xl info报错:libxen*的问题,以及没有mount xenfs
xl list无响应:xencommons服务未开启