如何享受虚拟化的部署之旅(之一) 探寻虚拟化技术的前世今身

来源 :微型计算机 | 被引量 : 0次 | 上传用户:zingerler
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  随着近年多核系统、集群、网格、甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了IT运营成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。那什么是虚拟化技术?它能为我们带来了什么?
  
  在iPhone手机上运行Windows、Office,使用iPhone的多点触摸功能放大,缩小Windows桌面,创建和修改Word、Excel和DPowerPoint,甚至连耗费硬件资源极大的AutoCAD也可以在iPhone上修改。这些都不是“神话”,而是利用“桌面虚拟化”和“应用程序虚拟化”技术在手机屏幕上显示出运行在数据中心上的操作系统和应用软件的镜像,是最新虚拟化技术为移动用户带来的全新体验。
  在服务器层面,目前利用虚拟化技术已经能做到1:10的整合,就是把一台服务器虚拟成10台虚拟客户机。举例来说,如果一个企业的数据中心过去需要1500台服务器,那现在150台就够了,既符合环保,低碳概念,又能极大地降低企业的运营成本,在经济危机下尤其受到企业的重视和欢迎。虚拟化浪潮契合了IT发展的两大趋势——计算成本的不断下降以及计算能力重新由分散走向集中。那到底什么是虚拟化技术呢?
  
  虚拟化技术的定义
  
  虚拟化简单地讲是一种将系统硬件资源(包括CPU、内存、硬盘等)按照客户的要求分割为不同的虚拟空间,使得其中的每一个都相当于一个完整的系统(对客户机操作系统和用户来说),用户可以在这些不同的独立空间内运行各自的操作系统和应用软件,并且互不影响,而创建这些独立空间的过程就被称为虚拟化,也叫做平台虚拟化。那我们不禁有这样的疑问:如果是为了实现多用户共享,增加更多的机器不是更简单,那为什么还要舍易求难?
  
  虚拟技术发展的漫漫历程
  
  要回答这个问题,就不得不从50年前讲起。1959年,美国学者Christopher Stmchey首次在《大型高速计算机中的时间共享》一书中提出了虚拟化的概念。随后,IBM以及其它公司以此开发出了最初的虚拟化技术。但和Strachey的目的一样,当时他们更多的是关注计算机的性能。当时大型机非常昂贵,为了让更多用户使用它,技术人员使用软件对大型机硬件资源进行分割,虚拟成多台主机,再安装相互隔离的操作系统,让更多用户使用。这就是虚拟化的雏形。
  在随后的10年里,微处理器技术得到了巨大的发展,IT技术也逐渐演变成了一种“通用”的计算模式。当时,绝大部分大型和小型计算机系统均被服务器所取代,因为它更高效,成本更低,尤其是在部署新应用方面。只要某个部门需要部署一个新的应用,就会要求新增一台服务器,这样做的直接后果就是服务器数量急剧增加。从1990年至今,大多数公司的服务器规模增加了10倍以上,用于维护大型数据中心的成本不断攀升,蚕食了大量的资金,运营和管理资源,但是每台服务器的资源利用率却下降到15%左右。这种趋势持续下去,企业将不堪重负。
  为此,以适用为导向的计算模式开始受到人们的重视,其中,虚拟化就是解决服务器集群臃肿最切实有效的办法,不仅可以减少服务器的数量,而且可以大幅提高服务器的资源利用率。为此,在高端服务器领域,虚拟化技术获得了长足的发展,先后经历了部分虚拟化,操作系统虚拟化,完全虚拟化(超虚拟化)阶段,以致最终发展成熟。最具标志性的就是1999年2月8日VMware推出的“VMware VirtualPlatform”(VMware虚拟平台),它的出现标志着虚拟化技术“平民化”的开始。
  
  VMware全虚拟平台
  
  VMware虚拟平台是在斯坦福大学的研究基础上提出的一种完全虚拟化解决方案,利用虚拟化监视器(VMM,也叫Hypervisor)软件来实现PC的完全虚拟化。VMM或Hypersivor是一种运行在服务器硬件和操作系统之间的软件层,可允许多个操作系统和应用共享硬件。VMM可为每个客户端操作系统提供一个完整的硬件界面,让操作系统认为其完全掌控所有资源,从而允许多个操作系统共享硬件。并且,VMM还能够模拟与操作系统和应用有关的所有物理服务器功能。
  然而,在纯软件的虚拟化模式中,VMM必须控制各种关键平台资源(特别是内存),然后分配给每个客户机操作系统,以避免发生冲突。但是在传统的x86架构下,冲突却不可避免。因为,IA-32体系采用的是指令集架构(ISA),它确定了四种操作系统和应用可以运行的“特权层级”(Ring0~Ring 3)。操作系统一般运行在Ring 0上,它具有访问所有处理器和平台资源的特别权限。应用程序通常运行在Ring 3上,被限制内存映射等特定功能,以避免影响到其它应用。通过这种配置,操作系统把持了所有控制权,以确保整个系统的流畅运行,但是这也造成了VMM与操作系统之间对资源控制权的争夺。
  在早期的虚拟化过程中,常规的解决方法是在Ring 0中运行VMM,将客户机操作系统的权限降至Ring1或Ring 3。但是,操作系统都是针对Ring 0设计的,虚拟机软件必须要修改操作系统源代码,在VMM运行期间降低操作系统的权限。如此一来就需要操作系统开发商、集成商等在内的专业技术人员花费大量的时间和人力对系统源代码进行再修改,这个工作的繁琐就不多说了。更重要的是这条路根本走不通,因为诸如微软等系统软件商根本不想把源代码拿出来。唯一可行的方法就只有在虚拟平台和操作系统之间通过二进制转码的方式,减少操作系统对特权状态访问的操作,尽量减少产生不必要的硬件异常,由此出现了类似VMware这样的全虚拟化技术。
  在全虚拟化状态下,虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。全虚拟化VMM以完整模拟硬件的方式提供全部接口,同时还必须模拟特权指令的执行过程。但是,如果硬件不提供虚拟化的特殊支持,那么这个模拟过程就会非常复杂。
  举例而言,在x86体系中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权CR3寄存器来实现,操作系统只需执行“mov pgtable,%%cr3”汇编指令即可。那交给VMM会发生什么情况呢?
  当客户机操作系统执行该指令时,由于这条指令超出了它的控制权限,因此系统产生异常,执行控制权转到VMM手中。VMM首先分配一个变量给客户机操作系统,相当于原来的CR3寄存器,然后将pgtable代表的客户机物理地址填入这个“CR3寄存器”中,接下来 VMM还要将pgtable翻译成主机物理地址并填入到真实的CR3寄存器中,最后返回操作系统,操作系统才能执行这条指令。因此,尽管全虚拟化可以在不修改操作系统源代码的情况下稳定运行,但是就其平台本身而言,不仅编程更加复杂,而且程序的执行效率低下。这种状况—直持续到2005年。
  
  虚拟化的新阶段——硬件辅助虚拟化技术
  
  在2005年春季信息技术峰会上,Intel发布了IVT(Intel Virtualization Technology),从而拉开了IA架构虚拟化应用的新时代大幕。支持虚拟化技术的处理器带有特别优化过的指令集来自动控制虚拟化进程,从而极大简化了VMM的设计,使其性能得到大幅提升。其中,IA-32处理器的虚拟化技术称为VT-x,安腾处理器的虚拟化技术称为VT-i。
  VT-x在原有的IA 4·Rings架构之上提供了一个名为VMX Root的“新特权阶层”,专门用来运行VMM。与此对应,客户机操作系统则运行在VMX non-rootope ration(也就是原来的4-Ring架构),这两种操作模式之间可以切换。VMM通过调用“VMLAUNCH”或“VMRESUME”指令切换到VMX non-root operation模式,这时硬件自动加载操作系统,操作系统获得运行,这种转换被称为VM entry。操作系统运行过程中遇到需要VMM处理的事件,就会主动调用“VMCALL”指令硬件自动挂起,退出操作系统切换到VMX root operation模式,恢复VMM的运行,这种转换称为VM exit。这样一来基本上解决了VMM与客户机操作系统之间的冲突和转换问题。
  除此之外,IVT还提供了一个名为虚拟机控制块(VMCS)的缓存区,分为客户机状态区(GuestState Area)、主机状态区(Host StateArea)和执行控制区。当VM entry发生时,硬件自动从客户机状态区加载之前操作系统的哲存数据(这时不需要保存VMM的数据。因为在VMX root operation模式下,VMM被赋予了最高权限。一旦VMM开始运行,就不会受到任何干扰,只有在VMM彻底处理完毕后才可能切换到操作系统,所以每次VMM运行,必然是处理一个新事件);当需要由操作系统切换到VMM时(VM exit),硬件自动将操作系统的暂存数据保存到客户机状态区,并从主机状态区中加载VMM的通用事件处理函数的地址,VMM开始执行。而执行控制区存放的则是可以操控VM entry和 exit的标志位,例如标记哪些事件可以导致从操作系统切换到VMM。而当由VMM进入操作系统时,VMM会自动给操作系统“塞”入中断标志,当满足条件时,再切换回VMX root operation。这个缓存区的出现,从根本上解决了VMM与客户操作系统之间的信息控制和转换问题。至此,软件虚拟化技术存在的两个最大技术障碍在以IVT为首的硬件虚拟化技术出现后都已不复存在了,这为简化虚拟化的实施铺平了道路。
  可以说,硬件辅助虚拟化技术代表了虚拟化技术的未来,但是,这并不意味着IVT已经完美无缺了,实际上还有不少值得改进的地方。首先,最需要解决的就是提高操作模式间的转换速度问题。由于两种模式的转换太过频繁,如果不能有效提高转换速度,即使充分利用硬件特性,虚拟机的整体性能也会大打折扣,以Pentium 4处理器为例,它通常需要花费2409个时钟周期处理VM entry,花费508个时钟周期处理VM exit,代价相当高;而新的Core架构响应时间已经减少到937和446个时钟周期。其次是提高TLB(Translation Lookaside Buffer,翻译后援缓冲器)的性能,因为每次加载都需要从它里面读取数据,它的性能决定了转换的快慢。除此之外,提供内存管理单元虚拟化的硬件支持以及支持高效的I/O虚拟化也是处理器级虚拟化技术升级亟需解决的问题。
  为此,Intel为IVT制定了一条明确的路线图,从解决Ring 0指令冲突问题的VT-x,到解决I/O设备虚拟化问题的VT-d(在2008年的Stoakley平台中已实现),以及解决内存虚拟化问题的VT-x Gen2(Nehalem处理器中包含此技术)。AMD也推出了自己的虚拟化解决方案,称为AMD-V(内部研发代号为Pacifica)。尽管Intel-VT和AMD-V并不完全相同,但是基本思路和数据结构却是相似的。目前,AMD-V可以为CPU虚拟化和I/O设备虚拟化(10MMU)提供支持。
  
  虚拟技术的应用扩展
  
  在Intel-VT和AMD-V推出之后,虚拟化技术获得了迅猛的发展,已经从最初的平台虚拟化向资源虚拟化和应用程序虚拟化方向扩展。所谓资源虚拟化,是指对特定的系统资源的虚拟化,比如CPU、内存、存储、网络资源等。例如,可以将单CPU虚拟成多CPU,虚拟内存技术可以使应用程序认为其自身拥有连续可用的地址空间。而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段,甚至被交换到磁盘,闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。应用程序的虚拟化最经典的案例就是本文开篇所提到的能够运行Windows和Office的iPhone手机。此外,云计算也是一个很典型的实例。
  
  虚拟化的未来
  
  目前,虚拟化技术已经和云计算一起成为未来高端服务器平台和数据中心必备的两大技术。实际上,虚拟技术带来的变革已随处可见。云计算最重要的软件架构就是通过虚拟化技术来实现的。
  另外,虚拟化技术所带来的服务器数量减少和散热成本的降低也是显而易见的,同时还带来了安全性和可靠性的提升。因为,在应用程序的虚拟化应用中,客户端拥有的只是一个镜像,所有的数据都保存在数据中心里(服务器端),因此即使客户端损坏或丢失,相关的数据也不会消失。不过,虚拟化技术所带来的更重要的革新是,当所有的iPhone(智能手机)都可以运行Windows时,也就意味着终端硬件的性能差别将不复存在,CIO们梦想的“网络就是计算机”就会成为现实。
  MC点评:“截至2008,不能充分利用虚拟化技术的企业将会多支出40%的采购成本和20%左右的管理成本。”(摘自Gartner《服务器虑拟化的未来》)这句话能充分说明了虚拟化为企业级用户带来的成本降低和效益提升。因此,当我们发现虚拟化技术是如此多姿多彩的时候,对它的需求就更为迫切了。
其他文献
平时应用最广泛,使用频率最高的音频回放终端设备是什么?答案不是音箱,而是耳机。别感到惊讶,这是事实。不妨摸摸口袋和背包,它正与你的MP3PMP和掌上游戏机安静地躺在一起;或者仔细想想,是谁让你在不干扰他人的情况下还可以欣赏激动人心的影片和美妙的乐曲。  不得不承认,耳机在日常生活中已普及到几乎让人忘记它存在的程度。可是,这个半日里并不让人注意的小家伙,其背后却隐藏着相当多的“秘密”。如果对它们知之
当电脑多媒体时代来临,音箱便开始了它不平凡的历程。从多年前廉价的塑料多媒体音箱到高档的木质多媒体音箱;从2.0双声道到2.1、4.1、5.1,甚至是7.1声道,从平淡的色彩外形到多姿多彩、形态各异;从功能的单一到多元化应用……细细回味,每一次沉醉于音乐,每一次震撼于影片,每一次投入于游戏,多媒体音箱不知不觉已陪伴我们十多年。  现在,我们将回顾多媒体音箱这些年的发展,重温往日的感动,再忆过去的经典
对只喜欢静静聆听纯净音乐的用户来说,一些高价高质的声卡固然不错,但附带的专业音乐制作等功能完全用不到,浪费投资:而价格便宜的声卡音质又达不到需求。如果你有这样困扰的话,不妨关注下我们本期测试的节奏坦克HiFier Serenade小夜曲声卡,也许它会解决这种问题。  小夜曲声卡在主芯片和DAC上都采用了和高档的TempoTec HiFier声卡一样的CMI 8787以及AKM AK4396VF芯片
用卖手机的方式卖电脑,借助移动营业厅和国美等卖场来铺货,脱离传统IT渠道的3G超便携电脑滞销已经成为不争的事实。这直接考验着中国移动的3G战略。中国移动给超便携电脑厂商提供了巨额的补贴,并做出了让利于民的姿态,但市场需求缓慢及移动销售定位上的策略偏差,使移动在超便携电脑市场遭到挫败。  以超便携电脑为终端切入3G市场,率先发力的移动却并没有抢得市场先机。中国移动3G受困,其根源在于当前很多人对3G
“音箱的外形还能有什么突破?不就是两个方正的卫星箱加一个大大的低音炮吗?”错!优秀的音箱除了能给你音乐的美感外,视觉上也能带来极致的享受。创舰CJC-215音箱正是这样的产品,它如红豆般精致的卫星箱,沉稳大方的低音炮,加上大红的配色,充满了热情奔放的喜庆之感。  创舰C JC-215的卫星箱采用了2.5英寸全频段单元,低音炮为4英寸单元。它的音量调节旋钮颇为巨大,可以轻松拨动左右划转,非常有意思,
绝大部分书架式音箱的忠实用户,对音质都有较高要求。兰欣M-2201的设计初衷就是以400元以内的价格提供优秀的音质,这款产品采用2.0结构,木质箱体。箱体整体为黑色,前障板采用了高光烤漆工艺,并在扬声器单元外圈采用了银色圆环对整体外观加以修饰,使得这款色调深沉的产品不显呆板,反而带有一丝独特的时尚味道。在扬声器配置上,兰欣M-2201采用了1.5英寸丝膜高音单元和5.25英寸防弹布低音单元,并配以
炎热夏天中,散热底座是辅助笔记本电脑散热的首选工具,因为它无需安装,使用简便,收纳方便。在越来越多用户的关注下,散热底座也开始了一些变化,部分低价产品仅仅是一块安装了风扇的桌板。毫无任何设计可言,而知名大厂的产品不仅有一些能够提高散热效率的风道设计,还在外观上下足了功夫,尊龙5318就是这样一款产品。  尊龙5318看起来就像一个大大的u字但是与u的圆渭不同,尊龙5318的线条更为凌厉,左右侧是内
现在消费者在选购机箱时,已经不再单纯地考察外观和价格,而是更加注重产品的做工和功能。金河田飓风8209R机箱就是一款专门强化了防辐射功能的产品。  飓风8209R机箱的前面板款式大方,红色的弧形边框设计搭配开关键的蓝色LED灯显得相当漂亮。按下它的开关键和重启键,感觉键程比较适中,触感也很清晰。前置接口包括两个USB 2.0接口,耳机接口和麦克风接口,其中两个USB接口分布在两侧,我们可以放心插入
富士通液晶一体机Location Free  全国首测  印象中,富士通在2007年推出K系列(包括K50Y和K50Y增强版)液晶一体电脑之后,就在一体电脑市场上沉寂了许久。我们也曾经一度怀疑它是否已经放弃了这块市场转而专心攻坚P系列和D系列的台式机以及其最为重要的笔记本电脑市场。不过,近期随着一款产品来到移动360 评测室,我们打消了这个疑虑,并且发现富士通非但未放弃一体电脑市场,而且将它做得更
因为爱好所以爱上  专访摩机大赛获奖选手张家勇    目为《微型计算机》的报道让张家勇参加了首届三诺摩机大赛,因为摩机大赛,我们认识了张家勇。作为首届摩机大赛N-50G组的第二名,张家勇在摩机方面到底有什么独到之处?本期《我摩我秀》栏目将带大家了解张家勇的摩机之路。  人物简介:  姓名:张家勇  年龄:33岁  个人资料:重庆人,首届三诺摩机大赛N-50G组第二名。现经营一家小店,主要销售电子元