`

在CentOS 6.3上安装Xen 4.1.2

    博客分类:
  • xen
阅读更多
        经过几天的折腾,终于成功的在CentOS 6.3上安装了Xen 4.1.2,现将详细过程记录下来,可以作为大家的参考,欢迎指正^_^

0. 准备

        安装前请确认你的CPU支持VT-d,并在BIOS中打开VT-d支持(该选项默认是关闭的)。关于支持VT-d的CPU和主板等硬件的详情,请参考Xen Wiki上的VTd HowTo
        所需的软件及其版本信息如下:
CentOSCentOS-6.3-x86_64
XenXen 4.1.2 (hypervisor and tools)下载
Kernellinux-3.0.38下载
Patchblktap2-3.0.patch下载

说明:
  • 最好用64位的CentOS,不记得在哪里看到这个说明了,知道的兄弟给说一下,谢啦~~~

1. 安装CentOS6.3

        系统安装就不多说了,基本上大家都会,根据自己的喜好安装就OK了。如有疑问,可以参考Xen Wiki上的RHEL6 Xen4 Tutorial
        系统安装完成后,还需进行下面的几个操作:

1.1 更新系统

        # yum update

1.2 禁用SELINUX

        # vim /etc/selinux/config
        把其中SELINUX的值修改为:SELINUX=disabled。
        # reboot

1.3 安装XEN需要的包

        # yum groupinstall "Development tools" "Additional Development" "Debugging Tools" "System administration tools" "Compatibility libraries" "Console internet tools" "Desktop Platform Development"

        # yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial texinfo libuuid-devel

        此外,还需安装32位版本的glibc-devel
        # yum install glibc-devel.i686

说明:
  • 以上所有的命令均在一行命令中。
  • 如其中的一些包已经安装,则yum不会再次安装,只是提示包已经安装的信息。所以,不管系统中已经安装了什么包,只需把上面几个yum命令运行一遍即可。

2. 编译内核

         题外话:为什么选择3.0.38版本的内核?
         CentOS6.3安装后的默认内核为2.6.38版本的,根据Xen Wiki上RHEL6 Xen4 Tutorial中的说明,RHEL6没有集成Xen Hypervisor和相关工具,其内核也不是Xen Dom0兼容的内核。作为RHEL社区版的CentOS,自然也有上述的问题。所以,需要自己下载兼容Xen的内核源代码,并重新编译内核。
        至于选择3.0.38,则是因为我同事用3.0.36的内核成功安装了Xen,所以我就从www.kernel.org下载了与他用的版本最接近的内核,O(∩_∩)O哈哈~

2.1 准备工作

        从www.kernel.org上下载的3.0.38版本的内核,可以作为Xen Dom0的Kernel,但是其中却没有包含bkltap2的内核驱动。根据xen-devel邮件组中的信息,blktap2的内核代码并没有被内核开发组所接受(详情)。所以,如果想使用blktap2的功能(如用vhd/qcow格式的文件作为VM的虚拟硬盘),必须下载相应的内核补丁。
        Xen开发组开发了专门的blktap2内核补丁(下载),共有两个:blktap2-3.0.patch是针对3.0.x版本内核的,blktap2-3.2.patch是针对3.2.x版本内核的,大家可以根据自己的内核版本选择。打补丁的命令如下:
        # cd /path/to/kernel/src
        # patch -p1 < /path/to/patch

说明:
  • 没有找到针对其他3.x版本内核的补丁,所以,请大家在选择内核版本前,考虑清楚自己的需求,避免做无用功。
  • 如果不想自己打补丁,可以根据Xen Wiki上Xen Kernel Feature Matrix中的说明,选择符合自己需求的Kernel Source。

2.2 编译内核
       
        进入内核源码目录后,执行如下命令:
        # make clean
        # make mrproper
        # make menuconfig
        # make && make modules && make modules_install
        # make install

        编译选项(参考Xen Wiki上的Mainline Linux Kernel Configs)摘要如下:

  • CONFIG_X86_IO_APIC=y
  • CONFIG_XEN_DOM0=y
  • CONFIG_PCI_XEN=y
  • CONFIG_XEN_PRIVILEGED_GUEST=y
  •       备注:这几项在make menuconfig中未找到,但是在.config文件中都有。

  • CONFIG_XEN_PCIDEV_BACKEND=m
  •       备注:该选项在.config文件中未找到。

  • CONFIG_ACPI=y
  • CONFIG_ACPI_PROCFS=y (optional)
  •       Power management and ACPI options --->
          [ * ] ACPI (Advanced Configuration and Power Interface) Support --->
          [ * ]      Deprecated /proc/acpi files

  • CONFIG_XEN_BLKDEV_BACKEND=m
  •       Device Drivers --->
          [ * ] Block devices --->
          <*>     Block-device backend driver

  • CONFIG_XEN_NETDEV_BACKEND=m
  •       Device Drivers --->
          -*- Network device support --->
          <*>     Xen backend network device

  • CONFIG_XEN_BALLOON=y
  • CONFIG_XEN_SCRUB_PAGES=y
  • CONFIG_XEN_DEV_EVTCHN=y
  • CONFIG_XEN_BACKEND=y
  • CONFIG_XENFS=y
  • CONFIG_XEN_COMPAT_XENFS=y
  • CONFIG_XEN_SYS_HYPERVISOR=y
  • CONFIG_XEN_GNTDEV=y
  •       Device Drivers --->
               XEN driver support --->
          [ * ]     Xen memory balloon driver
          [ * ]          Scrub pages before returning them to system
          <*>     Xen /dev/xen/evtchn device
          [ * ]     Backend driver support
          <*>     Xen filesystem
          [ * ]          Create compatibility mount point /proc/xen
          [ * ]     Create xen entries under /sys/hypervisor
          <*>     userspace grant access device driver

         其中,ACPI选项必须选上,否则无法选择Dom0的其他相关选项。根据Mainline Linux Kernel Configs中的说明,下面两个选项在RHEL 5和CentOS 5中必须选上,为了保险,在CentOS 6中也选上吧。我没选这两个选项,Xen也可以正常使用。
  • CONFIG_SYSFS_DEPRECATED=y
  • CONFIG_SYSFS_DEPRECATED_V2=y
  •       General Setup --->
          [ * ] Enable deprecated sysfs features to support old userspace tools
          [ * ]     Enable deprecated sysfs features by default

        对内核打了blktap2的补丁(blktap2-3.0.patch)后,在编译内核时,会在Device Drivers -->Block devices下面多出一个BLKTAP相关的选项,一定要选上[=y]:
      Device Drivers --->
      [ * ] Block devices --->
      <*>     Blktap userspace devices

        内核编译完成后,用新内核重启系统。

说明:
  • 在CentOS 6.3上,3.0.38版本的内核make install时会自动生成initramfs-3.0.38.img文件,不用再进行专门的制作initramfs-xxx.img文件。
  • 编译内核时,有些Xen的选项可以作为模块编译,我怕麻烦,就把所有能编译到内核中的选项都编译到内核中了[=y]。个别只能编译成模块的选项,就随它去吧。

3. 编译Xen

         编译Xen就比较简单了,下载Xen 4.1.2并解压:
         # tar -zxvf xen-4.1.2.tar.gz

        进入Xen的解压目录,开始编译安装:
        # make world
        # make install

       之后,修改grub.conf文件,添加Dom0启动选项:

        title Xen 4.1 with Linux 3.0.38 Dom0
                root (hd0,0)
                kernel /boot/xen.gz dom0_mem=1024M loglvl=all guest_loglvl=all
                # 下面这一行即为其他正常启动选项的kernel行,照抄过来就行
                module /boot/vmlinuz-3.0.38 ro …...
                module /boot/initramfs-3.0.38.img

         重启,选择Dom0 Kernel。进入系统后,可以通过xl info和xl list命令来验证Xen Hypervisor的功能是否正常。

        # xl list
        Name            ID     Mem   VCPUs     State     Times(s)
        Domain-0      0      1024            2      r-----            10.5
分享到:
评论
1 楼 yidao620c 2012-07-28  
  

相关推荐

    Centos6.3 yum安装lamp架构

    Centos6.3 yum安装lamp架构

    CentOS 6.3 安装VMTools

    通过以上步骤,您已经成功地在 CentOS 6.3 中安装了 VMTools 并进行了相应的优化设置。这些操作不仅可以提高虚拟机的性能,还能让您在使用 CentOS 过程中更加得心应手。希望本文档对您的学习和工作有所帮助。

    CentOS6.3安装nginx操作指南

    在 CentOS 6.3 上安装 Nginx 是一项常见的任务,Nginx 是一个高性能的 Web 和反向代理服务器,以其轻量级、高效的特性深受开发者和系统管理员的喜爱。本指南将详细解释如何在 CentOS 6.3 环境下安装 Nginx,以及涉及...

    64bit CentOS6安装、配置Xen4.1.2

    在安装完成后,您可以参照RHEL6Xen4Tutorial进行更深入的配置。这个教程非常详细,包含了可能遇到的问题及其解决方法。务必仔细阅读并理解其中的每一个环节,因为它将帮助您避免许多潜在问题。 4. **安装bridge-...

    centos6.3版本的安装于配置

    主要是针对配置centos6.3版本的安装、python26的安装、python26模块的安装、nginx服务的安装、hg安装、解决乱码问题及ftp问题,centos6.3版本的安装与配置,安装过程中的配置,安装包选择

    CentOS6.3 Linux操作系统安装教程

    在安装类型中,选择“现在定制”以自定义安装。 在软件选择界面,勾选“服务器”类别中的“万维网服务器”,这将包含Apache、MySQL和PHP等LAMP所需组件。确认后,系统会提示您需要的光盘数量,准备这些光盘以便安装...

    centos6.3 yum安装软件包全集

    在CentOS 6.3上,`yum`(Yellowdog Updater, Modified)是默认的包管理器,用于安装、更新和管理软件包。`yum`简化了在RPM(Red Hat Package Manager)系统上的软件包处理,通过自动化依赖关系解决,使得用户可以...

    CentOS 6.3安装(超级详细图解教程

    CentOS 6.3安装(超级详细图解教程) 相当齐全

    CentOS6.3源码安装mysql5.6方法.pdf

    在本文中,我们将详细讨论如何在CentOS 6.3上通过源码来安装MySQL 5.6.10。这个过程涵盖了从下载源码到配置、编译和启动MySQL服务的所有步骤。 首先,你需要访问MySQL的官方网站...

    CentOS6.3安装(超级详细图解教程)

    CentOS6.3安装(超级详细图解教程)。具体软件安装步骤与方法。

    远程安装CentOS6.3

    在安装 CentOS 6.3 之前,需要进行硬 RAID 配置。硬 RAID 是一种基于硬件的 RAID 配置方式,能够提高存储性能和安全性。 CentOS 6.3 安装教程 1. 下载 CentOS 6.3 64 位安装镜像文件:...

    centos 6.3 64位下载

    标题中的“CentOS 6.3 64位下载”涉及到的是Linux操作系统的一个特定版本——CentOS 6.3的64位安装镜像。CentOS(Community ENTerprise Operating System)是基于Red Hat Enterprise Linux(RHEL)的开源免费操作...

    安装CentOS6.3系统

    在开始安装CentOS 6.3之前,我们需要确保已经准备好了必要的工具和资源。首先,需要从官方镜像站点下载CentOS 6.3的ISO镜像文件。根据提供的链接: - **下载地址**:...

    Centos 6.3最小化安装桌面脚本

    Centos 6.3最小化安装桌面脚本 在最小化系统安装桌面

    CentOS 6.3安装文档

    在本文中,我们将深入探讨如何安装 CentOS 6.3,这是一个基于 Linux 的操作系统,尤其适合初学者和那些熟悉 6.x 系列版本的用户。虽然 CentOS 6.3 已经不再支持,但了解其安装过程对理解 Linux 安装原理仍有价值。 ...

    CentOS 6.3 网络配置

    在本篇文章中,我们将介绍在 CentOS 6.3 中两种常见的网络配置方式:编辑配置文件和使用 setup 命令。 方式 1:编辑配置文件 在 CentOS 6.3 中,默认的网络配置文件位于 /etc/sysconfig/network-scripts/ 目录下,...

    CentOS6.3

    “源码”标签可能意味着讨论的内容涉及到编译自源代码的软件包,比如在CentOS 6.3上构建和安装软件时,用户可能需要从源代码编译,因为某些软件没有预编译的二进制包。这通常涉及使用GCC编译器、Makefile以及相关的...

    CentOS 6.3下mysql的卸载与安装全过程.

    本文将详细介绍在CentOS 6.3上如何卸载旧版本的MySQL并安装新版本的过程。 首先,我们来了解一下卸载MySQL的步骤: 1. **检查已安装的MySQL组件**: 使用`rpm -qa | grep -i mysql`命令可以列出所有与MySQL相关的...

Global site tag (gtag.js) - Google Analytics