xen半虚拟化与全虚拟化

摘自:http://club.topsage.com/thread-1240107-1-1.html

 

本文只涉及到如何实现xen的全虚拟化与半虚拟化,也就是linux下安装linux,与linux下安装windows。
  原理性的东西,以及优化,本人还在研究中。
  环境centos 5.2 64bit
  安装时候已经包含虚拟化,所以启动系统后已经是带xen的内核,已经安装好xen相关软件。
  xen虚拟机的存储有多种方式,根据官方手册上说的有files,lvm,nfs等。我选择了files作为xen虚拟机的存储,因为这样比较简单,当然会有弱点,后面会说到。
  先说如何实现半虚拟化:
  检查cpu的指令集是否包含pae,这个应该不成问题,我小黑的cpu是T2370都支持。
  1.先dd出一个img文件作为虚拟机的安装空间
  dd if=/dev/zero of=/xen/image/xen1.img bs=1M count=30720 数值大小可以根据自己需要调整。
  2.接着就是安装虚拟机了,安装方式跟宿主机安装一样,可以采取光驱,网络,由于我已经建好了ks的源,方便
  期间我就采用ks来安装虚拟机的系统。
  执行如下命令:
  virt-install -n xen1 -r 256 -p --nographic -f /xen/images/xen1.img  -l http://192.168.32.132/centos32bit -x "ip=192.168.32.31 netmask=255.255.255.0 gateway=192.168.32.1 ks=http://192.168.32.132/centos32bit/ksxen.cfg"
  成功的话就会自动安装完系统,直到重启进入系统。ks文件就不贴了,和宿主机的配置文件基本一样需要做调整的是分区的名字,宿主机是类似sda的形式,而虚拟机是类似xvda的形式。
  那些控制xen的基本命令也不说了,网上一大堆,建议看下官方的xen+man.pdf这本书,很详细。
  接着说全虚拟化:
  linux安装windows前,我有个误区,想windows是图形的,linux不装图形界面怎么装啊,后来才明白过来,是通过vnc连接,即可 以看到图形界面。安装vnc配置vnc也不再叙述,配置下很简单,客户端通过vnc连接到linux的时候一定要输入 ip:number(number=1,2...)只输入ip就只能看到一片白的屏幕,什么都没有。
  然后先传个iso到宿主机上去,这里要说明下了,网上关于全虚拟化有各种说法,说什么要修改配置文件,修改启动项目,我照着做试了好几遍都不行,后来突然之间找到了个方法解决。
  照样dd出img文件,
  执行 virt-install -n win2003 -r 512 --vcpus=2 --file=/xen/image/win2003.img --vnc -v -c /root/windows2003_sp2.iso  --vnc --vncport=5902  --os-type='windows'
  然后会自动生成win2003的配置文件。
  接着通过vnc可以安装系统,(说明下,当时看到蓝底白字的图像时候,很兴奋啊)
  当windows复制完需要的文件时候,重启,这时候会出问题了。屏幕是会提示一个错误,安装程序不会继续下去了,这时候删除那个在/etc/xen 目录下关于win2003的配置文件,再执行上述命令,再自动生成win2003的配置文件,通过vnc查看,安装程序顺利进行。直到重新启动系统,顺利 进去win2003系统,这时候安全起见注意开启win2003的远程桌面,关闭宿主机的vnc服务。
  以后通过远程桌面管理win2003.
  上述简单的说明了下如何实现半虚拟化与全虚拟化的步骤,行文不是很好,希望大家可以看懂。
  补充下,采用files作为xen虚拟机的存储,io速度会很慢,基本是宿主机的一半,所以用在生产机器上会有严重问题。听说采取lvm的虚拟分区效果不错,正打算有时间去测试下。xen半虚拟化与全虚拟化

 

 

全虚拟化直接和硬件接轨,最明显的好处就是提高虚拟机性能 
半虚拟化比如VMware在再windows操作系统基础上做的软件,这种虚拟系统性能是比不上全虚拟的。

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