一、 准备工作
a) 一台计算机(是否支持intel-VT或AMD-V均可)
注:支持intel-VT或AMD-V技术可以实现全虚拟化(full virtualization),不支持的话只能实现半虚拟化(para-virtualization)。
支持intel-vt的cpu型号:http://ark.intel.com/VTList.aspx
支持amd-v的cpu型号:http://nforcex.blogbus.com/logs/8039294.html
注2:查看cpu信息:# cat /proc/cpuinfo,从中能够查看cpu的基本信息,包括型号等;查看cpu使用何种虚拟化技术:# lscpu,其中有一项virtualization type注明了使用的虚拟化技术。
注3:若当前主机的cpu支持虚拟化技术,但在lscpu的virtualization type项显示“none”,这表示你的cpu的虚拟化技术没有启用。启用虚拟化技术的方法是重启主机并进入BIOS,找到virtualization technology或类似项并enable。
b) CentOS 6.0的iso安装文件,minimal版本即可,下载地址:
http://www.centos.org/modules/tinycontent/index.php?id=30
c) Xen 4.1的tarball,最新版本是4.1.2,下载地址:
d) http://www.xen.org/products/xen_archives.html
e) linux-3.0 kernel的tarball,最新版本是3.0.4,下载地址:
http://www.kernel.org/
f) acpica的tarball,下载地址:
http://www.acpica.org/downloads/
g) dev86的rpm包,下载地址
i. x86_64: ftp://mirror.switch.ch/pool/2/mirror/fedora/linux/development/rawhide/x86_64/os/Packages/dev86-0.16.18-1.fc15.x86_64.rpm
ii. i386:ftp://ftp.funet.fi/pub/mirrors/ftp.redhat.com/redhat/linux/9/en/os/i386/RedHat/RPMS/dev86-0.16.3-8.i386.rpm
iii. i586 ftp://ftp.pbone.net/mirror/carroll.cac.psu.edu/pub/linux/distributions/mandrakelinux/official/10.0/i586/Mandrake/RPMS/dev86-0.16.3-2mdk.i586.rpm
iv. i686
二、 安装CentOS 6.0
图形化的安装界面,只要按照提示进行设置即可。这里值得注意的是存储布局的配置。假设所有虚拟机镜像都存储在本地存储中,则需要至少3个逻辑分区:
a) 主目录分区,建议15G以上,挂载到”/”目录。
b) Swap分区,根据内存大小分配。
c) 存储虚拟机镜像的分区。
三、 安装依赖软件(dependencies)
a) 升级yum
# yum update
b) 安装一些基本软件,比如wget、lrzsz(如果使用secureCRT的话)等等
# yum –y install wget lrzsz
c) 安装一些xen所依赖的包
i. # yum –y install transfig tetex-latex ocaml ocaml-findlib hmaccalc ncurses-devel zlib-devel openssl-devel python-devel bridge-utils libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel xorg-x11-server-sdk xorg-x11-xtrans-devel libuuid-devel readline-devel gcc gcc-gfortran gcc-c++ flex pcre-devel blas-devel lapack-devel curl-devel bison gperf gnuplot texinfo-tex tetex-dvips
ii. 安装刚才下载的dev86的rpm
# rpm - i [包名].rpm
d) 安装“开发工具”组 # yum groupinstall “Development Tools”
# yum –y groupinstall “Development Tools”
e) 编译安装acpica
i. 进入compiler目录
# cd /acpica/compiler
ii. 编译安装
# make&&make install
四、 安装Xen
a) 解压缩tarball
# tar zxvf xen-4.1.x.tar.gz
b) 编译安装
i. # cd xen-4.1.x/
ii. # make world && make install
c) 将xen加入到启动脚本
i. # chkconfig --add xencommons
ii. # chkconfig –add xend
iii. # chkconfig –add xendomains
iv. # chkconfig xencommons on
v. # chkconfig xend on
vi. # chkconfig xendomains on
注:一定要按照上述顺序,xencommons必须在xend之前启动
五、 安装3.0内核
a) 解压缩linux-3.0.x的tarball
# tar jxvf linux-3.0.x.tar.gz
b) 安装配置
i. # cd linux-3.0.0
ii. # make menuconfig
iii. 进入一个菜单界面,选择Device Drivers --> Xen driver support,并将所有项目都勾选成[*](用空格键勾选),保存,退出。
iv. # make&&make modules&&make modules_install&&make install&&depmod 3.0.x
注:32位系统上安装会出现一个i2e_core的错误,但这不影响dom0的启动。
六、 设置Grub
a) # vi /boot/grub/menu.lst
b) 更改之前的内容大致如下(以2.6.32为例)
……
default=1
timeout=5
splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.0.4)
……
title CentOS Linux (2.6.32-71.29.1.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-71.29.1.el6.x86_64 ro root=UUID=ab9d8f92-40ce-476e-abc2-14489517db94 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /boot/initramfs-2.6.32-71.29.1.el6.x86_64.img
……
c) 更改后的内容如下,注意红色字体
……
default=0
timeout=5
splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS Linux (3.0.4)
root (hd0,0)
kernel /boot/xen-4.1.1.gz
module /boot/vmlinuz-3.0.4 ro root=UUID=ab9d8f92-40ce-476e-abc2-14489517db94 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
module /boot/initramfs-3.0.4.img
title CentOS Linux (2.6.32-71.29.1.el6.x86_64)
……
P.S. 总的来说,就是将默认启动项变成新安装的3.0内核,并将3.0内核的kernel从vmlinuz换做xen,而选来的vmlinuz变成一个module,下面这个.img文件也变成一个module。
P.P.S 在改grub之前最好先备份一下,这样改残了还可以重新从备份那个文件重新改一次。
七、 完工验收
a) 重启
# reboot
b) 查看dom0是否运行# xm list
c) 如果你看见下面的内容,说明xen的安装启动成功了
Name ID Mem VCPUs State Time(s)
Domain-0 0 6195 8 r----- 8449.4
八、 参考内容
a) 《centos6.0编译安装xen-4.1+linux3.0》
http://singlegod.blog.51cto.com/1909710/675330
b) Xen4.1 Release Notes
http://wiki.xen.org/xenwiki/Xen4.1?highlight=(xen%204.1)