linux3.0内核已经支持xen了,所以不用再编译内核了(对于那些内核支持的系统都不用重新编译内核)。
第一步:安装需要的软件包
安装编译 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 gawk
第二步:安装xen vmm
32位和64位系统的区别也很重要。64位按下面步骤很简单,32位就不同,因为xen需要开启pae,默认是没有开启的,所以32位ubuntu首先得执行下面这个命令:
sudo apt-get install linux-image-server
sudo apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils
这里xen-hypervisor-4.1要分32位、64位,64位系统用xen-hypervisor-4.1-amd64,32位用xen-hypervisor-4.1-i386.
第三步:安装libvirt和Virtual Manager
sudo apt-get install virtinst python-libvirt virt-viewer virt-manager
第四步:重启机器,选择有xen的内核启动,进入系统之后,再检查一下 Xen 是否已经成功安装:
$ sudo xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1879 2 r----- 6.6
出现上面的信息,则代表安装成功。
第五步:修改配置文件
sudo gedit /etc/xen/xend-config.sxp
将/etc/xen/xend-config.sxp文件中的“#(xend-unix-server no)”注释去掉 即把“#”去掉,并把“no”改成“yes”,保存即可。 然后重启xend服务
sudo gedit ~/.bashrc ,在打开的.bashrc文件中添加下面这句话
export VIRSH_DEFAULT_CONNECT_URI="xen:///"
第六步:打开Virtual Manage时,但是创建时因为相关资源路径问题可能会报以下错误
6.1 ******/usr/lib/xen/bin/qemu-dm:****
路径中xen应该是xen-4.1,解决办法如下
mkdir /usr/lib/xen -p
cp /usr/lib/xen-4.1/* -r /usr/lib/xen/
6.2 ****** libvirtError: POST操作失败: xend_post:来自 xen 守护进程的错误:****
查看日志 /var/log/xen/xend.log 和 /var/log/xen/qemu-dm-demo.log
日志显示/usr/share/qemu/keymaps/en-us could not be found, the keymaps ***
路径中qemu应该是qemu-linaro,解决办法如下
cp -r /usr/share/qemu-linaro/ /usr/share/qemu
这样创建过程基本没有问题了.
第七步:通过libvirt查看xen的版本信息,确认libvirt和xen都已经安装成功
# virsh version
Compiled against library: libvir 0.9.8
Using library: libvir 0.9.8
Using API: Xen 0.9.8
Running hypervisor: Xen 4.1