Ubuntu 12.04 下安装Xen 以及使用Xen 安装winXP虚拟机

 最近看了些有关虚拟化的东西,几种虚拟化技术中最常用的就是全虚拟化技术和半虚拟化技术。想在Ubuntu下尝试安装一下运用这两种技术的虚拟机。
    全虚拟化技术的典型代表就是VMware虚拟机了,VirtualBox也是。这两种虚拟机安全起来非常简单, VirtualBox直接在ubuntu软件中心搜索安装,vmware则可以到官网下载一个Vmware 9.0 30天的试用版,一个后缀名为bundle大小为407M的文件,下载后用chmod更改为可执行文件之后直接用sudo运行,没有问题。
    半虚拟化技术的典型代表是Xen,安装起来稍微比前面两个难一点,也花了我一定的时间,在这里做个总结.
    从Xen官网下载源码包安装的方法比较繁琐,我也没有尝试成功,就不在这里赘述了。接下来介绍的方法是使用apt-get来安装(以下内容部分为转载)

第一步:安装需要的软件包

安装编译 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位和64位系统的区别也很重要。64位按下面步骤很简单,32位就不同,因为xen需要开启pae,默认是没有开启的,所以32位ubuntu首先得执行下面这个命令:

sudo apt-get install linux-image-server

sudo apt-get install xen-hypervisor-4.1-i386 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



出现上面的信息,则代表安装成功。


第五步:修改配置文件

sudo gedit /etc/xen/xend-config.sxp

将/etc/xen/xend-config.sxp文件中的“#(xend-unix-server no)”注释去掉 即把“#”去掉,并把“no”改成“yes”,保存即可。

然后重启xend服务:service xend restart

这里可能会出现错误,点开错误提示,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



这里有可能会出现一个非常诡异的问题,sudo virsh version
 编译使用的库:libvir 0.9.8
使用的库:libvir 0.9.8
使用的 API: QEMU 0.9.8
错误: 获得管理程序版本失败
错误: internal error Cannot find suitable emulator for i686

那么尝试直接切到root权限,sudo -s , 不使用sudo
再运行virsh version
root@nealPC:~# virsh version
编译使用的库:libvir 0.9.8
使用的库:libvir 0.9.8
使用的 API: Xen 0.9.8
运行管理程序: Xen 4.1.0
发现没有问题了,挠破头都想不明白的问题 (- -)|||

第八步:使用Xen安装winxp虚拟机
    把window xp的iso镜像拷贝到根目录的其中一个文件夹下,例如/usr , /opt等(不要拷到home里面)。
    在命令行键入sudo virt-manager用root权限打开虚拟机管理器,直接在dash上打开后面会出现错误。打开virt-manager后可能会遇到错误说“主机不支持HW 虚拟化,安装选项受限"云云,那么你就要先重启到BIOS里面设置CPU的virtualization选项设置为enable。
    再次打开virt-manager后发现所有选项都可以选择了,接下来就按照向导来安装,非常简单。
    效果图:
    
Ubuntu 12.04 下安装Xen 以及使用Xen 安装winXP虚拟机_第1张图片
 
Ubuntu 12.04 下安装Xen 以及使用Xen 安装winXP虚拟机_第2张图片
 
好的,装完它就行了。经验只谈:如果想安装多几个虚拟机,装ubuntu的时候给根目录多一点空间。
如果在创建过程中出现错误,那很可能第六部没有做对,回头仔细检查一下吧。

你可能感兴趣的:(ubuntu,xen,虚拟化技术)