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的虚拟分区效果不错,正打算有时间去测试下相关阅读:
web标准常见问题集合5
Linux Samba user共享方式配置方法介绍
DIV+CSS实现网页布局实例代码(1)
Windows 2003安全指南之强化IIS服务器一
微软将于8月推出SQL Server 2008 定价与2005相同
oracle性能调整—诊断latch竞争
IE6,IE7和firefox对DIV的支持区别
一个MYSQL样例数据库
用CSS3创建多重边框色
详解JSP 2.0下的动态内容缓存
AJAX与RIA技术之我见
一个基于Asp.Net MVC的权限方案
Linux修改时区不用重启的方法
firefox火狐浏览器与与ie兼容的2个问题总结