2009年4月29日星期三

总结:主流x86虚拟机技术分析介绍

虚拟计算机技术是近两年来比较火爆的技术之一,已经受到了越来越多的企业和媒体的关注,时间跨进了2006年,虚拟机的热潮更是凶猛扑来。然而,从早期的概念的虚拟机出现,到现代x86虚拟机的流行,虚拟机技术已经有几十年的历史了。

早在上个世纪七十年代,IBM研
究中心就在试验室里实现了其主机的镜像,算是最原始的虚拟机了。40多年来,虚拟机一直在大型机和小型机中运行,无声无息。直到有一天,vmware将
x86虚拟机带到了人们的面前。当我们在Linux中打开一个独立的虚拟机系统,看到了熟悉的Windows的蓝天和白云时,人们才真正意识到虚拟技术已
经发展到这样的一个阶段,而且是这样的诱人。

目前,主流的x86虚拟机技术主要有这样几类:

1、虚拟硬件模式

虚拟硬件模式是最传统的虚拟计算机模式。最早的虚拟硬件模式当然是源自IBM大型机的逻辑分区技术。这种技术的主要特点是,每一个虚拟机都是一台真
正机器的完整拷贝,一个功能强大的主机可以被分割成许多虚拟机。目前,这一虚拟模式被业界广泛借鉴,包括HP
vPAR、VMware ESX Server和Xen在内的虚拟技术都是这样的工作原理。


虚拟硬件模型将计算机、存储和网络硬件间建立了一个抽象的虚拟化平台,使得所有的硬件被统一到一个虚拟化层中。这样,在这个平台的顶部创建
的虚拟机具有同样的硬件结构,提供了更好的可迁移性。在这种模型中,每个用户都可以在他们的虚拟机上运行程序、存储数据,甚至虚拟机崩溃也不会影响系统本
身和其他的系统用户。所以,虚拟机模型不仅允许资源共享,而且实现了系统资源的保护。

目前,此类虚拟机的典型产品有Vmware 的Workstation、GSX Server、ESX
Server和Microsoft的Virtual PC、Virtual Server以及Parallels Workstation等。

以上的几种虚拟机软件都具有同样的特点:虚拟了Intel
x86平台,可以同时运行多个操作系统和应用程序。通过使用虚拟化层,提供了硬件级的虚拟,即虚拟机为运行于虚拟机的操作系统映像提供了一整套虚拟的Intel
x86兼容硬件。这套虚拟硬件虚拟了真正服务器所拥有的全部设备:主板芯片、CPU、内存、SCSI和IDE磁盘设备、各种接口、显示和其他输入输出设备。并且,每个虚拟机都可以被独立的封装到一个文件中,可以实现虚拟机的灵活迁移。

虚拟硬件虚拟技术有两个显著特点。第一,无论哪款产品,都可以直接用系统处理器执行CPU指令,根本涉及不到虚拟层。第二,实现真正的分区隔离,每个分区只能占用一定的系统资源,包括磁盘I/O和网络带宽,并提高了系统的整体安全性。

另外,高端的虚拟服务器产品可以直接在硬件上运行虚拟机,而不需要宿主操作系统。并且,通过相关的管理软件,可以对每个虚拟机消耗的物理资源(网络带宽、磁盘I/O访问等)进行精确的控制。

对于VMware来说,该公司提供了从工作站版本到服务器版本,从迁移工具到管理工具的一系列产品,形成了一整套的解决方案。作为这个行业的领头
羊,Vmware仍然具有比较大的技术优势。但是,该公司一个比较大的问题是价格问题。虽然,Vmware公司已经推出了多个免费版本的产品,但是
Vmware核心的企业级产品ESX
Server不是免费的,而且价格不腓。然而,对于真正虚需要使用该产品的用户们来说,价格也许并不成问题。

作为虚拟机技术领域的"第二号人物",微软这几年的脚步有些慢。在推出了Virtual
PC 2004之后,虽然推出了服务器级产品Virtual Server 2005。但Virtual Server
2005并没有什么过人的优势,功能上能与VMware GSX
Server进行竞争,但迫于市场的压力,Virtual Server
2005已经免费了。在这个虚拟化火爆的年代,相信微软也不会放过虚拟机这块肥肉的,让我们拭目以待吧。

Parallels是虚拟机技术领域的后起之秀,目前只有工作站级产品,但是其推出的MAC
OS版本的产品已经在网上炒的沸沸扬扬。Parallels Workstation具有和Vmware
Workstation类似的界面和功能,虽然在技术上和Vmware
Workstation相比并不占优势,但其最大的诱人之处在于极其低廉的价格。

2、虚拟操作系统模式

虚拟操作系统模型是基于虚拟机运行的主机操作系统创建了一个虚拟层,用来虚拟机主机的操作系统。在这个虚拟层之上,可以创建多个相互隔离的虚拟专用
服务器(Virtual Private Server,
VPS)。这些VPS可以最大化的效率共享硬件、软件许可证以及管理资源。对其用户和应用程序来讲,每一个VPS平台的运行和管理都与一台独立主机完全相
同,因为每一个VPS均可独立进行重启并拥有自己的root访问权限、用户、IP地址、内存、过程、文件、应用程序、系统函数库以及配置文件。对于运行着
多个应用程序和拥有实际数据的产品服务器来说,虚拟操作系统的虚拟机可以降低成本消耗和提高系统效率。

虚拟操作系统模式虚拟化解决方案同样能够满足一系列的需求:安全隔离、计算机资源的灵活性和控制、硬件抽象操作及最终高效、强大的管理功能。每一个
VPS
中的应用服务都是安全隔离的,且不受同一物理服务器上的其他VPS的影响。通过专用的文件系统,使得文件浏览对所有
VPS 用户来说就如常规服务器一样,但却无法被该服务器上的其他 VPS
用户看到。能够实时分配、监控、计算并控制资源级别,完成对CPU、内存、网络输入/输出、磁盘空间以及其他网络资源的灵活管理。经过抽象的VPS具有相
同的虚拟硬件结构,并可以在任意连网的服务器之间透明迁移,而不产生任何宕机时间。

操作系统虚拟化技术解决了在单个物理服务器上部署多个生产应用服务和存储服务器时所面临的挑战。在应用服务部署完成之后,它们被集中于同一种操作系
统以便于管理和维护。操作系统虚拟化是针对生产应用和服务器的完美虚拟化解决方案,共享的操作系统提供了更为有效的服务器资源并且大大降低了处理损耗。通
过操作系统虚拟化,上百个VPS可以在单个的物理服务器上正常运行。

但同时,这种集中于同一操作系统的特性也注定了该类虚拟机只能在同一台物理服务器上运行同一种虚拟的操作系统。也许,你将拥有一台同时运行100个
windows或linux虚拟机的高性能服务器,但你不要想在这一服务器上同时运行虚拟的windows和linux系统。

目前,swsoft的virtuozzo是这一领域的成熟产品。

3、Xen

在不断增加的虚拟化技术列表中,Xen是近来最引人注目的技术之一。Xen
是在剑桥大学作为一个研究项目被开发出来的,它已经在开源社区中得到了极大的推动。Xen
是一款半虚拟化(paravirtualizing)VMM(虚拟机监视器,Virtual Machine
Monitor),这表示,为了调用系统管理程序,要有选择地修改操作系统,然而却不需要修改操作系统上运行的应用程序。Xen是一种特殊的虚拟硬件虚拟
机,具有虚拟硬件虚拟机的大部分特性,其最大的不同点在于,Xen需要修改操作系统内核。

目前,Xen只支持在Linux系统之上实现的Linux虚拟机。不过,其新的版本将支持Intel公司的硬件虚拟技术Intel-VT,这一个关键技术将可以用以解决Xen在虚拟化Windows系统方面的困难。

VMware仍然是虚拟技术领域的领袖,在产品的成熟度方面它比XenSource公司还是有着很明显的优势。但是很多的业内人士认为,由于开源的
原因,Xen的实力将会越来越强。目前,开源领域的巨头Red
Hat公司以及Novell公司都已经开始将该技术整合进入它们于Red Hat Enterprise
Linux 5系统以及Novell、SuSE Linux Enterprise Server 10系统。

虚拟化技术是企业IT基础设施建设和管理上的一个重大进步,虚拟化技术降低了IT基础结构总成本,并为企业IT用户提供了更好的服务水平,显著提高了IT资源灵活性且极大地降低了IT基础设施的复杂性。

新闻来自:http://article.pchome.net/content-861404.html

网友评论:
范堡 2009-04-17 10:37

我在自己的服务器里头架设的就是
宿主 RedHat 5.3 X64
然后使用 VMware server 2.0 虚拟出 4 个操作系统。
共占用4G 内存,而且压力还不少,宿主的CPU已经到80%。
一直运行良好,所以我对 Vmware 的稳定性相当看好。

Parallels 这个东西是不用不知道,一用吓一跳。
在技术上来说可能是跟 Vmware 是差不多类型的东西。
但在使用衫过来说,无与伦比!

在 MAC 系统上,他能通过虚拟化安装 WinXP,而且能把 XP完全跟 Mac
融入在一起!
就是说,WinXP上安装的程序,不用打开虚拟机的窗口,而就是直接把原版在
WinXP桌面上的快捷图标拉到了
Mac桌面上。运行起来,也不用打开虚拟机的窗口,直接就在 Mac 桌面上运行了。

简单一说,就相当于 Mac 能直接运行 WinXP 的程序一样!!包括开始菜单也融入到
Mac 里头。

Parallels 可是为 APPLE MAC 打天下的猛将啊!!!

没有评论: