首页 > 技术 > CAE其它 > > 计算机虚拟化技术浅析

计算机虚拟化技术浅析

作者:Simwe    来源:万方数据    发布时间:2012-10-25    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

虚拟化技术起源于上个世纪六七十年代的美国,最早在商业领域实现虚拟化技术的是1965年推出的IBM 7044计算机,IBM随后开发了Model 67型号的System/360主机,Model 67主机通过虚拟机监视器(Virtual Machine Monitor)在物理硬件之上生成了很多可以运行独立操作系统软件的虚拟机实例,来模仿多台不同型号的计算机,让用户能充分地利用昂贵的大型机资源。随后的几十年时间里,该技术主要在大型机上应用。随着计算机和互联网技术的发展,微型计算机的处理能力,普及范围和应用需求也在不断发展,尤其是CPU进人多核时代之后,PC具有了前所未有的强大处理能力,为了提高资源利用率、简化管理、降低成本,虚拟化技术也在新世纪得到了突飞猛进的发展,迅速应用于各个行业领域。虚拟化技术正在从主流的服务器虚拟化、存储虚拟化技术蔓延到IT应用的各个角落。尤其是刀片式服务器的广泛应用给虚拟技术的推广应用提供了方便和广阔的平台。

一 虚拟化技术的概念

什么是虚拟化技术?这是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。概括来说。虚拟化是一种从逻辑角度来分配不同的物理资源的方法,将应用程序及其下层组件从支持他们的硬件中抽象出来,并提供支持资源的逻辑化视图。是对物理实际的逻辑抽象。比如说,当前只有一台计算机,通过虚拟技术,在用户看来,似乎却是多台,每台都有其各自的CPU、内存、硬盘等物理资源。

对于用户。虚拟化技术实现了软件跟硬件分离,用户不需要考虑后台具体的硬件实现,而只需在虚拟层上运行自己的系统和软件。而这些系统和软件在运行时,也似乎跟后台的物理平台无关。

二 虚拟化技术的实现原理

虚拟化技术所涉及的专业领域和应用范围非常广泛,不同的应用原理也不同,当前虚拟化技术的实现原理主要有三种

2.1 拆分

某台计算机性能较高,而工作负荷小,资源没有得到充分利用。这种情况适用于拆分虚拟技术,可以将这台计算机拆分为逻辑上的多台计算机,同时供多个用户使用。这样可以使此服务器的硬件资源得到充分的利用。如图l中A所示。

2.2 整合

当前有大量性能一般的计算机,但在气象预报、地质分析等领域,数据计算往往需要性能极高的计算机,此时可应用虚拟整合技术,将大量性能一般的计算机整合为一台计算机,以满足客户对整体性能的要求。如图1中B所示。

2.3 迁移

(1)将一台逻辑服务器中的闲置的一部分资源动态的加入到另一台逻辑服务器中,提高另一方的性能。

(2)通过网络将本地资源供远程计算机使用。Windows下的共享目录,Linux下的NFS等,还包括远程桌面等等。如图1中C所示。

三 虚拟化技术的分支

提起虚拟化,很多人会认为是指主机虚拟化,这是不正确的。虚拟化技术发展的40多年中,已经从最初的主机虚拟化发展到了今天的服务器虚拟化、网络虚拟化、存储虚拟化、桌面与应用虚拟化、微处理器虚拟化、内存虚拟化、操作系统虚拟化等等多个方面。每种虚拟化都有其所对应的方案和技术,在企业应用的不同层面也存在着对不同虚拟化技术的需求。下面重点介绍几种时下比较热门的虚拟化技术。

3.1 服务器虚拟化

服务器虚拟化又称主机虚拟化,是指把一台物理服务器的资源抽象成逻辑资源,把一台服务器虚拟成多台相互隔离的虚拟服务器即虚拟机。虚拟机并不是真正的机器,但它能像真正的机器一样的工作,每个虚拟机就像一台独立运行的服务器,有自己的一套虚拟硬件(如RAM、CPU、网卡等),在上层的操作系统和软件看来,它们就是一台台相对独立的服务器,就像在自己的硬件上运行一样。

通过将服务器资源分配到多个虚拟机,同一物理平台能够同时运行多个相同或不同类型的操作系统,作为不同业务和应用的支撑平台。在一台服务器上运行多个虚拟机不仅能够提高服务器的效率,减少管理和维护费用,而当应用需求增加时,还可以迅速创建更多虚拟机而不增加物理服务器,降低硬件成本。

服务器虚拟化的实现通常使用两类虚拟化技术,一类是硬件辅助虚拟化技术,代表厂商为VMware和微软。而另一类是软件虚拟化技术.SWsoft的Virtuozzo和Sun的Solaris容器(Sun Containers)是其主要代表。

3.2 桌面虚拟化

桌面虚拟化,顾名思义就是将桌面的软件进行虚拟化改造的技术。即通过某种技术在中央服务器上虚拟出大量的虚拟桌面,并提供给成千上万的用户使用,使得用户仍然像使用桌面系统一样使用现有的桌面软件,但是,软件程序的执行却不是原来通常的在本地进行执行的方式。当前,桌面虚拟化主要有以下几种主流技术。

(1)通过远程登录的方式使用服务器上的桌面。典型的有Windows下的Remote Desktop、Linux下的XServer、或者VNC(Virtual Network Computing)。其特点是所有的软件都在服务器端执行,客户端只需运行一个远程的登录界面,登录到服务器,就能够看到桌面,并打开远程的程序。

(2)通过网络服务器的方式,运行改写过的桌面。典型的有Google的Office软件或者http://www.eyeos.corn/浏览器里面的桌面。这些软件通过对原来的桌面软件进行重写,从而能够在浏览器里运行完整的桌面或者程序。

(3)通过应用层虚拟化的方式提供桌面虚拟化。这种方式是通过软件打包,将软件在需要的时候推送到用户的桌面,在不需要的时候收回,可以减少软件许可的使用。

桌面虚拟化技术不仅有助于缩减硬件升级采购成本并通过服务器集中部署简化管理,而且也能为用户提供定制化的虚拟PC。

3.3 网络虚拟化

网络虚拟化技术是目前业界关予虚拟化细分领域界定不明确,存在争议较多的一个概念,基于网络的虚拟化产品还处在一个初级发展阶段。利用交换机中的虚拟路由特性,用户可以把一个企业的网络分隔成使用不同规则和控制多个不同的子网络,这样,用户就可以充分的利用交换机的功能,而不必再为此购买和安装新的设备,从而减少运营费用和技术复杂性。网络虚拟化技术分布在企业网络应用的各个层面与各个方面,不管是用户还是企业网络管理者都离不开网络虚拟化,虚拟化必将推动下一波网络的增长。

3.4 存储虚拟化

存储虚拟化是将实际的物理存储实体与存储的逻辑表示分离开.通过建立一个虚拟抽象层,将多种或多个物理存储设备映射到一个单一逻辑资源池中。这个虚拟层向用户提供了一个统一的接口,向下隐藏了存储的物理实现。从专业的角度来看,虚拟存储是介于物理存储设备和用户之间的一个中间层。这个中间层屏蔽了具体物理存储设备(磁盘、磁带)的物理特性,呈现给用户的是逻辑设备。用户对逻辑设备的管理和使用是经过虚拟存储层映射。来对具体物理设备进行管理和使用的。从用户的角度来看,用户所看到的是存储空间不是具体的物理存储设备,用户所管理的存储空间也不是具体的物理存储设备。用户可随意使用存储空间而不用关注物理存储硬件(磁盘、磁带),即不必关心底层物理设备的容量、类型和特性等,而只需要把注意力集中在其存储容量及安全模式的需求上。虚拟存储技术的使用有助于更充分地发挥现有存储硬件的能力和提高存储效率,提高安全性。

根据虚拟层在存储系统中所处的位置,我们可以把存储虚拟化的实现方法分成以下几种方式:基于存储设备端的虑拟存储、基于服务器端的虚拟存储和基于存储网络的虚拟存储。

存储虚拟化主要有三种实现方式。

(1)基于主机的虚拟化:在应用服务器上安装相应的逻辑卷管理软件实现对存储的整合与调配。比如Symantec的Storage Foundation。

(2)基于存储设备的虚拟化:将管理存储的任务交给存储控制器,大部分存储厂商都有相应产品,如EMC、HP、IBM。

(3)基于网络的虚拟化,加入管理SAN的软硬件来整合异构的存储平台。比较有代表性的足IBM的SVC。

四 总结

虚拟化应用已经成为一种趋势,通过实现IT基础架构的虚拟化,可以降低IT成本,同时提高现有资产的效率、利用率和灵活性、安全性和可靠性,增强可移植性。在全世界,各种规模的公司都亭受着服务器的虚拟化带来的好处。虚拟化技术已经成为计算机技术研究的焦点之一。
 

 
分享到: 收藏