第一步:安装需要的软件包
安装编译 Xen 和 Linux xen kernel 所需要的软件包:
sudo
$ 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
以上软件包有些是重复的,没关系,重复了它自己会跳过不安装。安装软件包之前注意要选好源,163和cn.archive都是可以的。
第二步:安装xen vmm
需要注意,Xen 是有32位和64位系统的区别。32位的Xen因为需要开启
32位用xen-hypervisor-4.1-i386,64位系统用xen-hypervisor-4.1-amd64。
安装64位的Xen就比较简单了,只需要执行下面的命令:
root@ubuntu:~#apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils
第三步:安装libvirt和Virtual Manager
sudo apt-get install virtinst python-libvirt virt-viewer virt-manager
第四步:重启机器,选择有xen的内核启动,进入系统之后,再检查一下 Xen 是否已经成功安装:
$ sudo xm list
出现上面的信息,则代表安装成功。
如果出现问题:
重启Ubuntu系统,在系统启动过程中,通过菜单去选择切换到Xen的内核来运行Ubuntu系统。通常我们会在这里遇到一个问题,就是在启动过程中见不到系统显示菜单选项。
于是,我们按照正常方式启动Ubuntu系统。然后执行以下命令: root@ubuntu:~# xm list
系统会有如下显示:ERROR: Can't find hypervisor information in sysfs!
xm是Xen的管理工具。只有系统安装Xen才可以执行xm命令。
(xm list:显示虚拟机运行状态)
但是,我们需要确认之前Xen的安装是否完整。 可以重新执行原来的命令:
root@ubuntu:~#apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils
如果之前的安装成功,系统会有明确的提示(如上图红色框选内信息)。 在确保Xen的安装正常后,我们可以用如下命令解决“Can't find hypervisor information in sysfs!”的错误:
root@ubuntu:~#mv /etc/grub.d/10_linux /etc/grub.d/50_linux root@ubuntu:~#update-grub2 两条命令的作用解释如下:
root@ubuntu:~#mv /etc/grub.d/10_linux /etc/grub.d/50_linux
是修改Ubuntu系统的启动项,如下图:
readme文件说明如下:
All executable files in this directory are processed in shell expansion order.
00_*: Reserved for 00_header. 10_*: Native boot entries.
20_*: Third party apps (e.g. memtest86+).
The number namespace in-between is configurable by system installer and/or administrator. For example, you can add an entry to boot another OS as 01_otheros, 11_otheros, etc, depending on the position you want it to occupy in the menu; and then adjust the default setting via /etc/default/grub.
root@ubuntu:~#update-grub2 的作用是重新生成grub2的启动菜单配置文件(/boot/grub/grub.cfg)。
第五步:修改配置文件
完成上述步骤后,重新启动Ubuntu系统,即可出现如下菜单界面:
选择Xen 4.1-amd64。
系统顺利进入Xen的内核模式运行状态。
sudo gedit /etc/xen/xend-config.sxp
将/etc/xen/xend-config.sxp文件中的“#(xend-unix-server no)”注释去掉 即把“#”去掉,并把“no”改成“yes”,保存即可。
然后重启xend服务:service xend restart (service xend start)
这里可能会出现错误,点开错误提示,ubuntu说软件包陈旧,那就装新的
sudo apt-get install coreutils initscripts libsqlite3-0 libudev0 lsb-base multiarch-support passwd perl-base sysv-rc sysvinit-utils tzdata upstart
装完后再次运行service xend restart,这次没有问题了
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
如果在创建过程中出现错误,那很可能第六部没有做对,回头仔细检查一下吧。