VirtualBox 桌面虚拟化新选择
行业采购
众所周知,桌面虚拟化的王者是VMware Workstation,不过近来VirtualBox大有追赶之势。作为一款新兴的虚拟机软件,VirtualBox拥有了众多特点:高效率、体积小,而且它是一款免费和开源的产品,任何人都可以免费下载、安装和使用VirtualBox,甚至可以自行修改配置。
VirtualBox的新特性
VirtualBox最早是德国Innotek公司的一款主力虚拟机产品,当时就以效率高、体积小著称,不过缺乏稳定性。在2008年,Innotek被SUN收购,VirtualBox就成为SUN xVM系列旗下的产品。经过数轮的大规模升级,VirtualBox在不断提升自身性能的同时加入了众多新功能,并且提高了稳定性。
1.VirtualBox 有两种版本
VirtualBox分为两种版本:PUEL版本和开源的OSE版本,PUEL版本提供了更多的特性支持,而开源的OSE版本则确保所有代码都具有GPL许可证,不过丧失了部分功能,例如不支持USB控制器,也不支持VRDP服务器和iSCSI控制器等。当前比较新的VirtualBox 3.0.2,支持在Windows、Linux、Mac和Solaris平台运行,官方网站也提供了相关的安装包。而开源的OSE版本更能够在FreeBSD和OpenBSD这类BSD(Unix的衍生系统)操作系统上运行,各个Linux发行版本也在其软件仓库提供了VirtualBox的OSE版本的软件包下载。另外,VirtualBox PUEL版本和OSE版本之间是没有性能差别的,差别仅仅在于功能上。
2.支持虚拟并行多处理器
VirtualBox 3.0.2提供了众多新特性,最为人瞩目的就是对虚拟并行多处理器的支持。每一款虚拟机软件最多能够虚拟32个CPU并行工作,这可极大地提升了虚拟机内的应用程序的运行效率。当然,实现该功能的前提是需要一颗支持硬件辅助虚拟化的CPU。
长期以来,虚拟机软件只能在虚拟的操作系统中虚拟一个CPU内核,当在虚拟机内运行大型程序时,虚拟机就会变得十分缓慢,虚拟系统崩溃的情况时有发生,情况严重时甚至会导致服务器运行缓慢或宕机。当CPU进入多核时代后,电脑性能的提升降低了服务器宕机的几率,但虚拟机的性能依然比较慢,因此支持虚拟并行多处理器对于虚拟机的性能提升有着巨大的意义。略为可惜的是,由于VirtualBox刚刚加入虚拟并行多处理器的支持,还不太成熟,有时候会导致虚拟机内的CPU长期运行在高占用率下,实际上虚拟机可能并没有运行多少程序。作为竞争对手的VMware Workstation,也遇到了这个问题,只是程度稍稍轻微一点。
3.完美支持64位系统
作为一款全虚拟化的虚拟机软件,VirtualBox对64位系统的支持非常完美,它可以运行市面上主流的64位操作系统。与大多数桌面虚拟化软件一样,在虚拟机内安装64位系统都需要硬件辅助虚拟化技术的支持。如果服务器的处理器是支持64位系统而且带有硬件辅助虚拟化支持的,VirtualBox允许用户在32位的实体系统上运行64位的虚拟系统,而且性能不会比32位的虚拟系统差。另外VirtualBox支持Nested Paging嵌套页表的功能(需要服务器采用AMD K10架构或Intel的Nehalem架构的CPU),可进一步提升虚拟机的内存性能。凭借这些功能,VirtualBox可以让虚拟机的性能与实体机非常接近。
4. 3D加速功能强大
VirtualBox还有一大卖点在于它的3D加速功能,作为现在同时支持DirectX(只在32位的Windows虚拟机上)和OpenGL的3D加速虚拟机软件,VirtualBox同样没有令用户失望。在虚拟的Windows XP里,我们用OpenGL模式运行《魔兽争霸3》和《反恐精英1.5》,感觉十分流畅。虽然达不到实体机的运行效果,但是足以达到流畅运行游戏的需求。不过作为企业应用,3D加速似乎不是一个重点。但对于VirtualBox来说,这是一个巨大的提升。
此外,VirtualBox还支持VRDP(一种面向连接的传输协议)服务器,这样用户可以远程监控虚拟机的实际运行情况,并可以实时操作和配置虚拟机内运行的程序,无须在虚拟机里安装远程监控软件。结合SUN VDI Software,可实现更强大的桌面虚拟功能。此外VirtualBox还自带了一套强大的命令行工具,IT管理员可以通过SSH远程登录实体机,并使用命令行监控、新建、控制和关闭虚拟机。另外VirtualBox能够虚拟一系列新式硬件功能,如ICH6的SATA控制器、Intel的千兆以太网卡、USB2.0接口等。

开拓新应用场合
正如上文所说,VirtualBox配合SUN VDI Software可以实现桌面虚拟化。IT管理员可以在一台服务器上安装VirtualBox,然后通过RDP协议把桌面发送到各个普通用户的显示器上,当用户使用完桌面以后,就可以把内容保存到SUN VDI Software的服务器上。
由于VirtualBox体积小,运行效率极高,而且容易配置,所以它非常适合用于虚拟多台非关键服务器。之所以虚拟非关键服务器,原因在于它不如VMware等专门用于虚拟服务器的方案稳定。但是虚拟非关键的服务器对于虚拟化软件的稳定性要求不是很高,用VirtualBox虚拟化非关键服务器还是绰绰有余的。而且对于中小企业而言,资金是十分重要的,免费高效的VirtualBox是一个很不错的选择。
随着Windows 7的发布,很多IT管理员都在思考是否将企业的IT系统迁移到Windows 7?什么时候迁移好一些?对于中小企业而言,他们没有更多的资源去专门测试正在使用的软件能否在Windows 7上运行,因此虚拟机是他们很重要的测试场所,而VirtualBox很早就支持Windows 7了。中小企业花费一大笔资金去购买昂贵的VMware Workstation显然是不值得的,因为免费的VirtualBox已经能够满足他们的需要。另外一般的软件开发人员也需要为他们的开发成果做多操作系统的兼容性测试,即使是在测试电脑上安装多个操作系统,切换系统不断重启也要浪费不少时间,所以虚拟机对于他们来说是必要的,而开源免费的VirtualBox无疑非常适合他们。

VirtualBox的应用案例
1.用VirtualBox破解需要64位系统的难题
小王在公司算是一个电脑高手,除了业务出色以外,也负责公司的电脑运行和维护。小王所在的公司是一个中小企业,资金并不是很充裕。早前老板花了10000多元买了一台品牌服务器,一直运行得很好。这些天老板购买了一套服务器软件,打算叫小王安装到服务器上使用。该服务器软件需要在64位Windows系统上运行,但是公司的服务器使用的是Red Hat Enterpirse Linux 5的32位版本。怎么办呢?服务器上的网站和程序是不能够停止工作的,否则将会给公司造成巨大的经济损失。小王马上想到了虚拟机,但是RHEL5自带的虚拟机Xen配置比较困难,而且需要重新启动服务器。小王又想到了使用VMware,不过VMware Server的体积比较大,性能损失较大,因此也被否决了。
最后小王想到VirtualBox,虽然VirtualBox不如前两者稳定,但是由于要运行的服务器软件并不要求极高的稳定性,因此运行VirtualBox是没有问题的。而且服务器的CPU是带有VT支持的,于是他马上下载和安装了VirtualBox,并且在VirtualBox上安装了一个Windows Server 2008 x64版本。随后他把老板新购买的软件也安装到虚拟服务器上,运行良好,平时小王还可通过VRDP去监视虚拟服务器是否出现异常情况。由于维护得当,机器至今没有出现故障,小王得到了老板的加奖。
2.用VirtualBox模拟Windows环境
小张只安装了Fedora Linux系统,平时也会使用VirtualBox来处理在Linux上处理不了的问题。有一次,小张接到一个在Windows服务器架设网站和FTP服务器的任务,而且需要在安装前调试。但是小张使用的是Linux,无法模拟出Windows的环境,所以只好安装VirtualBox。在VirtualBox上安装好Windows及配套软件以后,发现当时的网络环境并不允许利用桥接接入网络,只能使用NAT模式。幸亏VirtualBox有强大的端口映射功能,小张把虚拟机的80端口和21端口映射到实体机上,让网络用户可以连接到虚拟服务器上进行测试。经过一轮测试,网站测试通过,并且把网站程序迁移到了另外一台真实的Windows服务器上。在测试过程中,VirtualBox经历了一次次繁重的压力测试,没有出现崩溃现象,小张出色地完成任务。
另外小张有时候也会在VirtualBox里玩一些游戏,例如《反恐精英》,枪战的大场面虽然让游戏的运行帧速下降不少,但是依然能够流畅地运行,VirtualBox的3D加速功能真是令人惊讶。

VirtualBox的未来
作为SUN的桌面虚拟化产品,VirtualBox是十分成功的。虽然是免费产品,但是因为体积小、效率高等出色表现,VirtualBox正在蚕食VMware Workstation的市场。在SUN收购Innotek以后,VirtualBox走上了高速发展的道路。在Oracle收购SUN以后,相信这种势头是不会改变的,甚至会发展更快。
在VirtualBox的发展路线图里,虚拟机实时迁移是一个令人瞩目的特性。虽然VirtualBox现在已经支持OVF虚拟机文件格式的导出和导入,但是虚拟机实时迁移的潮流是不可逆转的,加入此项功能也是大势所趋。另外基于VMI和Windows“Enlightenments”Paravirtualization的半虚拟化也将被加入VirtualBox中,性能进一步提升。重头戏还有Memory Ballooning和下一代的Windows无缝模式,前者将会更有效地改善内存性能,而后者则会带来更好的桌面使用效果,同时VirtualBox将会继续改善网络连接模式。可以看出,VirtualBox并不会紧紧守在桌面虚拟化市场,它也会进军到低端的服务器虚拟化市场,在对稳定性要求较低的服务器虚拟化市场上大展拳脚。