操作系统:CentOS 6.0 CR
安装前的准备:
1、网络设置:设置NM_CONTROLLE为no。
2、GRUB设置:取消hiddenmenu。将来要引导xen用的。
3、SELINUX设置:禁用SELINUX。目前xen尚不支持SELINUX。
4、软件依赖包的安装:可以参考两个官方文档:
http://wiki.xen.org/wiki/RHEL6Xen4Tutorial
http://wiki.xen.org/wiki/Xen_4.0_Release_Notes
Xen安装(即Xen Hypervisior安装):
版本选择:4.1
下载:http://www.xen.org/products/xen_source.html
安装过程可以参考xen解压后的README。网上教程各种各样,我也不知道哪个准,所以只好看README。话说回来,本来就应该这样,但我们安装软件时,往往几乎下意识地到网上搜索教程。扯远了一点。
- cd xen-4.1.2
- make world
- make install
在make world过程中遇到的错误:
遇错:*** check_uuid_devel FAILED: missing uuid headers (package uuid-dev)
解决:yum install libuuid-devel
遇错:WARNING: makeinfo' is missing on your system.
解决:yum install texinfo
遇错:*** No rule to make target `clean'. Stop.
解决:重新解压xen软件包,重新编译。可能还需要安装http://wiki.xen.org/wiki/RHEL6Xen4Tutorial文中的提到的软件包。该文档安装的依赖软件比较全面,当然,需要下载的文件也比较多。
domain 0的安装:
这个我没有使用xen-kernel,直接下载linux kernel 3.1.2。linux内核从3.0开始支持xen,所以不用再另外安装xen-kernel了,方便。安装过程可以参考:http://siwind.iteye.com/blog/1188053。
下载Linux内核3.1.2:
wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2
编译安装Linux内核(注意,这个过程比较耗时!估计要30~40分钟):
- cd 3.1.2
- make help
- make menuconfig 这个地方主要修改是Device Drivers下的Xen driver support,把它们全部选中! 然后是Processor famaily,选中core 2 /new xeon。 还有就是取消一些AMD相关的选项,我的CPU是xeon的。 最后,选中Paravirtualized Guest Support,及其下面的Xen Guest Support。
- make
- make modules
- make modules_install
- make install
- /bin/depmod 3.1.2
安装内核以后,修改grub.conf,添加如下内容:
- title CentOS Linux (3.1.2 with xen)
- root(hd0,0)
- kernel /xen-4.1.2.gz dom0_mem=1024MB
- module /vmlinuz-3.1.2 ro root=UUID=ed3d4a3c-af33-4e7a-8fe4-c07773fb01f4
- module /initramfs-3.1.2.img
重启系统,进入xen Linux。
启动Xen:
- /sbin/chkconfig --add xencommons
- /sbin/chkconfig --add xend
- /sbin/chkconfig --add xendomains
- /sbin/chkconfig --level 35 xend on
- /sbin/chkconfig --level 35 xendomains on
- /sbin/chkconfig --level 35 xencommons on
- service xencommons start
- service xend start
- service xendomains start
查看是否启动成功:
xm list