Friday 30 November 2012

扫盲操作系统虚拟机[3]:虚拟机软件的选择

  最近10年来,虚拟化技术发展很快,市面上也冒出了一大堆(至少几十种)的虚拟机软件。所以,在介绍了虚拟机的应用场景之后,俺再来介绍一下"如何选择虚拟机软件"。

★根据知名度筛选


  为啥把知名度作为第一筛选标准捏?因为知名度高的软件,用的人通常也比较多。当你使用该软件碰到问题/困难时,也就更容易从网上找到相关的资料。如果是商业软件的话,用的人越多,也就越容易找到破解或者注册码 :-)
  如今的虚拟机软件,名气比较大的有如下几款(按字母序排列):
KVM、Parallels、VirtualBox、Virtual PC 系列、VMware 系列、Xen

★根据支持的OS来选择


  接下来再看虚拟机软件支持哪些操作系统。
  对操作系统的支持包括两个层面:第一个层面是支持哪些 Host OS,第二个层面是支持哪些 Guest OS。关于 Host OS 和 Guest OS 的概念,本系列第一篇已经介绍过,这里就不再啰嗦了。
  当今的桌面操作系统,最流行的分别是 Windows、Mac OS、Linux。考虑到俺博客的读者群,这三种系统的用户都有。所以,本系列推荐的虚拟机最好能在 Host OS 层面和 Guest OS 层面同时支持这三款操作系统。根据这个标准,就排除掉了 KVM、Xen、Virtual PC——因为 KVM 和 Xen 不支持 Windows 作为 Host OS;而 Virtual PC 不支持 Linux 做 Host OS。

★三个候选者


  两轮淘汰下来,剩下三个候选软件:VMware、VirtualBox、Parallels。下面简单介绍一下这三个候选者。

◇VMware


  VMware 的官网链接在"这里"
所谓的 VMware 虚拟机软件,其实是一个很大的家族,成员比较复杂。在这个家族中,面向桌面用户的产品有 VMware Workstation、VMware Fusion、VMware Player。
  其中的 VMware Workstation 面向 Windows/Linux 用户,VMware Fusion 面向 Mac OS 用户。至于 VMware Player 要特别说一下:这款软件虽然免费,但功能实在太弱了(连快照都不支持)。不支持"快照"的虚拟机软件,简直形同废物。所以俺就不考虑 VMware Player 了。本文后续部分提到的 VMware,均指 VMware Workstation 和 VMware Fusion。

◇VirtualBox


  VirtualBox 的官网在"这里"
  在这三个候选者中,VirtualBox 是仅有的开源软件(而且免费)。如果用它的话,你既不用花钱,也不用盗版。别看是免费,功能完全不逊色,具体细节后面会介绍。

◇Parallels


  Parallels 的官网在"这里"
  Parallels 包括两款软件:Parallels Desktop 面向 Mac OS 用户;Parallels Workstation 面向 Windows/Linux 用户。
  这玩意儿的知名度可能不如前两个,但在苹果社区的口碑还是不错滴。据说 Parallels 公司把研发的重点放在 Parallels Desktop,导致 Parallels Desktop在版本更新、功能、稳定性方面,都比 Parallels Workstation 要好。
  俺个人觉得,用 Mac OS 的同学可以考虑试试 Parallels Desktop,至于用 Windows/Linux 的同学,就甭考虑 Parallels Workstation 了。

★功能对比


◇快照


  快照是基本功能,这三款软件自然都支持。而且都支持多层次的树形快照。
  点评:三者持平

◇数据交换


  这是指在 Host OS 和 Guest OS 之间交换数据。常见的方式有三种:共享目录、共享剪贴板、鼠标拖放。
  这三款软件同时都支持上述三种方式。提醒一下:VirtualBox 的拖放功能迟至 4.2.0 版本才加入,可能还不太完善。
除了上述三种方式,VMware 还支持把 Guest OS 的硬盘文件映射到 Host OS的某个盘符。通过此功能,即使 Guest OS 没有运行,你也可以方便地访问 Guest OS 里面的文件。
  点评:VMware 占优

◇CPU VT


  所谓 "CPU VT" 就是在 CPU 硬件层面提供虚拟化相关的指令。利用这些指令,虚拟机软件可以更好、更快地实现虚拟化的功能。更多介绍请看维基百科"这里"。
  目前 x86 芯片的 VT 技术主要是 AMD-V 和 Intel-VT,这三款软件都支持。
  点评:三者持平

◇磁盘文件格式


  VMware 只支持自家的 VMDK 格式。
  Parallels 除了支持自家的 HDD 格式,还支持 VMware 的 VMDK 格式。
  VirtualBox 除了支持自家的 VDI 格式,还支持如下几种:
VMDK(VMware 虚拟机的格式)
VHD, VHDX(VirtualPC 虚拟机的格式)
HDD(Parallels 虚拟机的格式)
QCOW, QED(QEMU 虚拟机的格式)
  点评:VirtualBox 占优
  备注:因为 VirtualBox 支持的格式多,其它虚拟机软件制作的 VM 要迁移到 VirtualBox 会比较容易。

◇光盘镜像映射


  这个功能就是把 Host OS 上的光盘镜像文件映射到 Guest OS 的光驱,让 Guest OS 以为这是一张真实的光盘。
  这三款软件都支持光盘镜像映射。
VMware 支持 ISO 格式
Parallels 支持ISO, DMG, CUE, CCD 格式
VirtualBox 支持 ISO, DMG, CDR 格式
  点评:ISO 格式属于光盘镜像的事实标准,其它格式用的少。所以三者持平

◇USB 支持


  "USB 支持" 是指虚拟机软件把 Host OS 上的 USB 设备映射到 Guest OS 中。
  这三款软件都支持 USB,差别在于 USB 的协议。VirtualBox 目前的 4.2.x 版本仅支持到 USB 2.0;而 Parallels Desktop 从今年的 8 版本刚刚开始支持 USB 3.0;VMware 也是在今年发布的 9.0 版本刚刚支持 USB 3.0
  点评:VirtualBox 落后

◇界面中文化


  VMware 貌似没有官方的中文版,要靠汉化补丁。Parallels 有中文版,VirtualBox 的界面内置多种语言,可以动态切换。
  点评:VirtualBox 占优,VMware 落后

◇显示模式


  虚拟机软件常用的显示模式有三种:窗口模式、全屏模式、无缝模式。
  这三款软件同时都支持上述三种模式。

  1. 窗口模式
  窗口模式是最基本的显示模式。在这种模式下,整个 Guest OS 桌面显示为 Host OS 桌面上的一个窗口。所有 Guest OS 软件的界面都在这个窗口中。

  2. 全屏模式
  全屏模式就是让 Guest OS 独占整个显示器。在全屏模式下,你看不到 Host OS 的桌面。

  3. 无缝模式
  所谓 "无缝模式" 就是:让 Guest OS 里面的软件界面从虚拟机的窗口中"跑"出来,直接融合在 Host OS 的桌面里。这种效果是很酷滴!
  这三款软件对 "无缝模式" 的叫法不同——VMware 称之为 "Unity",Parallels 称之为 "Coherence",VirtualBox 称之为 "Seamless"。

  点评:三者持平

◇3D 加速


  这三款软件都有 3D 加速,它们都支持了 OpenGL 2.0(或更高)和 DirectX 9(或更高)。
  点评:三者持平

◇截屏/录像


  VMware Workstation 几年前就具有"截屏"和"录像"功能;
  VirtualBox 只有"截屏",没有"录像";Parallels 貌似也没录像功能。
  点评:VMware 占优

◇远程操作


  所谓远程管理就是:虚拟机软件提供某种方式,让用户可以通过网络远程操作 Guest OS。提醒一下:这种远程操作能力是由虚拟机软件提供的,跟 Guest OS 没有关系。举个例子:你甚至可以远程操作一个 DOS 的虚拟系统。
  VMware 支持基于 VNC 的远程操作;VirtualBox 支持基于 RDP(远程桌面协议)的远程操作;Parallels 貌似不支持远程操作。
  点评:考虑到 RDP 比 VNC 普及,所以 VirtualBox 占优

★性能对比


  从刚才的"功能对比",大伙儿应该可以看出,这三个候选者的功能,有些小差异,但没有实质性的差异。所以俺再来比较一下性能方面的高低。
  要测性能,必须在同一台电脑里面,使用相同的 Host OS 环境进行测试,才有可比性。所以俺根据三种主流的桌面操作系统,分别介绍。
  免责声明:下面列举的性能测评是网上找来的,未必全面,仅供参考。

◇Windows


  "这里"有一篇台湾同胞做的测评。Host OS 用 Windows Server 2012,Guest OS 用 Windows Server 2008 R2。
  该测评针对三种虚拟机软件:VMware Workstation 9、VirtualBox 4.2.0、Hyper-V(这里的 Hyper-V 用的是 Windows 2012内置的)
  测试结果是:Hyper-V 明显好于 VMware Workstation 9,VMware Workstation 9 好于 VirtualBox 4.2.0
  考虑到 Hyper-V 是 Windows Server 2012 内置的,而且测试方法是 Windows 虚拟 Windows,所以 Hyper-V 的结果未必能说明问题。
  不过捏,VMware Workstation 9 比 VirtualBox 4.2.0 快,倒是可以说明一定的问题。

◇Mac OS


  "这里"有一篇很全面的测评,使用 Parallels Desktop 8, VMware Fusion 5, VirtualBox 4 这三款虚拟机软件,在苹果系统中虚拟 Windows。为了提供参照,还特意测试了 Windows 系统直接运行在 Mac 硬件上的性能指标,作为虚拟机性能的对比。
  从发布时间看(Sep 17 2012)算是比较新鲜的。从测评的综合结果看,Parallels Desktop > VMware Fusion 5 > VirtualBox 4。而且 VirtualBox 4 落后较多。

◇Linux


  "这里"有一篇去年(Sep 09 2011)的测评,基于 Linux Mint,测试了 VirtualBox 和 VMware。该测试中,至少有6项指标,VMware 明显好于 VirtualBox;只有一项指标是 VirtualBox 明显好于 VMware。
"这里"还有一篇半年前(May 01 2012)的测评,对比了4款虚拟机(Hyper-V, ESXi, KVM, VirtualBox),其中的 ESXi 属于 VMware 家族。从这篇测评的结论看,VirtualBox 比 KVM 略好,不如 Hyper-V 和 ESXi。

★总结


  功能上,三个候选者各有胜负,但差别不大。
  性能上,VirtualBox 在三种系统都不如 VMware;苹果系统上,Parallels 明显占优。虽然 VirtualBox 性能不够好,但它是开源软件,无需花银子。
  俺的建议是:
Windows 的用户,在 VMware Workstation 和 VirtualBox 二选一(Parallels Workstation 用的人太少,明显不给力,不予考虑)。
Mac OS 的用户,在 Parallels Desktop 和 VirtualBox 二选一(苹果系统的 Parallels Desktop 比 VMware Fusion 好,价格还便宜,于是排除掉 VMware Fusion)。
Linux 的用户,在 VMware Workstation 和 VirtualBox 二选一(如果你是铁杆 Linux 用户,这辈子铁定不用其它 OS 做宿主,或许也可以考虑 KVM 或 Xen)。

回到本系列的目录

版权声明

本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者"编程随想"和本文原始地址。

学习翻墙

用国外邮箱发信给help_gfw@yahoo.com即可收到翻墙教程
如有其它问题,用program.think@gmail.com联系俺


from 编程随想的博客 http://program-think.blogspot.com/2012/11/system-vm-3.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+programthink+%28programthink%29