虚拟化:概念与优势
所谓虚拟化,是指将单台电脑环境分割为多个独立分区,每个分区均可以按照需要模拟一台电脑。
虚拟化分区带来的最大好处是使同一个物理平台能够同时运行多个同类或不同类的操作系统,为不同业务和应用提供支撑平台。分区使得应用之间能够更好地隔离,通过把不同的应用安装到不同的分区上,可以避免在同一个系统运行多个应用时相互影响,包括计算资源争用。避免单一应用的崩溃对整个系统造成影响,或单一应用的维护和升级影响其他应用的运行,以及各应用对系统平台环境组件版本的不同要求等矛盾。同时使得系统的备份、迁移和升级更加简单灵活。由于资源管理中间层的存在,不但操作变得非常简单,而且可以很容易进行在线实施。当然,最重要的是分区可以实现计算资源的实时按需动态分配,负载大的分区可以获得更多的计算资源,在负载下降时,计算资源可以被回收、返还或再分配给其他的分区,以最大限度地实现资源整合和按需动态分配。
硬件辅助虚拟化
虚拟化有两种实施方式:传统的纯软件虚拟化方式和新的硬件辅助虚拟化方式。
在保护模式下,x86处理器一共有4个不同优先级,术语称为ring,从ring 0~ring3。ring 0的优先级最高,ring 3最低。ring 0用于操作系统内核, ring 1和ring 2用于操作系统服务,ring 3用于应用程序。
位于ring 0特权空间的操作系统可以优先访问各种硬件资源。传统的虚拟化技术是在ring 0中运行一个称为虚拟机监视器(vmm)的软件中间层,以负责控制和排列各个分区访问硬件资源的优先顺序。它要求在软件堆栈的较高层运行操作系统——通常是在ring 1或者与系统应用共用ring 3。
由于操作系统缺省工作在ring 0 特权级别,而现在ring 0被虚拟机监视器所拥有,所以传统的纯软件虚拟化技术需要虚拟机监视器通过复杂的软件编程来解决这个矛盾。其中一种方法是通过打补丁修改操作系统内核源代码让其认知到工作在guest os(客人操作系统)虚拟操作系统模式下。另一种方法是需要对运行期间操作系统的某些硬件调用指令作二进制码翻译等。由于上述原因,传统的纯软件实现方式在测试、验证和维护每款新操作系统和相关补丁方面,付出了大量的时间和资金, 同时二进制码翻译需要消耗处理器的很多计算资源。纯软件虚拟化运行时的开销会造成系统运行速度较慢,有数据表明其引起的系统性能下降可能达5%~20%。
英特尔的硬件辅助虚拟化技术(vanderpool technology,vt技术)
英特尔虚拟化技术是一种设计更简单、实施更高效和可靠的方法,是世界上首个x86平台的硬件辅助虚拟化解决方案。它对如何在不同的情形下分配给guest os想要的ring特权级别作了很好的改进。x86因而可以为核心虚拟化处理提供芯片层支持,并可以在软件堆栈中为虚拟机监视器提供专用的空间。vt不需要复杂的软件工作环境。通过充分利用这些嵌入式硬件能力,独立软件厂商(isv)可以减少其软件测试、验证和维护的要求,同时降低最终附加到用户身上的成本。
英特尔虚拟化技术的主要特性和优势为:
专为虚拟机监视器提供的全新特权空间,可支持未经修改的操作系统和应用在专门为它们设计的环境中运行,从而简化硬件调用。
通过硬件底层指令集来支持虚拟机监视器与已安装guest os之间的切换,使得虚拟化技术更加简单、高效、可靠。
虚拟机监视器(vmm)和已安装的guest os处理器状态信息保留在专用内存地址空间中,这样可以缩短各个操作系统访问硬件之间的间隔时间, 同时提高了各个虚拟机上操作系统之间的安全隔离性。
Gap公司拥有4300家Gap、Old Navy和Banana Republic品牌服饰商店,是目前最大的时装零售商,管理着大约450台基于英特尔架构的服务器,此前采用一台服务器对应一种应用,因而其中300多台服务器系统的平均利用率还不到10%。
英特尔解决方案服务部建议Gap公司采用三台安装有VMWare虚拟化软件的8路IBM eServer xSeries440服务器来取代现有的三分之一数量的服务器。移植完成后,Gap的基础设施第一年便可以整合多达97种不同应用,包括BEA WebLogic、Microsoft IIS、IBM Tivoli、Lotus Notes和大量定制应用,这些目前均在Microsoft Windows NT和Windows 2000操作系统上运行。此外,还将跟踪和管理系统利用水平,使其低于60%,从而为流量堵塞提供扩展空间。 项目的硬件和VMWare软件支出与淘汰旧机器而节省的维护费用相抵。现在,Gap公司可以享有服务器冗余带来的优势而不必额外购买硬件。
不仅仅是服务器
虽然虚拟化的概念和实施最早来源于大型服务器主机,但随着以英特尔和VMWare、微软等为代表的软硬件厂商将虚拟化技术引入x86平台,一个崭新的时代即将到来。著名的市场调研和分析机构Gartner认为未来十年内,虚拟化将是PC行业所面临的最具革命性的一种技术。毫无疑问,虚拟化将重新定义PC产业。
在服务器领域,虚拟化可以带来更高的部件及系统级利用率,带来具有透明负载均衡、动态迁移、故障自动隔离、系统自动重构的高可靠服务器应用环境,以及更为简洁、统一的服务器资源分配管理模式。
在工作站环境中,虚拟化可以在单个工作站中整合多种环境,让开发人员在同一平台上的各个分区中托管软件堆栈(其中包括生产版本)。这可以提高硬件的使用率并简化整个产品周期的管理工作。无须中断生产环境,即可在相同的生产平台上测试产品的新版本和升级版,以避免复制环境所带来的高昂成本。
虚拟化除了可以为台式机带来类似数据中心的灵活性和响应能力外,还可以结合Intel的AMT(主动管理技术)对PC实施远端控制,在不影响终端用户工作的情况下运行安全和管理服务,甚至通过独立的分区来过滤网络流量,防止病毒或者恶意代码到达用户终端。
持续不断发展的双核处理器及64位平台支持功能为虚拟化技术提供了一个更加稳定可靠的平台基础,也使英特尔硬件辅助虚拟化技术的优势得到进一步的巩固。继去年英特尔宣布在x86服务器平台支持硬件辅助虚拟化技术之后,即将于今年第三季度早期发布的商用PC博锐平台也将引入虚拟化技术。
英特尔虚拟化技术是一个不断发展完善的技术,从处理器、芯片组、内存、基本BIOS、存储设备到显卡。下一步将实现把I/O 设备映射到系统的虚拟机,这意味着一个更广泛部署的硬件虚拟化技术,实现包括计算、存储、I/O处理在内的整个计算平台的虚拟化。