Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168729
  • 博文数量: 35
  • 博客积分: 2067
  • 博客等级: 大尉
  • 技术积分: 282
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 10:29
文章分类

全部博文(35)

文章存档

2014年(3)

2011年(2)

2010年(20)

2009年(10)

我的朋友

分类: LINUX

2009-09-17 10:52:58

近年来随着计算机硬件的高速发展,虚拟化技术已经成为计算机业的焦点之一。虚拟化技术从实现途径上来说,由两种典型的派别:泛虚拟化(para-virtualization)和完全虚拟化(HVM)。前者通过修改客户操作系统来配合虚拟化的环境,从而达到较高的性能,但也付出了兼容性和维护性方面的限制,而Xen就是泛虚拟化技术的杰出代表;而完全虚拟化技术常常需要得到处理器级别的硬件支持(如Intel VTAMD-V处理器),或者通过对客户机执行代码进行动态二进制代码转换,然后可以无需修改的直接运行一个已有的操作系统,使得虚拟化技术的应用更加容易。完全虚拟化的代表产品有VMware, VirtualPC, QEMU等。

即使你研究的不是虚拟化,体验一下Xen这个目前世界上最流行的虚拟机管理器(VMM)并感受其巨大的魅力也是值得的。本文主要介绍如何在Fedora 10下使用源码安装Xen 3.3.1

首先准备好两个源代码包xen-3.3.1.tar.gzlinux-2.6.18-xen.hg.gz,可从上下载。

使用tar xzvf xen3.3.1.tar.gz命令解压xen.3.3.1.tar.gzFedora 10系统目录(可以为任一目录,我将其解压在/usr/local目录)

打开README文件可以查看安装Xen前必须安装的软件包:

* GCC v3.4 or later

* GNU Make

* GNU Binutils

* Development install of zlib (e.g., zlib -dev)

* Development install of Python v2.3 or later (e.g., python-dev)

* Development install of curses (e.g., libncurses -dev)

* Development install of openssl (e.g., openssl -dev)

* Development install of x11 (e.g. xorg-x11-dev)

* bridge-utils package (/sbin/brctl )

* iproute package (/sbin/ip )

* hotplug or udev

进入xen3.3.1/tools/check目录,运行./chk build命令,可查看目前这些必需的软件包的安装状态。可运行./chk install进行安装,也可使用yum install命令对那些必需软件进行在线安装,如:

yum install gcc

yum install binutils

yum install zlib-devel

yum install python-devel

yum install ncurses-devel

yum install openssl-devel

yum install libX11-devel

yum install bridge-utils

yum install iproute

yum install udev

由于安装过程可能需要联网,所以最好使用yum install mercurialyum install hg命令使得hg可用。

最后./chk build全部OK后才能进入下一步安装。

如果网络条件足够好,并可以顺利从国外网站上下载东西,不需要修改配置文件即可进行安装;如果网络条件不够好,则需要修改xen3.3.1目录下的Makefile文件和buildconfigs目录下的src.hg-clone文件。因为当安装stubdom时需要从国外服务器上下载文件,而stubdom是从xen3.3引入的,并不是必需的,故可以Makefile文件里将stubdom相关的代码注释掉;而在编译过程中默认会从国外服务器上使用hg clone一个linux-2.6.18-xen.hg目录(200M),其实就是我们准备好的linux-2.6.18-xen.hg.gz,可对src.hg-clone文件的一些hg代码进行删除。

在编译之前介绍一下make world这个命令。进入Makefile可以发现,其实make world就是make cleanmake kdeletemake dist这三个命令的集合。前两个命令主要用作编译操作的回滚,而负责安装工作的就是make dist这个命令。

解压linux-2.6.18-xen.hg.gz后,将linux-2.6.18-xen.hg这个文件夹拷贝到xen3.3.1目录下,如果编译前没修改任何配置文件的话,不推荐使用make world这个命令。因为使用make world命令后,make cleanmake kdelete会将拷贝进来的linux-2.6.18-xen.hg文件夹删除,并在编译时再从国外服务器上重新下载这个200M的文件夹,将极大地影响编译的效率。所以,要么使用make代替make world进行编译,要么修改Makefile$MAKE clean$MAKE kdelete 注释掉。

我使用make命令进行编译,然后使用make install进行安装。

安装成功后没有successful提示,但安装不成功会有错误提示。如果没有任何错误提示(警告提示是正常的),说明已经安装成功了。Xen安装成功后会生成/etc/xen目录,/lib/modules下会多一个xen相关的目录,/boot目录下也会多几个像xen-3.3.1.gzvmlinuz的文件,也可以检查并确认一下Xen的安装状态。

接下来在boot目录下使用mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.18.8-xen.img 2.6.18.8-xen命令生成initrd-2.6.18.8-xen.img镜像文件。(当然我针对的是有专门的boot分区的fedora系统,可在/boot/grub/menu.lst/boot/grub/grub.conf文件里查看,如果有专门的boot分区,fedoragrub代码前会有/boot)

最后修改grub配置文件(/boot/grub/menu.lst/boot/grub/grub.conf文件)

title Xen 3.3

root (hd0, 7) //这个依据你的fedora分区而定

kernel /boot/xen-3.3.1.gz console=vga //有没有/boot可以参照fedora的引导代码

module /boot/vmlinuz-2.6.18.8-xen ro console=tty0

module /boot/initrd-2.6.18.8-xen.img

重启,进入grub后选择Xen 3.3.1,这时你就可以体验Xen并感受虚拟化的魅力了。

阅读(1947) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~