最开始接触虚拟机这个概念,那是在2001年的时候了,那时候在网上乱逛,无意中发现了一个名叫VirtualPC的玩意,觉得概念挺新奇,就下下来玩玩。那真是不用不知道,世界真奇妙。太神奇了,太神奇了。有两个原因使我喜欢上它了,一是作为开发者,我经常需要一个干净的windows测试软件的兼容性或是不同版本的windows测试兼容性;二是我机器当时作为局域网的网关,我对winroute总是感觉不满,总是怀念linux下的iptables,于是我用vpc装了一个自定制的6M的linux,专门用于adsl拨号及做网关。后来vpc被微软收购了,推出的新版本居然不支持linux,没办法,只好转向vmware了。

 

说说我对vmware的评价吧,公司有台PC机当服务器用,内存8G,硬盘640G,考虑到该机器主要用于发布一些测试环境,必须支持虚拟windows系统,但该机器的CPU不支持虚拟化技术,所以装了个windows 2003,然后安装vmware 6.5 workstation做虚拟环境,真实机上除了vmware外,什么附加的软件都不安装。目前该虚拟机跑了2个linux,3个windows 2003,1个windows 2000,机器从装好后到现在,一直没重启过(真实机),有将近2年了,感觉还是比较稳定的。性能上就不好说了,该机器的虚拟机都是些轻负载的应用,基本上每个虚拟机只跑一个应用系统,而且这些应用还是久久才被访问一次的。

除了服务器,当然我的工作站也是装了vmware的,工作站上跑vmware的感觉,性能上,应该还是可以的,就是内存占用上不太满意,每启动一个虚拟机,vmware都要多占用100多M的内存,也不知道他想干啥。

建议:工作站:装windows+vmware,虚拟其他系统,应该是较佳的选择,之所以不选virtualbox,一是virtualbox的网络连接方式我比较讨厌,二是virtualbox的cpu占用较大我也不满意。

服务器:如果内存够大,需要虚拟多个windows系统,vmware也是一个不错的选择,我用事实证明了,即使是workstation版,也能稳定运行2年以上不需要重启,而且,真实机上安装windows,管理上也方便,考虑版权费用问题的话,vmware有server版是免费的,可以装server版,更稳定,更适合服务器使用,我是因为当时顺手装的workstation版,后来实在是懒得迁移,才这么一直用着的。

 

xen,这个,可是我最喜欢的,公司有3台服务器装了xen,一台debian4,一台debian5,一台debian6,装基于xen的服务器,我强烈推荐debian发行版,为啥?debian稳定、最小化安装内存占用少、硬盘占用少,本来嘛,作为主机系统的操作系统,就不应该装那么多花里胡哨的东西,所以,选debian,是王道。安装方式可参考我的其他博客文章。

从实际使用情况来看,最早安装xen的debian4的服务器,已经运行2年多没重启了,平时管理都是通过ssh远程登录进行管理,为了避免我错误重启,我甚至把该机器上的reboot、shutdown命令给改名了(因为有过一次看错控制台了,本来想重启某个虚拟机的,结果登录错了,直接把真实机给重启了)。

建议:如果要跑linux系统,xen绝对是最佳选择,在cpu支持虚拟化技术的前提下,即使是跑windows系统,也应该选择xen,我之前的那台PC服务器之所以选择vmware而不是xen,是因为cpu不支持虚拟化技术。xen,配合真实机上的lvm文件系统,那真是要多爽,有多爽。

 

说道colinux,其实我的使用次数不多,主要是在工作站上使用,属于玩乐性质的,从我个人的使用感受上说,如果是想在工作站上跑linux,那colinux肯定要比vmware好的多,内存占用少,性能逼近本机性能,你还有什么不满意的呢?你没有?我有!我的笔记本无线网卡居然不支持桥接模式,就这点比较烦人。

 

其他比较,xen与kvm,很遗憾,我的笔记本和台式机都不支持cpu虚拟化技术,早期安装的服务器也不支持,因此,kvm我一直没用过,但根据我从网上看到的这么多评论上总结,我感觉kvm要追上xen,还要一段时间,特别是跑linux客户机的话,xen4通过二进制动态补丁方式(好像是这么叫的),跑半虚拟化的linux内核,有着先天性上的优势。再说了,xen经众多用户证明了其可靠性与稳定性,在很多生产环境上都有应用,生产环境,稳定,才是王道。

 

有人说了,你怎么不说说openvz呢,这个虚拟linux更快更省内存。是的,没错,可它的限制同样也更多,比如,有时候系统当机了,重启应用还不够,必须重启系统,xen能做到,openvz呢?我没用过,不过它既然是共用一个内核,我想他应该就做不到。又比如,我需要某台虚拟机做负载均衡功能,那它就要加载LVS模块,好吧,就算我大方点,在真实机中加载了,那万一该模块出问题了呢,重启系统?

openvz,只适合于那些虚拟主机供应商,不适合一般公司使用。

 

还有什么要说的吗?嗯,那就总结一下吧,从我个人的使用经验总结一下吧:

如果cpu支持虚拟化技术,xen,是最好的选择,当然,如果对xen不熟,也不会linux命令行操作,那么,选vmware吧,装windows 2003 + vmware server,也能满足你的需要了,至于vmware esi版,我没用过,你自己考虑。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐