硬件辅助虚拟化:开创普遍虚拟化计算时代

日期: 2008-03-30 作者:新城 来源:TechTarget中国

  2005年11月,英特尔发布了新的Xeon MP处理器系统7000系列,X86平台历史上第一个硬件辅助虚拟化技术――VT(Vanderpool Technology)技术也随之诞生。这一里程碑式的事件也拉开了X86平台普遍虚拟化计算的帷幕。


  虚拟化:概念与优势


  所谓虚拟化,是指将单台电脑/服务器软件环境分割为多个独立分区,每个分区均可以按照需要模拟电脑/服务器的一项技术。它的技术实质是通过中间层次实现计算资源的管理和再分配,使资源利用实现最大化。


    虚拟化分区带来的最大好处是使同一个物理平台能够同时运行多个同类或不同类的操作系统,以分别作为不同业务和应用的支撑平台。分区使得应用之间能够更好地隔离,通过把不同的应用安装到不同的分区上,可以避免在同一个系统运行多个应用时相互影响,包括计算资源争用,单一应用的崩溃对整个系统造成影响,或单一应用的维护和升级影响其他应用的运行,以及各应用对系统平台环境组件版本的不同要求等矛盾;同时使得系统的备份、迁移和升级更加简单灵活,由于资源管理中间层的存在,不但操作变得非常简单,而且可以很容易实现在线实施;当然,最重要的是分区可以实现计算资源的实时按需动态分配,负载大的分区可以获得更多的计算资源,在负载下降时,计算资源可以被回收,返还或再分配给其他的分区,以最大限度地实现资源整合和按需动态分配。


  硬件辅助虚拟化:一种更高效可靠的实现方式


  虚拟化有两种实施方式:纯软件虚拟化方式和硬件辅助虚拟化方式。


  虚拟化技术最早在大型主机上采用,随着技术的发展和竞争的加剧,IBM、HP、Sun后来纷纷将其下移,逐渐将其引入到高端RISC服务器系统中。


  随着X86处理器性能的提高和应用的普及,业界很多公司都看到了虚拟化在X86平台上实施的价值,因此VMware、Xen、微软和SWsoft等软件厂商纷纷推出了支持X86平台的虚拟化软件。


  这些软件虚拟化产品基本的思路是在操作系统与硬件层之间或者操作系统之上建立一层独立控制、分配硬件资源的软件层来达到虚拟化系统资源的目的。不过,不同的虚拟化产品其实现模式也有很大的不同,通过介于底层硬件和操作系统之间的软件层实现虚拟化功能的代表为VMware和Xen的产品,而SWsoft的产品则是在特定的操作系统之上“虚拟”出多个系统资源副本(SWsoft有支持Windows和Linux的版本),其好处是没有对系统软件的修改,对系统性能的影响较小,但由于实现虚拟化的层级不够“低”,灵活性不如前者,如VMware的产品可以在Linux系统基础上虚拟化出Windows的应用环境。


  对于X86处理器来说,其保护模式下一共有4个不同优先级,称为Ring,命名从Ring 0直到Ring3。这些Ring的优先级随其所执行的功能的不同也有所不同。其中Ring 0用于操作系统内核,优先级最高,拥有最高的“特权”,Ring 1和Ring 2用于操作系统服务,优先级次之,Ring 3用于应用程序,优先级最低。


  软件虚拟化技术工作原理


  位于Ring 0特权空间的操作系统可以优先访问各种硬件资源。传统的软件虚拟化技术是在Ring 0 中运行一个称为虚拟机监视器(VMM)的软件中间层,以负责控制和排列各个分区访问硬件资源的优先顺序。它要求在软件堆栈的较高层运行操作系统─―通常是在Ring 1或者与系统应用共用的Ring 3。


  由于操作系统设计缺省工作在Ring 0 特权级别,而现在Ring 0被虚拟机监视器(VMM)所拥有,所以传统的纯软件虚拟化技术需要虚拟机监视器(VMM)通过复杂的软件编程来解决这个矛盾。其中一种方法是通过打补丁修改操作系统内核源代码让其认知到工作在Guest OS 虚拟操作系统模式下,另一种方法是需要对运行期间操作系统的某些硬件调用指令作二进制码翻译等。由于上述原因,传统的纯软件实现方式在测试、验证和维护每款新操作系统和相关补丁方面,付出了大量的时间和资金, 同时二进制码翻译需要消耗处理器的很多计算资源。


  英特尔VT技术工作原理


  纯软件虚拟化运行时的开销会造成系统运行速度较慢,有数据表明其引起的系统性能下降可能超过10%,尤其是在服务器整合领域,当虚拟化系统数目巨大时,其性能损失更为可观。另外由于要通过软件捕获分配基本资源的处理器指令,不但过程复杂,可靠性不高,对不同平台的兼容性也容易产生问题。
这也是硬件辅助虚拟化技术诞生的重要原因。与软件方案相比,VT技术对如何在不同的情形下分配给Guest OS (虚拟机上的操作系统) 想要的Ring 特权级别做了重要的改进,在软件堆栈中为虚拟机监视器(VMM)提供了专用的空间,可以支持未经修改的操作系统和应用在专门为它们设计的环境中运行,从而简化了硬件调用。


  同时,VT通过硬件底层指令集来支持虚拟机监视器(VMM)与已安装Guest OS 之间的切换,效率和可靠性明显提高。


  另外,VT技术还设计了保留虚拟机监视器(VMM)和已安装的Guest OS的处理器状态信息的专用内存地址空间,这样不但可以缩短各个操作系统访问硬件之间的间隔时间, 同时提高了各个虚拟机上的操作系统之间的安全隔离性。
  
  从技术上看,硬件辅助虚拟化通过提高客户虚拟系统的隔离性而增强了虚拟化的性能、灵活性和可靠性。在实施时也更加简单。


  不仅仅是服务器


  双核处理器及64位平台支持功能为虚拟化技术提供了一个更加稳定可靠的平台基础。继去年英特尔宣布在X86服务器平台支持硬件辅助虚拟化技术之后,即将于今年第三季度早期发布的博锐商用桌面平台也将引入虚拟化技术,而64位安腾平台也将在今年实现对VT技术的支持。


  虽然虚拟化的概念和实施最早来源于大型服务器主机,但随着以英特尔和VMware、微软等为代表的软硬件厂商将虚拟化技术引入X86平台,一个崭新的时代即将到来。著名的市场调研和分析机构Gartner认为未来十年内,虚拟化将是PC行业所面临的最具革命性的一种技术。毫无疑问,虚拟化将重新定义PC产业。这是普遍虚拟化计算时代到来的一个明显信号。


  由于多核处理器的诞生,使虚拟化技术可以分配的硬件资源得到了扩充,因此不仅仅是在服务器平台上,即使是在工作站和桌面平台上,硬件辅助虚拟化的价值也将越来越明显。


  在服务器领域,虚拟化可以带来更高的部件及系统级利用率,带来具有透明负载均衡、动态迁移、故障自动隔离、系统自动重构的高可靠服务器应用环境,以及更为简洁、统一的服务器资源分配管理模式。
在工作站环境中,虚拟化可以在单个工作站中整合多种环境,让开发人员在同一平台上的各个分区中托管一个连续叠合的软件堆栈(其中包括生产版本)。这可以提高硬件的使用率并简化整个产品周期的管理工作。


  而虚拟化除了可以为台式机带来类似数据中心的灵活性和响应能力外,还可以结合iAMT(主动管理)技术对PC实施远端控制,在不影响终端用户工作的情况下运行安全和管理服务,甚至通过独立的分区来过滤网络流量,防止病毒或者恶意代码到达用户终端。在消费平台上,虚拟化技术对于系统复杂的家庭应用环境也有很大的帮助。


  迎接普遍虚拟化计算时代


  毫无疑问,虚拟化实现的层次越“低”,其效能、可靠性和安全性就越高。随着功能的增多,仅仅在处理器芯片层面支持虚拟化就显得不够了。必须要把核心功能软件固化到系统固件层。由于系统固件层是独立于操作系统之上的,并且可以通过编程来不断更新升级虚拟化功能支持,因此其好处是不但可以更方便地支持任何操作系统(包括Unix、Linux、Windows和MacOS等),效率和灵活性也会更高。


  目前英特尔平台的BIOS还不具备这种灵活强大的可编程能力。不过其下一代BIOS系统EFI可以通过高级语言(如C)编程,而不是像目前这样仅支持汇编语言。由于Windows下一代操作系统Vista将支持EFI,可以预见其未来的发展潜力。


  对于X86平台来说,英特尔虚拟化(VT)技术是一个不断发展完善的技术。从处理器、芯片组、内存、基本BIOS、存储设备到显卡,下一步将实现把I/O 设备映射到系统的虚拟机,这意味着一个更广泛部署的硬件虚拟化技术――实现包括计算、存储、I/O处理在内的整个计算平台的虚拟化。


  届时,整个计算机资源得到更充分的管理和利用,系统的性能、可靠性、安全性和可管理性也将实现质的飞跃。


  毫无疑问,那是人类梦想的普遍虚拟化时代的最终实现。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

新城
新城

相关推荐