`
l514941630
  • 浏览: 47087 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

在 Ubuntu 上源码安装 Xen

阅读更多


这篇文章是在写 在 Debian 上源码安装 Xen 的时候一起写的,原本以为 Ubuntu 和 Debian 很相似、差别不大,配置过程可以直接套用而不用大修改,试了才知道其实不是那么简单。Ubuntu 9.10 使用的是 grub 2.0,被证实一些 bug 会导致 Xen 不能在 grub 2.0 的引导下正常启动,所以一种 workaround 的办法就是删除掉 grub 2.0,使用老版本的 grub. VPSee 不喜欢在服务器上使用 Ubuntu 的最新版本就是因为 Ubuntu 更新速度太快,版本发行太频繁,导致很多旧版本的问题还没解决就要开始赶鸭子上架推新版本,对了,今天好像是 Ubuntu 10.04 LTS 的发行日。以下的操作记录使用最新的 Xen 4.0.0 源代码版本和 Ubuntu 9.10,这里还有在 CentOS 下源码安装 Xen 的过程。
安装需要的软件包

首先最小化安装 Ubuntu,然后安装编译 Xen 和 Linux xen kernel 所需要的软件包:

$ sudo apt-get install gcc g++ make patch libssl-dev bzip2 gettext \
zlib1g-dev python libncurses5-dev libjpeg62-dev libx11-dev \
libgcrypt11-dev pkg-config bridge-utils bcc bin86 libpci-dev \
libsdl-dev python-dev texinfo libc6-dev uuid-dev bison flex fakeroot \
build-essential crash kexec-tools makedumpfile  libncurses5 \
libncurses5-dev iasl

$ sudo apt-get build-dep linux

安装 Xen hypervisor 和 tools

到 http://www.xen.org/products/xen_source.html 下载最新的 Xen 源代码,然后解开、编译、安装,标准的 Linux 软件源码安装动作:

$ tar zxvf xen-4.0.0.tar.gz
$ cd xen-4.0.0/
$ make xen tools stubdom
$ sudo make install-xen install-tools install-stubdom

上面 make stubdom 的时候会从网上自动下载一些东西,所以如果是用代理上网的话需要在自己根目录下的 .wgetrc 里加上代理服务器,以便 wget 能通过代理正常下载:

$ vi .wgetrc
http_proxy = http://proxy.vpsee.com:3128/
use_proxy = on

加入到自动启动脚本中:

$ update-rc.d xend defaults 20 21
$ update-rc.d xendomains defaults 21 20

安装 Xen 内核

下载 xen 内核,给内核打补丁:

$ cd
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.8.tar.bz2
$ tar -xjf linux-2.6.31.8.tar.bz2

$ wget http://gentoo-xen-kernel.googlecode.com/files/xen-patches-2.6.31-10.tar.bz2
$ mkdir xenpatch-2.6.31.8
$ cd xenpatch-2.6.31.8
$ tar -xjf ../xen-patches-2.6.31-10.tar.bz2
$ cd ..

$ cd linux-2.6.31.8
$ for i in `ls ../xenpatch-2.6.31.8/`; do patch -p1 < ../xenpatch-2.6.31.8/"$i"; done

配置内核,直接把系统已经存在的配置文件拷过来然后在此基础上修改:

$ cp /boot/config-2.6.31-14-server .config
$ make menuconfig

Processor type and features --->
 
  • Enable Xen compatible kernel
  • Networking support --->
      Networking options --->
        <*> 802.1d Ethernet Bridging
    Device Drivers --->
      XEN --->
       
  • Privileged Guest (domain 0)
  •      Backend driver support
           Block-device backend driver
           Block-device tap backend driver
           Block-device tap backend driver 2
           Network-device backend driver
           PCI-device backend driver
           SCSI backend driver
           USB backend driver
        <*> Block-device frontend driver
        <*> Network-device frontend driver
         SCSI frontend driver
         USB frontend driver
        <*> Framebuffer-device frontend driver
        <*>   Keyboard-device frontend driver
       
  • Disable serial port drivers
  •     <*> Export Xen attributes in sysfs
            Xen version compatibility (3.3.0 and later) --->
               3.3.0 and later

    配置好内核参数以后,保存配置文件、退出配置界面就可以开始编译 Linux 内核了:

    $ make
    $ sudo make install
    $ sudo make modules_install
    $ sudo update-initramfs -c -k 2.6.31.8
    $ sudo depmod 2.6.31.8

    如果 Xen 加了内核模块的话加入 /etc/modules 文件以便启动时候自动加载:

    $ sudo vi /etc/modules
    ...
    netbk
    blkbk

    Ubuntu 9.10 默认用的是 grub 2.0,被证实一些 bug 会导致 Xen 不能正常启动,删除 grub 2.0 换成老版本的 grub:

    $ sudo apt-get purge grub-pc
    $ sudo rm /boot/grub/*
    $ sudo apt-get install grub
    $ sudo grub-install --recheck /dev/sda
    $ sudo update-grub
    $ sudo vi /boot/grub/menu.lst

    重新启动系统,就应该可以进入 dom0 了:

    $ sudo reboot

    Troubleshooting

    如果重新启动系统能正常进入 dom0 但是执行 xm 命令时报错:

    $ sudo xm list
    Error: Unable to connect to xend: No such file or directory. Is xend running?

    检查 Xen 日志,发现 'Permission denied' 问题,这也是常见问题,是因为 xen tools 和内核不搭配:

    $ vi /var/log/xen/xend.log
    ...
    [2010-04-16 11:55:57 2320] INFO (SrvDaemon:219) Xend exited with status 1.
    [2010-04-16 13:56:04 13207] INFO (SrvDaemon:331) Xend Daemon started
    [2010-04-16 13:56:04 13207] INFO (SrvDaemon:335) Xend changeset: unavailable.
    [2010-04-16 13:56:04 13207] ERROR (SrvDaemon:347) Exception starting xend ((13, 'Permission denied'))
    ...

    $ vi /var/log/xen/xend-debug.log
    ...
    Xend started at Fri Apr 16 13:56:04 2010.
    domctl operation failed -- need to rebuild the user-space tool set?
    sysctl operation failed -- need to rebuild the user-space tool set?
    Exception starting xend: (13, 'Permission denied')
    ...

    所以解决办法就是下载对应的 xen 内核版本和 xen 工具。
    分享到:
    评论

    相关推荐

      ubuntu10.04安装xen虚拟机

      假设我们下载的是 Xen 4.0.1 的源代码,文件名为 xen-4.0.1.tar.gz。 首先,我们需要将下载的源代码解压缩到 /root/xen 目录下: ``` # cd /root/xen # tar vxzf xen-4.0.1.tar.gz ``` 然后,我们需要编译和安装 ...

      ubuntu xen

      在安装 Xen 之前,需要先安装一些依赖库。运行以下命令: ```bash sudo apt-get install python python-dev gettext bin86 bcc iasl uuid-dev libncurses5-dev libglib2.0-dev libyajl-dev ``` 接着,安装 Git 和...

      xen-4.4.0源码包

      Ubuntu下自己编译安装xen包。参考链接如下:https://help.ubuntu.com/community/Xen,此链接中还包含了安装好了Xen之后的验证方法。 另:如果上述方法安装失败,可以进行源码安装,源码包的连接如下: ...

      xen-4.1.0源代码下载

      1. **环境准备**:确保你的系统满足 Xen 编译的最低要求,包括合适的 Linux 发行版(如 Ubuntu 或 Fedora)、GCC 编译器、必要的库(如 GNU C 库、kernel headers 等)以及 Git 工具,用于获取源代码。 2. **获取...

      安装 Xen熟悉常用命令

      Xen是一种开放源代码的虚拟机监视器,由剑桥大学开发,它允许在单个计算机上同时运行多个操作系统实例,并且不需特殊硬件支持即可实现接近真实的硬件性能的虚拟化。 在开始安装Xen之前,首先需要对实验环境进行规划...

      xen 安装配置与运维

      Xen 是一款开源的虚拟化平台,它允许在一个物理服务器上创建和运行多个虚拟机(称为 Domains,或 Dom0 和 DomU),从而实现硬件资源的有效利用和隔离。Xen 主要应用于云计算环境,提供高效、安全的虚拟化解决方案。 ...

      配置xen环境及hadoop集群环境的学习笔记

      在 Ubuntu 上安装 XEN 首先需要准备一个最小化的 Ubuntu 系统,之后安装一系列用于编译和运行 XEN 所需的软件包。根据文档中的描述,需要安装的软件包包括但不限于 `gcc`, `g++`, `make`, `patch`, `libssl-dev`, `...

      编译XEN4.0内核的几种方法

      除了从源代码编译外,文章还提到了另一种安装XEN的方法——从二进制包安装。这种方法适用于那些不希望手动编译的用户,大多数主流Linux发行版如Red Hat、Debian、Ubuntu、SUSE和Gentoo等都有预编译的XEN二进制包可供...

      xen4.1.6源码

      二、Xen 4.1.6在Linux上的编译安装 编译Xen 4.1.6源码通常需要以下步骤: 1. **环境准备**: 首先确保系统是支持Xen的Linux发行版,如Ubuntu、Fedora等,并安装必要的依赖包,如gcc、kernel-devel、ncurses-dev等。...

      xen man xen man

      在安装Xen之前,需要确保满足以下要求: - 支持的硬件平台。 - 至少4GB内存(推荐8GB以上)。 - 支持虚拟化的CPU。 #### 2.2 从二进制包安装 可以从官方网站下载Xen的二进制包进行安装,通常包含预编译的内核模块和...

      xen虚拟机对spice的支持

      如果这些包不可用,你可以从Xen的源代码树中编译上游QEMU。不过,你需要应用一个小补丁来启用SPICE和USB重定向功能。在Xen 4.5及更高版本中,可以通过配置选项`--with-extra-qemuu-configure-args="--enable-spice -...

      xen环境的搭建.docx

      在本文中,我们将深入探讨如何在Ubuntu 12.10环境下搭建Xen虚拟化环境。Xen是一款开源的虚拟化平台,它允许在一个物理服务器上...通过耐心和实践,你将能够成功地在Ubuntu 12.10上建立一个功能完备的Xen虚拟化环境。

      Xen的基本知识和原理

      Xen的设计目标是实现高性能的虚拟化,让多个操作系统实例(称为客操作系统或虚拟机)能够在单一物理硬件上并行运行,而彼此之间几乎透明。 **1. Xen的架构** Xen的架构主要分为三个层次:管理程序(Hypervisor)、...

      Xen的配置和管理

      Xen通过在操作系统之上添加一层虚拟化层,使得多操作系统实例(称为虚拟机或Domain)可以在同一硬件上并发运行。本文将深入探讨Xen的配置和管理,以便更好地理解和利用这一强大的工具。 首先,我们要理解Xen的基本...

      Xen虚拟化实用指导手册

      下载Xen源代码包后,按照官方文档进行编译安装。 - **包管理器安装**:大多数Linux发行版提供了通过包管理器安装Xen的方式,如使用`apt-get`(Debian/Ubuntu)、`yum`(Fedora/RHEL)等命令进行安装。 3. **配置...

      论文研究-利用Xen搭建开源虚拟化平台 .pdf

      Xen的源代码可以从其官方网站上下载,对于已经使用Linux发行版的用户,也可以通过软件包升级或安装的方式获得Xen。主流的Linux发行版如Fedora、SUSE Linux、Debian以及由Debian衍生出的Ubuntu等都支持Xen。 安装Xen...

      XenOrchestraInstallerUpdater:Xen Orchestra installupdate脚本

      XenOrchestraInstallerUpdater-从源代码安装/更新Xen-Orchestra简而言之此回购包含用于安装和更新CentOS 8 / Ubuntu 18 / Debian 10的的脚本。如果发现很难在全新的Xenserver / XCP-ng安装上创建VM,请从头开始看看...

      ipxe-git-v1.0.0.tar.gz

      描述中提到的“application,xen4.1 on Ubuntu”暗示了这个IPXE版本可能与在Ubuntu操作系统上运行的Xen 4.1虚拟化平台有关。Xen是一种开源的虚拟化技术,常用于服务器环境,它允许在一个物理主机上同时运行多个独立的...

    Global site tag (gtag.js) - Google Analytics