经过我近一个月的努力,终于完成了半虚拟化的安装。在前一篇博客我也介绍了ubuntu1204安装xen'内核,所以直接开始正文。
首先我要说的是xen现在已经被linux内核踢出,所以需要你认真找一个合适的linux版本,我曾经用ubuntu1204作为客户机的系统,但是始终不成功,出现的问题
the location must be the root direction of an install tree
也就是说没有安装树,我曾经查过很多,还有的说这是ubuntu的bug,安装补丁就好了,但是我依旧没有解决。
好了,好了,咱们还是一步步来吧。
首先准备iso文件,然后挂载到/mnt下面(随意那个都可以)
mount -o loop ISO文件位置 挂载位置
之后可以用virt-install这种方式也可以用virt-manager,建议后者,因为virt-install在终端中安装,看起来很怪。virt-install之后会介绍
manager安装,打开就行了,选择nfs,http安装(导入安装只能支持全虚拟化)。
所以在这之前就需要设置nfs,nfs的设置很简单大家搜一下就好,exportfs -rv通了就行。推荐一个网址:
http://www.cnblogs.com/king-77024128/articles/2666230.html
共享文件夹就设置到mount的文件夹(其实nfs可以不用mount,直接cp iso文件过去也行。但是ftp,http安装就必须mount http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-steps-network-installs-ppc.html#id3104847 )。
virt-manager安装一共5部,不是很麻烦,在第二步中需要填写URL 例如:/mnt。如果输入URL的地方下面检测到了你的系统,那么你就不会出现the location must be the root direction of an install tree。你也会很顺畅。
现在我来说说我的感受,对于这个问题the location must be the root direction of an install tree应该不是说挂载的位置必须在根目录下,或者说bug什么的,应该是ubuntu1204中没有了xen 的内核,相应的应该就不会接受xen的半虚拟化,因为半虚拟化是要更改linux 的。所以建议大家找那些有xen内核的linux版本,我是用的是REHL 6.3。
https://bugs.launchpad.net/ubuntu/+source/virtinst/+bug/751979 这个是ubuntu对于这个bug的解释
安装五步搞定之后,会出现一个问题ERROR Could not start storage pool: cannot open path ‘/var/lib/xen’:No such file or directory。
解决 mkdir ‘/var/lib/xen’
之后就进入了安装界面,安装方式的选择又会出现问题,由于在虚拟机,cdrom和hard driver这两种不能选择。只能选择NFS和URl。
我之前选择的是NFS,但是总是出现 that directory could not be mounted from the server
查过之后大部分说的是防火墙,或者iptables DMZ SELinux 拦截了。由于我用的是ubuntu 默认没有SELinux和防火墙,只有IPtables ,但是iptables在ubuntu中无法关闭只能设置规则,nfs传输的端口是2049 protmap端口是111 我经过设置依旧不行。我对于nfs的机制不是很明白,所以各位成功的希望分享经验。
安装方式选择URL,所以首先在dom0中安装apache2,很容易,然后mount iso文件到/var/www
然后就进入了安装界面,只是有个界面需要选择re-install 的不要选择ignore。
之后就是纯黑白的界面了~
大功告成