手把手教你在CentOS 5.6下安装Xen虚拟机

玩VPS的朋友们大多知道Xen的名头,因为基于Xen的VPS向来以稳定、性能好而受人青睐。在本教程中,抚琴煮酒将介绍在CentOS 5.6下安装Xen的步骤和需要注意的事项。

第一部分 Xen工作原理

有关Xen的工作原理,可以参考TechTarget在2008年Sander van Vugt发布过的一篇文章,这里不再赘述。

第二部分 Xen在CentOS 5.6 x86_64下的安装步骤

1.安装Xen前的准备工作

首先我这里介绍下安装Xen机器的配置:

手把手教你在CentOS 5.6下安装Xen虚拟机

速龙CPU是基于64位架构的,性价比非常高,是一款我非常喜欢的CPU;硬盘我这里用的是以前淘汰下来的一块老IDE硬盘,大小只有40G;由于盘上已有WindowsXP SP3的系统,所以我这里特的划分了18G Free空间准备安装CentOS 5.6 x86_64。

在安装Xen之前我们先检查一下CPU是否支持Xen虚拟化,命令如下:

egrep '(vmx|svm)' /proc/cpuinfo

如果什么结果都不显示,则表示CPU是不支持Xen虚拟化的,结果显示如下:

flags: fpu tsc msr pae cx8 apic mtrr cmov pat clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8_legacy misalignsse
flags: fpu tsc msr pae cx8 apic mtrr cmov pat clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8_legacy misaligns

2.Xen的安装过程

我们可以用以下命令来安装Xen软件:

yum -y install kernel-xen xen

顺利安装完CentOS 5.6后,我们要修改下/etc/grub.conf文件,让其采用新的内核。

/etc/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,6)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hdb
default=0
timeout=5
splashimage=(hd0,6)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-238.12.1.el5xen)
root (hd0,6)
kernel /xen.gz-2.6.18-238.12.1.el5
module /vmlinuz-2.6.18-238.12.1.el5xen ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.18-238.12.1.el5xen.img
title CentOS (2.6.18-238.el5)
root (hd0,6)
kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-238.el5.img
title Other
rootnoverify (hd0,0)
chainloader +

3.安装Xen虚拟机

下面我们准备安装Xen虚拟机。安装前我们做点准备工作,搭好httpd环境,因为等会我们需要httpd服务。

yum -y install httpd && service httpd start

另外,记得建一个目录以供Xen安装虚拟机使用,我这里是vm;我准备安装两个Xen虚拟系统,一个系统为CentOS 5.6 x86_64,另一个为CentOS 5.0 i386,所以我们将其光盘文件分别用cp -a分别拷至/var/www/html/centos56和/var/www/html/centos5下。如果只有iso文件,我们可以直接在CentOS下用mount命令挂载,命令如下:

mount -t iso9660 -o loop,user download.iso  /isoimage

1)首先我们安装CentOS 5.6 x86_64 Xen虚拟机,安装命令为

virt-install -n vm0 -r 256 -f  /vm/vm01.img -s 4 -nographics -p -l http://192.168.1.119/centos56

2)安装完vm0的Xen虚拟机后,我们再接阗安装一个名为vm1的Xen虚拟机,命令如下:

virt-install -n vm1 -r 256 -f  /vm/vm02.img -s 4 -nographics -p -l http://192.168.1.119/centos5

发现i386系统也很顺利就安装成功了,我们可以用 xm list命令来查看一下

Name                                      ID Mem(MiB) VCPUs State   Time(s)
Domain-0                                   0     1193     2 r-----    114.0
vm0                                        3      256     1 -b----      7.6
vm1                                        2      511     1 -b----     18.

3.Xen虚拟机常用的命令为:

xm list    查看当前机器里的全部虚拟机列表
xm create xxxx 启动名字为xxx的虚拟机
xm shutdown xxx
xm reboot xxx
xm pause xxx
xm resuem xxx

需要管理登入的时候:

xm console xxxx

就可以像在本机一样操作虚拟机了,如果要退出到Domain-0,按住Ctrl+] 就行。

第三部分 Xen虚拟机的优势所在

我以前玩虚拟化时有一个误区,就是我一直想用一个虚拟机能够完美的虚拟我需要的所有系统,比如说Windows Server2003、FreeBSD8、还有CentOS和Debian,所以我一直都是研究VMware ESX系列;后来我发现这种思想是错误的,这也是我决定花时间和精力在Xen上面的原因。Xen的优势所在有如下三点:

一、FreeBSD下的jail(ezjail)的性能出乎我的意料之外,它的使用范围很小,只能虚拟出FreeBSD系统,但这点应付工作就足够了;而我以往玩Xen,总觉得Xen虚拟出的Windows系列很慢,其实完全没有必要,为什么要用Linux的Xen去虚拟Windows呢,在工作中我们完全可以用Linux的Xen只虚拟Linux,满足工作即可;

二、现在我用Critrix XenServer用得非常多,XenServer的优秀性能也给我很深的印象。大家都知道,XenServer系列是基于Xen的基础发展而来的;

三、最近一段时间跟我另一个朋友——卧底兄学习他的Xen在生产环境下的应用。Xen利用模板功能,5分钟就能克隆出一台Xen虚拟机出来,而且在大规模的虚拟机集群部署上,Xen也非常的方便,短时间类就能部署200以台上的Xen虚拟机集群。

以上的一些原因也让我对虚拟化有了更深的认识,也坚定了我继续学习Xen虚拟机的决心。

参考文档:

http://www.searchsv.com.cn/ShowContent_13689.htm?info=svtechguide20090714

相关推荐