存储 频道

从x86看虚拟化的前世今生

【IT168 资讯】

概述

  随着全球服务器技术更新热潮的推进,服务器虚拟化作为一支极具潜力的“发展股”逐渐被越来越多的人所熟识;而它也正是凭着自身相对于传统服务器更高的资源利用率以及更透明的负载均衡等特点,逐渐吸引着越来越多的IT厂商加入到服务器虚拟化阵营当中。

  在传统的服务器模式下我们不得不面对这样的问题:随着业务的增长和IT基础设施的不断扩展,经常需要增加服务器以支持新的应用。而这会导致许多服务器无法得到充分利用,进而致使网络管理成本增加,灵活性和可靠性降低。虚拟化技术的初衷就是为了实现更高的设备利用率,使用户能够尽可能地利用系统资源。

  越来越多的企业希望能够有效应对IT系统成本控制的日益精细化、服务器数量越来越胖大、服务器利用率低下等问题。相应的,能够显著带来成本节省、能够有效帮助服务器整合从而减少服务器数量、能够明显提升服务器资源利用率并且能够增强服务器可靠性的虚拟化技术,就成为了x86架构服务器平台的一种强烈需求。尤其是x86服务器走入了越来越多的关键行业和关键应用后,这个需求就更加突出了。

  不可否认,当今服务器虚拟化浪潮的兴起,是以虚拟化开始应用于x86服务器平台为契机的。


虚拟化技术的成长历程

  通过将服务器资源分配到多个虚拟机,虚拟化支持不同的应用、甚至不同的操作系统在同一企业级服务器上同时运行。每个虚拟机就像一台独立的服务器,但实际上却又在同一虚拟服务器内运行。在一台服务器上运行多个应用能够提高服务器效率,并减少需要管理和维护的服务器数量。当工作负载提高时,可以迅速创建更多虚拟机,从而无需增加物理服务器即可灵活地响应不断变化的需求。而且,利用虚拟技术,IT 管理员可以在服务器之间移动正在运行的虚拟机,同时保持服务器持续可用。

  虚拟化可以有效减少服务器数量的增加,简化服务器管理,同时明显提高服务器利用率、网络灵活性和可靠性。将多种应用整合到少量企业级服务器上即可实现这一目标。据来自Intel的数据,通过整合及虚拟化,数百台服务器可以减少至数十台。10% 甚至更低的服务器利用率将提高到 60% 或更高。IT 基础设施的灵活性、可靠性和效率也将得到改进。

  雏形

  1959年6月在国际信息处理大会上,克里斯托弗的一篇《计算机分时应用》的论文,被认为是虚拟化技术的最早论述。

  尽管目前的虚拟化技术热潮是由于该技术在x86服务器上的迅速普及引发的,但虚拟化技术的最初的兴起却不在x86架构上,而是大型主机。最早使用虚拟化技术的是IBM 7044计算机。

  IBM之后在上世纪60年代还开发了型号为Model 67的System/360主机。Model 67主机通过虚拟机监视器(Virtual Machine Monitor)虚拟所有的硬件接口。在早期的计算中, 操作系统被称做Supervisor,能够运行在其它操作系统之上的操作系统被称做hypervisor。其中,VMM直接运行在底层硬件上, 允许执行多个虚拟机(VM),每一个VM运行自己的操作系统实例(CMS,Conversational Monitor System)。随后,VM继续发展。今天,你能够在System z9主机上发现VM, 它甚至能够向后兼容到System/360。


  羽翼渐丰

  由于虚拟化技术技术在商业应用上的优势,RISC服务器与小型机成为了虚拟化技术第二波受益者。1999年,IBM公司在AS/400上提出了上"逻辑分区(LPAR)"技术和新的高可用性集群解决方案。在POWER管理程序上运行的AS/400 LPAR令单台服务器工作起来如同12个独立的服务器。

  而在2002年,IBM还更进一步,其AIX5L v5.2还首次包括了动态逻辑分区(DLPAR)。DLPAR允许在无需重启系统的情况下,将包括处理器、内存和其它组件在内的系统资源分配给独立的分区。这种在不中断运行的情况下进行资源分配的能力不仅令系统管理变得更加轻松,而且因为能够更好地使用资源而帮助降低总拥有成本。

  之后惠普、Sun公司也跟随IBM在自己的RISC服务器上提供了虚拟化技术,但由于真正使用大型机和小型机的用户还是少数,加上各家产品和技术之间并不兼容,虚拟化技术仍旧不太被公众所关注。

  新生

  虚拟化发展到现在,已经惠及到了x86架构。在此之前,虚拟化技术在x86架构上进展十分缓慢,究其原因主要可以归结为两点:x86架构本身不适合进行虚拟化,不过这个障碍已经由英特尔、AMD修改x86处理器的指令集得到解决;另一个原因则是x86处理器的性能不足,也由于x86多核乃至45nm处理器的出现而在性能上的飞速提高得到了解决。由于x86架构的广泛普及,x86架构上的虚拟化技术也得到了比以前多得多的关注。

  虽然如此,与UNIX服务器、大型主机上发展多年并且相对已经很成熟的的虚拟化技术相比,x86服务器上的虚拟化仍旧处于早期阶段。根据英特尔的蓝图,服务器虚拟化进程可以分为三个阶段:

  第一阶段——在处理器当中集成硬件辅助虚拟化指令。

  第二阶段——实现I/O方面的虚拟化。

  第三阶段——实现整个IA平台的虚拟化。

  纵观x86平台虚拟化发展状况,我们不难发现,目前x86平台仅仅能够实现在处理器级别的虚拟化,在I/O以及其他方面的虚拟化还需要进一步的发展。不仅如此,x86架构上的虚拟化技术还无法完美实现虚拟分区之间动态迁移,而这些在UNIX平台、大型主机上早已不是问题。IBM公司的POWER6处理器甚至还提供了Live Partition Mobility功能,允许实现活动分区的在线迁移。目前,x86架构上的虚拟化技术的最高规划是支持8路SMP系统,可以实现对单个CPU资源的配置。

  随着x86平台上虚拟化技术的逐步实现,首次向人们展示了虚拟化应用的广阔前景,因为x86平台可以提供便宜的、高性能和高可靠的服务器。更重要的是,一些用户已经开始配置虚拟化的生产环境,他们需要得到新的管理工具,从而随着虚拟化技术的发展而得到更大的收益。

0
相关文章