黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 操作系统 >> LINIX UNIX >> 正文
·完美空间提供500M免费AS04-10·企业安全之YY内网准入以04-09
·企业安全之意识与策略04-09·剑走偏锋:IIS漏洞利用04-09
·我来免费网提供100M免费04-09·1122mb.com提供20G超大免04-08
·映像劫持与反劫持技术04-07·让所有"暴力删除工具"无04-07
·入侵88red系统的详细过程04-07·Sql Injection脚本注入终04-07
·vbs+delphi 反弹后门生成04-07·飞讯网提供100MB免费PHP04-07
·突破SQL注入攻击时输入框04-04·结合内核和病毒技术的最04-04
·Real Player rmoc3260.d04-04·亿万网络今月最后为您提04-04
·php+mysql 5 sql inject04-03·Real Player rmoc3260.d04-03
·oblog文件下载漏洞04-03·免费啦提供1G-2G免费全能04-03
·完全解析网页后门和挂马04-02·一句话开3389(只测试过04-02
·萧萧免费空间网提供100M04-02·谷道免费空间网提供1G免04-01
·从本地入手解决双线路由03-31·sablog 1.6 多个跨站漏洞03-31
·富文本编辑器的跨站脚本03-31·Cookie注入是怎样产生的03-31
[推荐]Linux上的虚拟化技术 Xen 初学者指南
      ★★★

Linux上的虚拟化技术 Xen 初学者指南

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-7-18 9:16:06

  3、Xen的安装;

  在写本文时,Xen的当前最新版本是xen-3.0.1,它基于的内核版本是2.6.12.6的。您可以根据自己的操作系统的情况来选择一种安装方式,适合您的就是最好的;

  3.1 安装Xen的准备工作;

  拥有 GRUB引导的Linux做为安装平台,还要编译工具,比如gcc、binutils 及make和automake等;开发库有zlib和python-dev等;

  具体明细请参阅: 《Xen v3.0 用户手册》

  由于Xen用Python 开发的,所以Python 当然也是必不可少的。如果您是新手,我建议您用自己所用的操作系统软件包管理工具来安装这些软件包。

  3.2 在Redhat/Fedora 操作平台上的安装;

  在Fedora/Redhat平台上安装比较简单,您可以通过yum 来在线安装Xen和支持Xen的内核;因为Fedora/Redhat已经提供对Xen的支持了;Fedora/Redhat 提供的Xen内核支持比较高;不过就目前我的测试来看好象经常会机器重启,存在的问题可能是桌面环境造成的,比如GNOME桌面,打开就有重启的现象,也可能是Fedora/Redhat提供的Xen内有BUG;

  安装Xen及支持Xen的请参考:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》

  对于Fedora 4.0及Redhat和Fedora 5.0类似;现在Yum的源上都有Xen和支持Xen的内核包;

  3.3 通过Xen的二进制包来安装(几乎适用所有的Linux发行版);

  通过Xen的二进制软件包来安装,这应该是通用的,几乎适合所有的Linux操作系统。由于二进制所是已经编译好的,我已经在Slackware 平台上用这种方法来安装,还是成功的。另外etony兄也在Debian上安装成功;

  您应该到 http://www.xensource.com/downloads 去下载二进制包,文件名中带有xen-3.0.1-install字样的,比如 xen-3.0.1-install-x86_32.tgz,这个软件包表示适用x86_32位机器的。也就是我们用的普通32位PC机。如果您用的是64位机器,应该下载文件名带有x86_64字样的软件包;

  下载好后,就解压安装,我们还是以支持x86_32构架机器的xen-3.0.1-install-x86_32.tgz为例:

  [root@localhost ~]# tar zxvf xen-3.0.1-install-x86_32.tgz

  [root@localhost ~]# cd xen-3.0.1-install

  [root@localhost xen-3.0.1-install]# sh install.sh

  判断是不是安装好了,请查看/boot目录,会发现有很多文件名带有xen字样的文件,另外在/lib/moudules中也会发现有支持xen的内核模块;另外再看一看是否有/etc/xen这个目录。我想应该是有的。

  3.4 通过Xen的源码包编译安装(仅供参考);

  通过Xen的二进制包来安装,可能有时内核不太适应我们的需要,这时我们要通过Xen的源码包来安装。通过自己编译来安装Xen及支持Xen的内核;Xen的源码包,您可以到 http://www.xensource.com/downloads去下载。文件名带有 xen-3.0.1-src字样的,比如 xen-3.0.1-src.tgz。

  3.41 编译原理;

  通过Xen的源码包编译,其实也没有什么神秘的。在Xen的源码包中提供了一些内核补丁和内核配置文件等。当我们执行编译命令时,首先编译的是Xen程序本身,然后是编译内核 。在编译内核时,程序会自动判断是否有内核源码 ,xen-3.0.1支持的内核是2.6.12.6,如果在xen的解压目录下没有,他就会自动内核的官方站 http://www.kernel.org 下载 linux-2.6.12.tar.bz2。然后就是自动解压并为此内核打补丁。然后系统会根据指令要求,然后采用相应的内核配置文件,或配置内核进行编译。

  3.42 编译过程简说;

  第一步:解压软件包,查看Xen源码包所带的文件;

  [root@localhost ~]# tar zxvf xen-3.0.1-src.tgz

  [root@localhost ~]# cd xen-3.0.1

  [root@localhost xen-3.0.1]# ls

  COPYING Config.mk README docs install.sh patches xen

  ChangeLog Makefile buildconfigs extras linux-2.6-xen-sparse tools

  我们解压xen-3.0.1-src.tgz 后,进入解压目录,会看到以上的文件或文件夹。patches是内核的补丁包,linux-2.6-xen-sparse是支持Xen的内核目录树,值得注意的是内核的配置文件就在这个目录中;

  [root@localhost xen-3.0.1]# ls linux-2.6-xen-sparse/arch/xen/configs/

  xen0_defconfig_ia64 xen0_defconfig_x86_64 xenU_defconfig_x86_32 xen_defconfig_x86_32

  xen0_defconfig_x86_32 xenU_defconfig_ia64 xenU_defconfig_x86_64 xen_defconfig_x86_64

  看到上面所列出的内核配置文件了吧,我们可能会发现文件名带有xen0字样的和xenU字样的两类文件。在这两类内核中,我们大多会修改的内核配置文件是运行xen的操作系统的内核配置文件,另一个是用于虚拟操作系统的内核配置文件;

  xen0字样的就是我们一般是用于我们运行xen的操作系统的内核 ,而xenU字样的就是为虚拟操作系统所提供的内核。另外还有x86_32和x86_64之分,这表示CPU的架构。

  比如我们用的是x86架构32位的CPU,我们在编译内核的时候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。

  举个例子:比如我的机器架构是x86_32位的,我安装xen的操作系统是Slackware,我想在Slackware 虚拟Debian 、Gentoo、Fedora等操作系统。这时编译虚拟平台Slackware所用的内核的配置文件就是 xen0_defconfig_x86_32 ,而被虚拟平台(Debian 、Gentoo、Fedora等操作系统)所用的内核就是 xenU_defconfig_x86_32 。

  弄明白内核配置文件有何用?我们能明白xen在编译过程中用了哪些内核配置文件,目的是我们在编译过程中可以根据自己的需要来修改它,以编译出适合我们需要的内核。

  比如我们想让Slackware 支持xen,并且还要支持NTFS文件系统;所以我们就要修改 xen0_defconfig_x86_32这个文件。找出如下一行;

  # CONFIG_NTFS_FS is not set

  改为

  CONFIG_NTFS_FS=m

  如果您想让被虚拟的操作系统(Debian 、Gentoo、Fedora等)也支持NTFS文件系统,所以要在 xenU_defconfig_x86_32找出如下一行;

  # CONFIG_NTFS_FS is not set

  改为

  CONFIG_NTFS_FS=m

  第二步:配置内核;

  这一步有两种方法,一个是直接修改内核配置文件,另一个是内核配置界面来配置;

  方法一:通过修改内核配置文件;

  Xen所带的内核配置文件位于解压目录中的linux-2.6-xen-sparse/arch/xen/configs 。我们前面已经提到了相关配置文件的用途。请仔细看前一步的说明;

  方法二:通过内核配置界面来配置;

  [root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig

  第三步:编译和安装Xen;

  [root@localhost xen-3.0.1]# make

  [root@localhost xen-3.0.1]# make install

  3.43 创建initrd文件;

  有的系统需要initrd-XXXX.img或initrd.gz文件才能引导起来,如果您的系统用了支持xen的支持引导不起来,就要创建一个initrd-XXXX.img或initrd.gz的文件;请参考: 《Xen v3.0 用户手册》

  3.44 关于xen0和xenU内核说明;

  一般的情况下会在/boot目录中有两个与xen相关的内核,有的文件名带有vmlinuz-XXXX-xen0字样的,有的带有vmlinuz-XXXX-xenU字样的;比如:

  [root@localhost xen-3.0.1]# ls -la /boot/vmlinuz*xen*

  lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6-xen0 -> vmlinuz-2.6.12.6-xen0

  lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU

  lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6.12-xen0 -> vmlinuz-2.6.12.6-xen0

  lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU

  -rw-r--r-- 1 root root 2180524 2006-04-12 07:42 /boot/vmlinuz-2.6.12.6-xen0

  -rw-r--r-- 1 root root 1129950 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU

  其实就是两个与xen相关的内核,其它的都是这两个内核文件的链接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用来引导虚拟平台的,比如我们在Slackware上安装Xen,那Slackware就是虚拟平台;所以如果要让Slackware的xen能运行起来,必须用xen相关的内核 ,也就是vmlinuz-2.6.12.6-xen0这个内核。 而XenU字样这个内核,是用来引导虚拟操作系统用的,我们在以后会提到它。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

文章录入:sygbox    责任编辑:sygbox 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
VIP 专 区
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886