在Linux系统上安装Xen
作者:zccst
前面的话
1, Linux虚拟化
大家都知道,windows下有一款虚拟机:VMware,做得很好。可是在Linux下是否也有类似的虚拟机呢?答案是肯定的,而且从Linux虚拟机概念的提出到今天,已经陆续推出多种虚拟机软件,比较知名的如Xen,KVM等等。
2, Linux下面的虚拟化有两种模式,一种是半虚拟化,一种是全虚拟化。半虚拟化
(Paravirtualization)是:客户操作系统需做一些修改。而全虚拟化(Full Virtualization)是:客户操作系统无需任何修改。两者的区别是:需不需要客户参与修改。
由于我的cpu不支持VT,所以只能半虚拟化安装。下面是半虚拟化安装全过程。
3, Xen介绍
与VMware不同的是,Xen是开源软件,关于Xen的介绍可以去官网www.xen.org。
好了,有了上面的介绍,下面开始安装Xen。
安装Xen
系统:CentOS 5.3
安装有几种方式,可供选择,你只需选择其中之一即可。
方式一:类windows安装。
类似windows下的安装。具体操作为:
用鼠标点击左上角 应用程序 -> 添加或删除软件 -> 虚拟化,选中安装即可。
方式二:命令行安装。
# yum –y install xen*
安装XEN需要的服务
# yum -y install kernel-xen*
安装XEN的相关内核
方式三:源码包安装
1,下载。可以到www.xensource.com。
2,解压。tar
3,进入目录。cd
4,make KERNELS="Linux-2.6-xen0 linux-2.6-xenU" world
这一步需要一些第三方包,如python。需要什么就安装什么就可以。编译完成后,会在dist目录生成需要安装的东西。
5,make install
如果以上步骤出错,请Google或Baidu之。安装完毕后,你会发现在/boot下新安装了三个东西:xen-3.1.0.gz,vmlinuz-2.6.18-xen0和vmlinuz-2.6.18-xenU。xen-3.1.0.gz是hyperviser,或者叫VMM;内核xen0是运行在domain0的,内核xenU运行在其它的domain。
检测
安装完毕后,想检查安装是否成功
1、检查xen内核文件
安装是否正常:文件位于/boot
# ls –lh /boot
total 9.5M
-rw-r--r-- 1 root root 61K Mar 16 08:19 config-2.6.18-8.el5
-rw-r--r-- 1 root root 60K Mar 16 09:27 config-2.6.18-8.el5xen
drwxr-xr-x 2 root root 1.0K Aug 15 14:47 grub
-rw------- 1 root root 1.5M Aug 13 17:18 initrd-2.6.18-8.el5.img
-rw------- 1 root root 1.5M Aug 15 14:47 initrd-2.6.18-8.el5xen.img
drwx------ 2 root root 12K Aug 13 17:15 lost+found
-rw-r--r-- 1 root root 79K Apr 1 22:49 message
-rw-r--r-- 1 root root 82K Mar 16 08:20 symvers-2.6.18-8.el5.gz
-rw-r--r-- 1 root root 83K Mar 16 09:28 symvers-2.6.18-8.el5xen.gz
-rw-r--r-- 1 root root 865K Mar 16 08:19 System.map-2.6.18-8.el5
-rw-r--r-- 1 root root 848K Mar 16 09:27 System.map-2.6.18-8.el5xen
-rw-r--r-- 1 root root 1.7M Mar 16 08:19 vmlinuz-2.6.18-8.el5
-rw-r--r-- 1 root root 2.0M Mar 16 09:27 vmlinuz-2.6.18-8.el5xen
-rw-r--r-- 1 root root 269K Mar 16 07:51 xen.gz-2.6.18-8.el5
-rwxr-xr-x 1 root root 595K Mar 16 09:43 xen-syms-2.6.18-8.el5
2、检查grub配置
# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-8.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-8.el5
module /vmlinuz-2.6.18-8.el5xen ro root=LABEL=/
module /initrd-2.6.18-8.el5xen.img
title CentOS (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/
initrd /initrd-2.6.18-8.el5.img
修改其中的default=1为default=0,启用xen内核
3、重新启动计算机
4、重启后登录系统,检查XEN是否正常
(1) 执行# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 434 1 r----- 126.8
出现上述结果表示xen启动正常
(2) 检查log:
#ls -lh /var/log/xen
total 8.0K
-rwxr-xr-x 1 root root 36 Aug 15 15:43 xend-debug.log
-rw-r--r-- 1 root root 1.8K Aug 15 15:43 xend.log
# cat /var/log/xen/xend-debug.log
Nothing to flush.
Nothing to flush.
表示一切正常,我们的CentOS5中的XEN服务已经成功启动。至此,我们的CentOS5的宿主机已经安装就绪。