四、虚拟机产品
从上个世纪七十年代开始出现虚拟技术,到近年来受到了越来越多的企业和媒体的关注,虚拟计算机技术获得了长足的发展,这些都是虚拟产品飞速发展的有力保障。目前,市场上虚拟机产品多种多样,我们这里只选择有代表性的几个进行介绍:
1、EMC Vmware产品系列
1)、简介
VMware是全球领先的虚拟化解决方案提供商,成立于1998年。VMWare产品是硬件抽象层的虚拟化技术的代表,产品家族中有多款虚拟机产品:
VMware Workstation:是一款帮助开发者和系统管理员进行软件开发,测试以及配置的强大虚拟机软件。软件开发者借助它可以在同一台电脑上开发和测试适用于Microsoft Windows, Linux或者NetWare的复杂网络服务器应用程序。
VMware Server:一款入门级的 VMware Server,面向 x86 与 x86-64 服务器。作为商业版VMware GSX Server的继任者,VMware Server for Linux/Windows允许用户同时运行多个操作系统。
VMware GSX Server:是一套为关键商业环境所打造的企业级的虚拟服务器软件。VMware GSX Server是市面上最具弹性且最容易部署的虚拟服务器软件。
VMware ESX Server:是一个适用于任何系统环境的企业级的虚拟计算机软件。大型机级别的架构提供了空前的可测量性和操作控制。完全动态的 资源控制,适合各种要求严格的应用程序的需要。
VMware Player:最大的不同之处就是省去了制作虚拟机的功能,就像其名字一样,它只是一个系统“播放器”,而不能用于创建虚拟系统。该子产品为免费的虚拟机使用软件。
VMware Converter:是一款能将物理机系统转化为一个虚拟机映像文件的工具,而且生成的映像可以在VMware虚拟机软件中使用。本软件融合了之前两个独立的工具:VMware P2V Assistant和Virtual Machine Importer。
在以下对VMware产品的介绍中,以VMware Workstation为主要介绍对象。
2)、功能
VMWare可以运行多种主流的操作系统。例如对于windows操作系统,涵盖了windows 3.1,95,98,me,NT,2000 pro/server/advance server, xp home/pro, vista, server2003 standard/enterprise, server2008等版本以及对应的64bit版本(如果存在的话)。对于Linux操作系统,包含了RedHat 2/3/4/5, SUSE, Novell, Sun java desktop system, Mandrake,Ubuntu以及未列出的Linux2.2/2.4/2.6内核的操作系统及对应的64bit操作系统(如果存在的话)。当然还包括Novell Netware,Sun Solaris,DOS,BSD*操作系统。
在创建操作系统时,可以指定操作系统(虚拟的)运行的虚拟硬件环境,例如内存,硬盘,光驱,网卡,USB控制器,声卡以及处理器个数等等。
对于虚拟操作系统(guest系统),可以设置和主机的共享目录,设置网络连接方式(无网络,只和host系统连接,访问internet等),对虚拟操作系统进行某一时刻的snapshot,对运行的guest系统进行录像/捕捉屏幕/保存状态/暂停/重启,在host/guest操作系统之间进行全屏幕的切换等等个性化的设置。
对于虚拟操作系统,可以通过安装VMWareTools进行网络,显卡控制器,鼠标,键盘等进行驱动的安装,从而保持guest操作系统的可用性。
开发team中的一个用户设置好虚拟机之后,可以通过clone的功能,分发给team内的其他成员使用,以保证环境的一致性。
3)、特性
VMWare的产品采用的是标准的完全虚拟化的虚拟硬件的模式,虚拟技术有两个显著特点:
第一,无论哪款产品,都可以直接用系统处理器执行CPU指令,根本涉及不到虚拟层。第二,实现真正的分区隔离,每个分区只能占用一定的系统资源,包括磁盘I/O和网络带宽,并提高了系统的整体安全性。
第二,高端的虚拟服务器产品可以直接在硬件上运行虚拟机,而不需要宿主操作系统。并且,通过相关的管理软件,可以对每个虚拟机消耗的物理资源(网络带宽、磁盘I/O访问等)进行精确的控制。
4)、价格
VMWare的产品不是Free软件或者开源软件。并且不提供Community的版本。几百美元对于普通的开发人员还是有些昂贵。
VMware Workstation 6.5 for Windows/Linux: $189.00
VMware Workstation 6.5 for Windows/Linux 5 Pack: $899.00
VMware Workstation 6.5 for Windows/Linux 10 Pack: $1,690.00
2、微软Virtual PC产品系列
1)、简介
微软的虚拟机产品主要有Virtual、Virtual Server、Hyper-V等
Virtual PC:微软推出面向桌面用户的产品,目前普遍使用的是 Virtual PC 2004 和 Virtual PC 2007
Virtual Server:面向服务器的虚拟化软件
Hyper-V:微软面向企业的新一代虚拟化产品。
在以下对微软虚拟机产品的介绍中,以Microsoft VirualPC为主要介绍对象。
2)、功能:
微软公司的VirtualPC是一款guest操作系统只能为windows操作系统的虚拟机软件。对于创建的guest操作系统,可以进行的设置选项包括:内存,硬盘,CD/DVD-ROM,COM接口,LPT接口,网络服务,声卡,鼠标,共享目录,显示模式等。和其他的虚拟机软件不同的是,Microsoft Virtual PC可以设置多个虚拟机网络适配器,相当于有多块虚拟网卡。
同样,VirtualPC也包含全屏幕切换,加载光驱,安装guest操作系统的设备驱动等功能,但是相对VMware Workstation,其功能相对较少一些。
3)、技术介绍
Microsoft的Virtual Server 2005来源于2003年收购Connectix的虚拟化技术。这是一种类似于VMware Workstation结构的虚拟化产品。除了虚拟化的功能外,还有两种特色的功能:undo磁盘功能可以使用户方便地undo客户虚拟系统之前对磁盘的操作,有利于某些情况下的数据恢复;另一种特色技术是二进制翻译,它可以在基于Macintosh的机器上提供x86的虚拟机。但Virtual Server产品其对操作系统种类的支持不是很广泛,主要支持Windows和Linux客户虚拟系统(VirtualPC不支持Linux客户虚拟系统)。Linux系统还不能做为Virtual Server的Host平台。
4)、性能
由于本身只能运行于Windows操作系统中,所以软件的兼容性很好,鼠标的集成(在host和guest系统中跨跃时的连续性等)也比较好。
但是相对于VMWare和VirtualBox,VirtualPC只能运行于Windows操作系统,并且其guest操作系统只能为windows操作系统,所以应该说是为windows软件开发人员设计的虚拟机软件。同时,作为商业软件,普及到一半用户的几率相对较小。
5)、价格
Virtual、Virtual Server:免费;
Hyper-V:免费,但是,尽管Hyper-V本身是免费的,大部分的用户仍然需要购买相应功能作为Windows服务器操作系统中的一部分。相应套餐零售价如下:
Windows Server 2008 R2 Standard Edition,包含Hyper-V和10个CALs,列表价1209美元;
Windows Server 2008 R2 Enterprise Edition,包含Hyper-V、 High Availability、 更高扩展性、Server Core 以及25个CALs,列表价3999美元;
Windows Server 2008 R2 Data Center Edition包含所有的上述属性,不含CALs的Data Center Edition是以每个CPU来报价的,并且只有在原始设备制造商和渠道合作伙伴处才能购买到,列表价2999美元。
3、Xen产品系列
1)、简介
Xen 是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大的推动。Xen的独特之处在于对操作系统进行修改,以降低额外损耗,从而提供比硬件虚拟化技术更高的效率。
2)、功能
Xen hypervisor是当前最快和最安全的整体架构虚拟化解决方案,它支持主流的客户机操作系统,例如Windows、Linux、Solaris,以及BSD操作系统的不同版本。
3)、技术介绍
第一,Xen hypervisor技术:
在Xen虚拟化架构中,一个纤薄的软件层(Xen hypervisor)取代了原有运行在服务器和桌面机上的操作系统。这个软件层很好地抽象了物理资源,有效地将操作系统(以及运行其上的应用程序)和下面的物理服务器剥离开,从而允许一台物理服务器上同时运行一个或多个虚拟服务器。
Xen hypervisor是一项独一无二的开源技术,由Xen开源社区和来自于50多个公司的工程师共同开发。这些公司提供富有创新性的数据中心解决方案,包括AMD、Citrix、Dell、Fujitsu、HP、IBM、Intel、NEC、Novell、Red Hat、Samsung、SGI、Sun、Unisys和许多其它的业界领先者。Xen采用了GNU通用公共许可证(GPL2),在源代码和目标格式的使用上不需要付费。Xen将来也会一直采用开源模式,继续整合业界和Xen相关资源,加速虚拟化技术在企业中的普及。
第二,Para-virtualization技术:
Xen的Para-virtualization技术的主要内容是:对于内存分段管理的虚拟化,要求客户操作系统对硬件分段描述符的更新由Xen进行验证,这也就要求客户操作系统不能有高于Xen的特权级别和不允许访问Xen的保留地址空间;对于内存分页管理的虚拟化,要求客户操作系统可以直接读硬件页表,但对页表的更新需要Xen进行验证和处理,Xen支持客户虚拟系统可以分布在不连续的物理内存上;对于客户虚拟系统,其只能运行在低于Xen的特权级别上;客户虚拟系统需要注册一个异常(Exception)处理函数的描述符表,直接支持Xen的虚拟化;客户虚拟系统的硬件中断机制被Xen中的Event处理机制代替;每个客户虚拟系统都有自己的时钟接口,并且可以了解真实的时间和虚拟的时间;客户虚拟系统通过异步I/O rings的内存区域和外部设备(网络、硬盘)来传递数据,采用事件处理机制代替硬件中断通知机制。
4)、价格
Xen是开源项目,可以免费测试、试用;
Xenserver企业版是免费的,和商业版的差别就是少一个HA功能;
四个接口的标准版本售价900美元,服务的收费按每一次事件收取。
4、SUN VirtualBox产品
1)、简介
无论是对于个人还是企业,VirtualBox都是功能强大的x86/AMD64/Intel64虚拟产品,它不仅仅对于企业来说性能丰富,性能高效,对于个人用户来说,也是开源的唯一专业软件。
2)、功能
VirtualBox运行于Windows,Linux,Mac以及OpenSolaris系统,同时支持非常多的guest操作系统,例如Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris and OpenSolaris, and OpenBSD等等。
VirtualBox被持续的开发,连续的发布带有新的功能的版本。VirtualBox是community产品,同时由Sun公司(被收购前)来保证其专业性。
VirtualBox同样可以在设置guest系统运行的硬件环境,host/guest操作系统之间进行全屏幕/无缝/自动调整屏幕,进行快照操作,设置共享目录,随时insert/release CDROM,安装各种驱动程序,设置网络连接模式,其支持的guest操作系统的分类比VMWare更加的详细主要体现在Linux和Solaris操作系统,设置硬盘分区的个数等等。
3)、优点
VirtualBox最大的优点还是在于其开源性,用户不仅可以使用免费的软件,设置可以通过svn获取整个项目的source
其次,多平台,多guest操作系统平台,丰富的虚拟机功能也是其优点。
4)、价格
VirtualBox是开源项目,可以免费测试、试用
5、产品对比
比较项目 | VMWare | Microsoft VPC | Xen | Sun VirtualBox |
开源? | N | N | Y | Y |
跨平台? | Y | N | (仅Linux) | Y |
虚拟机文件个数 | 多个文件 | 两个文件(配置+vhd) | ? | 单一文件(<span style="font |