`
- 浏览:
47087 次
- 性别:
- 来自:
成都
-
这篇文章是在写 在 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 工具。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
假设我们下载的是 Xen 4.0.1 的源代码,文件名为 xen-4.0.1.tar.gz。 首先,我们需要将下载的源代码解压缩到 /root/xen 目录下: ``` # cd /root/xen # tar vxzf xen-4.0.1.tar.gz ``` 然后,我们需要编译和安装 ...
在安装 Xen 之前,需要先安装一些依赖库。运行以下命令: ```bash sudo apt-get install python python-dev gettext bin86 bcc iasl uuid-dev libncurses5-dev libglib2.0-dev libyajl-dev ``` 接着,安装 Git 和...
Ubuntu下自己编译安装xen包。参考链接如下:https://help.ubuntu.com/community/Xen,此链接中还包含了安装好了Xen之后的验证方法。 另:如果上述方法安装失败,可以进行源码安装,源码包的连接如下: ...
1. **环境准备**:确保你的系统满足 Xen 编译的最低要求,包括合适的 Linux 发行版(如 Ubuntu 或 Fedora)、GCC 编译器、必要的库(如 GNU C 库、kernel headers 等)以及 Git 工具,用于获取源代码。 2. **获取...
Xen是一种开放源代码的虚拟机监视器,由剑桥大学开发,它允许在单个计算机上同时运行多个操作系统实例,并且不需特殊硬件支持即可实现接近真实的硬件性能的虚拟化。 在开始安装Xen之前,首先需要对实验环境进行规划...
Xen 是一款开源的虚拟化平台,它允许在一个物理服务器上创建和运行多个虚拟机(称为 Domains,或 Dom0 和 DomU),从而实现硬件资源的有效利用和隔离。Xen 主要应用于云计算环境,提供高效、安全的虚拟化解决方案。 ...
在 Ubuntu 上安装 XEN 首先需要准备一个最小化的 Ubuntu 系统,之后安装一系列用于编译和运行 XEN 所需的软件包。根据文档中的描述,需要安装的软件包包括但不限于 `gcc`, `g++`, `make`, `patch`, `libssl-dev`, `...
除了从源代码编译外,文章还提到了另一种安装XEN的方法——从二进制包安装。这种方法适用于那些不希望手动编译的用户,大多数主流Linux发行版如Red Hat、Debian、Ubuntu、SUSE和Gentoo等都有预编译的XEN二进制包可供...
二、Xen 4.1.6在Linux上的编译安装 编译Xen 4.1.6源码通常需要以下步骤: 1. **环境准备**: 首先确保系统是支持Xen的Linux发行版,如Ubuntu、Fedora等,并安装必要的依赖包,如gcc、kernel-devel、ncurses-dev等。...
在安装Xen之前,需要确保满足以下要求: - 支持的硬件平台。 - 至少4GB内存(推荐8GB以上)。 - 支持虚拟化的CPU。 #### 2.2 从二进制包安装 可以从官方网站下载Xen的二进制包进行安装,通常包含预编译的内核模块和...
如果这些包不可用,你可以从Xen的源代码树中编译上游QEMU。不过,你需要应用一个小补丁来启用SPICE和USB重定向功能。在Xen 4.5及更高版本中,可以通过配置选项`--with-extra-qemuu-configure-args="--enable-spice -...
在本文中,我们将深入探讨如何在Ubuntu 12.10环境下搭建Xen虚拟化环境。Xen是一款开源的虚拟化平台,它允许在一个物理服务器上...通过耐心和实践,你将能够成功地在Ubuntu 12.10上建立一个功能完备的Xen虚拟化环境。
Xen的设计目标是实现高性能的虚拟化,让多个操作系统实例(称为客操作系统或虚拟机)能够在单一物理硬件上并行运行,而彼此之间几乎透明。 **1. Xen的架构** Xen的架构主要分为三个层次:管理程序(Hypervisor)、...
Xen通过在操作系统之上添加一层虚拟化层,使得多操作系统实例(称为虚拟机或Domain)可以在同一硬件上并发运行。本文将深入探讨Xen的配置和管理,以便更好地理解和利用这一强大的工具。 首先,我们要理解Xen的基本...
下载Xen源代码包后,按照官方文档进行编译安装。 - **包管理器安装**:大多数Linux发行版提供了通过包管理器安装Xen的方式,如使用`apt-get`(Debian/Ubuntu)、`yum`(Fedora/RHEL)等命令进行安装。 3. **配置...
Xen的源代码可以从其官方网站上下载,对于已经使用Linux发行版的用户,也可以通过软件包升级或安装的方式获得Xen。主流的Linux发行版如Fedora、SUSE Linux、Debian以及由Debian衍生出的Ubuntu等都支持Xen。 安装Xen...
XenOrchestraInstallerUpdater-从源代码安装/更新Xen-Orchestra简而言之此回购包含用于安装和更新CentOS 8 / Ubuntu 18 / Debian 10的的脚本。如果发现很难在全新的Xenserver / XCP-ng安装上创建VM,请从头开始看看...
描述中提到的“application,xen4.1 on Ubuntu”暗示了这个IPXE版本可能与在Ubuntu操作系统上运行的Xen 4.1虚拟化平台有关。Xen是一种开源的虚拟化技术,常用于服务器环境,它允许在一个物理主机上同时运行多个独立的...