发博文
正文 字体大小:

两种方式轻松安装Xen(1)

(2009-06-16 13:22:00)
标签:

xen

电脑

程序包

内核

python

core

分类: xen学习与研究

两种方式轻松安装Xen(1)

【转自51CTO.com】本文将向读者详细介绍Xen的安装运行方法,从而为进一步使用Xen做好准备。这里,为了满足不同读者的需求,我们介绍了两种安装方式,一种是从二进制安装,一种是从源代码安装。您可以根据自己的实际情况加以选择。

本文以常见的Fedora Core 6为例,介绍Xen的安装方法,至于在其他操作系统上的安装过程与之类似,读者可以触类旁通。在Fedora Core 6上安装Xen后,Xen将位于Fedora Core 6的底层,直接位于机器硬件之上,也就是说Xen将具有比Fedora Core 6更高的权限,这时Fedora Core 6就变成了Xen的Domain0(实际上就是具有管理权限的虚拟机)了。有了Domain0,我们就可以用它创建多个客户domain(就是没有管理权限的虚拟机)来运行不同的操作系统了。如果只用文字说明,不容易说清楚,通过图1,能够更好的帮你理解它们之间的关系:

两种方式轻松安装Xen(1)

                        图1 Xen架构示意图

下面开始介绍Xen的安装过程,不过这里有一个前提,就是您已经安装好了Fedora Core 6。我们先从二进制的安装方法下手。

一、从二进制程序包安装Xen

当前,几乎所有主要linux发行版,例如Red Hat、Debian、Ubuntu 、SUSE 和Gentoo等都已提供了Xen的二进制安装程序包。这样,我们就可以直接用linux发行版所带的安装包来安装Xen。当然,不同的发行版本使用的打包格式可能不太一样,好在它们都有相应的程序包管理器,所以这不会有问题。

需要说明的是,我们这里安装的不仅有Xen 内核,还有相应的程序库、Python模块以及从用户空间跟Xen打交道的应用程序。

◆具体操作

对于Fedora系统,它的程序包管理器是yum,我们将用它从预编译好的程序包来安装Xen。实际上,使用yum安装Xen是一件相当轻松的工作,具体过程如下所示:

1、通过下列命令来安装Xen 内核和有关软件:

yum install kernel-xen xen

这一命令将下载并安装以下程序包及其依赖包:

kernel-xen:该程序包存放的是主机操作系统和客户操作系统以及系统管理程序所用的Xen内核。

xen:该程序包存放的是跟Xen系统管理程序交互的用户空间工具。

bridge-utils :该程序包存放的是用于配置以太网桥的实用程序,以太网桥的作用是将多个以太网设备连在一起。

libvirt :该程序包存放的是一个C库,它提供了使用Xen框架所需的应用编程接口API 。

libvirt-python :该程序包存放的是一个Python 模块,有了它就可以让Python 应用程序使用libvirt提供的Xen框架应用编程接口。

Python-virtinst :该程序包存放的是一个Python 模块,该模块使用libvirt在虚拟机内安装Fedora /Red Hat Enterprise Linux 。

Xen-libs :该程序包存放的是Xen的管理程序所需的程序库。

2、上面讲了Xen的安装,我们再来看看它的引导配置问题。我们知道,Fedora Core 6的系统引导管理器是grub,所以要在其配置文件即/boot/grub/grub.conf文件中添加一个引导Xen内核的条目。执行安装命令后,grub.conf将变成如图2所示:

两种方式轻松安装Xen(1)

                                 图2 修改前的grub.conf文件

从上图可以看到,Xen内核已经在grub.conf中了,但它并不是默认引导的内核。因为default=1,也就是说默认引导的内核是第二个内核,即常规的Linux内核。这样,要想使用Xen内核,要么在引导期间通过grub的菜单手工引导它,或者干脆在grub.conf文件中将它设为默认引导的内核,这样可以一劳永逸。我们选择第二种方式,这种方法需要修改/boot/grub/grub.conf,将default=1改为default=0。这样就把系统默认引导的内核从Fedora内核改成了Xen内核。注意,执行这步时,需要具有root权限。

3、到目前为止,Xen内核的安装已经告一段落。但是,现在我们仍然在使用常规内核,而非刚安装的Xen内核。为了启用新的内核,我们需要重新启动系统。

4、机器重启后,在硬件平台上运行的已不是原来的Fedora Core 6,而是我们新安装的Xen系统管理程序。如若不信,可以用以下命令查看正在运行的内核的版本,如下所示:

 

两种方式轻松安装Xen(1)

                               图3 查看当前的内核版本

5、Xen中用来管理Domain的是守护进程xend,我们可以使用/etc/rc.d/init.d/xend 脚本来启动和停止该守护进程。Fedora Core 6在引导时会自动启动该守护进程。执行以下命令:

pidof xend

该命令将列出当前在系统上运行的进程,以便检查Xend是否正在运行。

6、Xend运行后,它会启动一个具有特权的Domain:Domain0,它实际上就是原先的Fedora Core 6,只不过它现在是在一层软件即Xen系统管理程序上而非硬件之上运行。若要查看Domain0是否已经创建好,并已经运行,可以使用xm 命令,如下所示:

两种方式轻松安装Xen(1)

7、用ifconfig命令检查所有网络接口是否已经可用,包括常规网络接口例如eth0 和lo,以及Xen有关的接口。如果一切正常的话,现在Xen已在运行了。

◆相关说明

我们使用yum安装的软件有:Xen系统管理程序、Dom0内核、Xen使用的程序库和各种Python模块、从Dom0跟Xen交互的用户空间工具等。

在安装的过程中,会自动修改grub的配置文件,即自动在其中添加一些引导Xen系统管理程序和Dom0内核的内容。通过阅读这些内容,能帮我们更好的理解Xen系统的引导过程。下面对在/boot/grub/grub.conf文件中为Xen 内核添加的内容分别加以解释:

title Fedora Core (2.6.19-1.2911.6.5.fc6xen)

上面这一行定义了内核的名称。在引导时,grub会给出一个菜单,让您从中选择要引导的内核,这里定义的内核名称将出现在这个菜单中。

root (hd0,1)

上面这一行定义了引导系统时所用的根分区。

kernel /xen.gz-2.6.19-1.2911.6.5.fc6

上面这一行指定了要引导的内核。对Xen来说,该行要指定Xen系统管理程序的内核,而非Dom0的内核。对于常规的Linux来说,引导的是实际的Linux内核。

module /vmlinuz-2.6.19-1.2911.6.5.fc6xen ro root=/dev/VolGroup00/ LogVol00 rhgb quiet

上面这一行用于指定用于dom0的内核,其中的“root”选项用于规定存放根文件系统的分区,剩下的那些其他选项,并非只针对Xen来的,而是将应用于所有的Linux内核。

module /initrd-2.6.19-1.2911.6.5.fc6xen.img

上面这一行的作用是定义了存放内核在初始化时首先装入的初始RAM磁盘镜像的文件。这个initrd 镜像仅适用于宿主机,而不能用于客户机。

当计算机引导时,它会载入系统管理程序来完成Xen的初始化。这时,会看到屏幕上有许多消息一闪而过。然后,xen系统管理程序会引导Dom0内核。具体过程是,Dom0内核使用的操作系统中有一个名为init的脚本,该脚本会启动Xen的守护进程Xend,然后该守护进程开始创建并加载Dom0。

阅读 评论 收藏 转载 打印举报
已投稿到:
  • 评论加载中,请稍候...

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有