近期在研究Xen应用于我自己的课题实验中的可能性,自然要先装上试一试啦。这几天一直没有睡午觉,尝试了很多种方法,因为了解不多,碰了很多壁,先后使用了ubuntu12.10,fedora14等操作系统去安装xen,但都没成功。
ubuntu12.10安装Xen后很不稳定,开机没多久就死机,可能是我自己的原因没装好把。
fedora14编译完Xen后需要手动设置启动项,可是当时没想到这一点,一直在纠结为什么编译完后没有像ubuntu那样自动添加启动项,又重装别的系统的时候才想到,郁闷不已。
最后尝试ubuntu13.04,终于安装成功了,过程记录一下,用以备忘,部分安装过程是借鉴的网上已有的博客(http://www.360doc.com/content/12/1122/21/4171006_249630254.shtml)里面的安装方法。
第一步:安装需要的软件包
安装编译 Xen 和 Linux xen kernel 所需要的软件包:
sudo
apt-get install build-essential binutils python-dev libncurses5-dev libcurl4-openssl-dev xorg-dev uuid-dev bridge-utils bison flex udev gettext bin86 bcc iasl libgcrypt11-dev libssl-dev pciutils libglib2.0-dev gcc-multilib texinfo zlib1g-dev
$ 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
我的是32位ubuntu,u首先得执行下面这个命令:
sudo apt-get install linux-image-server
输入xen-hypervisor回车发现源里的版本已经到4.2了,所以相应的包都改成4.2
sudo apt-get install xen-hypervisor-4.2-i386 xen-utils-4.2 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
显示有个domain-0,表示安装成功了。
第五步:修改配置文件
sudo gedit /etc/xen/xend-config.sxp
将/etc/xen/xend-config.sxp文件中的“#(xend-unix-server no)”注释去掉 即把“#”去掉,并把“no”改成“yes”,保存即可。
然后重启xend服务:service xend restart
奇怪的是我输入命令后系统提示不识别xend命令,提示我安装xen-utils-common,可是这个前面已经装过了,并且我用apt-get install xen-utils-common 的话也会提示已经安装过。这个当时让我很头疼,不知道怎么解决,后来发现其实没影响,应该是已经安装上了的。
sudo gedit ~/.bashrc ,在打开的.bashrc文件中添加下面这句话
export VIRSH_DEFAULT_CONNECT_URI="xen:///"
再重启一次。
第六步:建立虚拟系统
输入 sudo virt-manager启动虚拟系统管理器,就可以按步骤建立虚拟机了
我在建虚拟机时碰到过的问题:
1.提示“usr/lib/xen-default/boot/hvmloader”
这个是路径问题,可能是virt-mananger以为这个文件在这个目录,但实际上4.2版本的xen这个文件的路径是usr/lib/xen-4.2/boot/hvmloader,在lib下创建一个链接就行了:
cd /usr/lib
ln -s xen-4.2 xen-default
2. 用本地iso镜像文件安装时报错,因为我的iso文件放在windows下的盘里,ubuntu13.04下可以直接对其访问,但是virt-manager到安装时还是没有认,不知道为什么,最后用光盘安装没有任何问题。