xen的架构设计与工作原理参考自:

http://www.cnblogs.com/BloodAndBone/archive/2010/11/02/1866907.html

1、安装xen

在centos上安装xen所需要的内核文件和工具文件,由于需要大量的依赖包,因此这里用yum安装来解决大量包依赖性问题。

所需要的软件如下:

kernel-xen,xen,xen-libs,virt-manager,python-virtinst.

软件安装完成后,修改grub.conf配置文件,使得系统启动默认引导xen内核,并把xend

进程设置为自启动。然后重启计算机,这样就会启动进入加载xen内核的系统。

输入uname -r打印如下内核消息

2.6.18-194.el5xen

输入xm list命令,查看查看已启动的虚拟机

 

Name                                      ID Mem(MiB) VCPUs State   Time(s)

Domain-0                                   0      491     1 r-----    636.9

Domain-0为具有高特权的虚拟机,可以为其他普通虚拟机提供操作,比如硬件驱动。

2、在xen虚拟机上安装系统。

这里以安装rhel5.5为例,首先创建磁盘文件

mkdir /xen

dd if=/dev/zero  of=/xen/rhel5.img bs=1024k count=8000

创建一个8G大小的磁盘文件,下面将在该磁盘文件上安装操作系统。

virt-install -n rhel5 -r 512 -f /xen/centos5.img --nographics -l ftp://192.168.0.201/pub/repo

-n指定虚拟机名称

-r指定内存大小,这里为512M

-f指定磁盘文件路径

--nographics不使用图形安装界面

-l指定操作系统安装源,这里为ftp源,只需要搭建ftp,并把rhel的iso包里面的文件全部复制到ftp公共目录pub/repo下即可。如果浏览器能直接通过ftp://192.168.0.201/pub/repo访问到iso包里面的目录结构,则这里也可以作为安装源。

这里除了用ftp,还可以用http,或者nfs

执行该命令后,开始进入红帽的文字界面的安装向导,安装完成后,则一个rhel的虚拟机安装完成。

在宿主机上,再次运行xm list,列出新运行起来的虚拟机。

 

Name                                      ID Mem(MiB) VCPUs State   Time(s)

Domain-0                                   0      491     1 r-----    640.0

rhel5                                      2      511     1 -b----     33.1

如果需要安装多台虚拟机系统,不需要一个个安装,只需要对已经安装的某个虚拟机系统进行克隆即可,克隆之前,需要先停掉被克隆的虚拟机,这里以rhel5为例,先停掉

virt-clone -o rhel5 -n virt-centos5 -f /xen/clone01/cln.img

-o指定被克隆虚拟机rhel5,-n指定新虚拟机virt-centos5,-f指定虚拟机存放的位置。

克隆完成后,在xen的配置目录/etc/xen下会生成virt-centos5配置文件,后面启动虚拟机即用该文件启动。

启动虚拟机:

xm create /etc/xen/virt-centos5

如果启动时报内存不足错误,则为宿主机内存不够用或者新虚拟机内存设置过大,这时增加宿主机内存即可。

启动后,xm list会列出该虚拟机正在运行

Name                                      ID Mem(MiB) VCPUs State   Time(s)

Domain-0                                   0      486     2 r-----     85.3

rhel5                                      1      511     1 -b----     27.8

virt-centos5                               3      511     1 -b----     25.4

新虚拟机为避免ip冲突,虚拟机ip会自动改为dhcp获取,因此需要修改ip,并且修改新虚拟机的主机名,以免和被克隆虚拟机冲突。