选择虚拟化软件要“对号入座”
行业观察
虚拟化适合专业人士使用
李果:看到《电脑报》行业之道第23期和第24期关于虚拟化的报道,相信这会带动国内虚拟化市场的发展。笔者使用虚拟机(即由虚拟化软件模拟出来的计算机系统)已经很长时间了,下面就谈谈自己对虚拟化的一些看法。希望可以帮助读者根据自己的实际情况,选择适合自己的虚拟机,以提升工作效率。
对于大多数普通桌面用户来说,虚拟化实际的用处不大。早前闹得沸沸扬扬的Windows 7 XP Mode,笔者感觉只是一个噱头而已,普通用户应用虚拟化功能的场合并不多。然而对于服务器用户和进行软件测试开发的用户来说,虚拟化的帮助太大了。软件开发和测试人员需要在各种操作系统和环境下去调试软件,虽然他们都会使用一台性能强劲的电脑来做研发和测试,但是他们不可能找数台电脑来为某一个小功能进行测试,这样很麻烦,而且受条件限制无法完成工作。因此,虚拟机就成了他们最好的工具,安装Vmware的虚拟化软件或VirtualBox是很好的选择。
而对于大多数服务器来说,很多时候都不会满负荷工作,这样就会导致服务器的部分效能白白浪费了。如果借助虚拟机把几台低负荷服务器上运行的服务移到一台性能强劲的物理服务器上,这样就会为企业省下一大笔资金。不过对于负荷很高的服务器来说,虚拟化的用处不大,甚至会成为拖累。
不同类型的用户该选择哪种虚拟化软件
梁穗隆:主流的服务器虚拟化技术分为两种:一种是半虚拟化技术,另外一种是全虚拟化技术。笔者认为,大型企业用户使用Xen或KVM虚拟化软件比较好,因为这两种虚拟机的效率很高,特别是Xen,性能损失约2%,而KVM则集成于Linux内核里,效率也很高,Xen只能在BSD、Linux和Solaris上使用,而KVM则只能在Linux上用。不过对于大型企业用户来说,他们拥有足够的资金和较强的技术,而且Linux和BSD在大型企业中使用广泛,部署这两种虚拟机比较合适。
小提示: BSD是UNIX的衍生系统,在1977年至1995年由加州大学伯克利分校开发。今天,BSD并不特指任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称。
对于中小企业用户来说,KVM和Xen当然也是适合的,但是这两种虚拟机配置相对复杂,中小企业用户未必会有这样的资金和技术。而且中小企业的交易量变化相对较大,他们的服务器的负荷起伏也较大,所以部署虚拟机要相对小心,因为服务器虚拟化比较适合部署在低负荷的物理服务器上。对中小企业用户来说,笔者觉得使用Windows Server 2008 Hyper-V会比较合适。
对于家庭用户和普通办公用户的软件调试情况,使用Vmware Workstation和VirtualBox会比较好。笔者个人倾向于VirtualBox,虽然Vmware Workstation的功能更丰富,但是考虑到速度、软件大小、跨平台使用和正版授权费用,VirtualBox有着无可比拟的优势。VirtualBox是免费开源的软件,普通用户使用是免费的,而且可以支持OpenGL的3D加速,在虚拟机里也能运行CS,还支持Linux下的3D特效。经过几次较大幅度的升级,VirtualBox的网络配置简化了很多,桥接网络不会像以前那样难。VirtualBox的缺点就是不支持Guest的SMP(对称多处理),虚拟机内只能以单核模式运行,因此在高负荷的情况下,性能不如Vmware理想。但在一般情况下,VirtualBox的性能够用了,也比Vmware好很多。
我个人看好VirtualBox
冉雨兴:笔者是一个普通的Linux爱好者,用的操作系统是Fedora。由于Linux在国内的特殊性,有时候也得用虚拟机去模拟Windows,算是对虚拟机有一点了解吧。Xen在上游企业的开发应用中比较广泛,很多大企业如Oracle的VM和Sun的xVM,都是基于开源的Xen来开发的,而且大量的虚拟机监控和配置工具也应运而生。同样,红帽的KVM也是一个很强劲的方案。不过鉴于国内的计算机应用环境,这两种可以说是最先进的虚拟机技术恐怕在国内应用不多,因为国内很多大中小型企业都是用Windows作为服务器系统的。
最近Sun低调地发布了VirtualBox 3的第一个测试版本。这个版本正式增加了对Guest SMP和Direct3D的支持,还提供了对OpenGL 2.0的支持,并支持Windows 7的RDP特性。Guest SMP最多可以支持32个虚拟CPU,这意味着在一个虚拟机内,可以调用32个CPU核心去进行运算,虚拟机的效率会得到大幅度提升,对于在虚拟机内执行大型任务确实有很大的好处。另外它还支持D3D加速,可以让一部分低级别的D3D程序运行,这也是一件很棒的事!无论如何这确实是一个巨大的提升,值得用户去使用。不过现在还在测试阶段,BUG还是不少的,想尝鲜的用户可以去下载试用,想要稳定使用的话还要等到正式版本出来。
硬件辅助虚拟化技术目前功能有限
张剑:现在市面上所有主流的x86服务器CPU都支持硬件辅助虚拟化技术,而大多数桌面PC的CPU也都支持硬件辅助虚拟化技术。它究竟有什么用呢?CPU厂商通过增加虚拟化的指令集,让虚拟机监控程序能够拥有更底层的CPU权限但又与实体机的环境完全隔离,避免与实体系统发生冲突,从而让虚拟机拥有更强的性能和更好的兼容性。
但是以目前的情况来看,硬件辅助虚拟化技术并没有对虚拟机的性能提升起到多大的作用,不过在兼容性上倒是提高很多,例如Xen可以通过硬件辅助虚拟化来安装内核未经修改的商业操作系统(如Windows),Guest SMP功能很多时候也需要CPU的硬件辅助虚拟化技术支持才能使用。因此借助硬件辅助虚拟化技术,虚拟化软件厂商可以相对容易开发出新功能,至于性能的提升,恐怕还得慢慢研究了。