xen半虚拟化与全虚拟化


本文只涉及到如何实现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的虚拟分区效果不错,正打算有时间去测试下


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3