虚拟化技术发展史
2008-01-09 11:54:46 来源:WEB开发网上世界60年代开始,美国的计算机学术界就开始了虚拟技术的萌芽。1959年克里斯托弗(Christopher Strachey)发表了一篇学术报告,名为《大型高速计算机中的时间共享》(Time Sharing in Large Fast Computers),他在文中提出了虚拟化的基本概念,这篇文章也被认为是虚拟化技术的最早论述。
现在由于虚拟化技术在x86服务器上的迅速普及已经引发了虚拟化技术的热潮,但虚拟化技术最初只是应用在大型主机上。大型机上的虚拟分区技术最早可以追溯到上世纪六、七十年代。早在上世纪60年代,IBM公司就发明了一种操作系统虚拟机技术,允许用户在一台主机上运行多个操作系统,让用户尽可能地充分利用昂贵的大型机资源。
最早使用虚拟化技术的是IBM 7044 计算机。IBM之后,在上世纪60年代还开发了型号为Model 67的System/360主机。Model 67主机通过虚拟机监视器(Virtual Machine Monitor)虚拟所有的硬件接口。1965年IBM公司的“M44/44X”计算机项目,定义了虚拟内存管理机制,用户程序可以运行在虚拟的内存中,对于用户来说,这些虚拟内存就好像一个个“虚拟机”,为多个用户的程序提供了独立的计算环境。
IBM提出的虚拟机技术,使一批新产品涌现了出来,比如:IBM360/40,IBM360/67,以及VM/370,这些机器在当时都具有虚拟机功能,通过一种叫VMM(虚拟机监控器)的技术在物理硬件之上生成了很多可以运行独立操作系统软件的虚拟机实例。
由于虚拟化技术技术在商业应用上的优势,RISC服务器与小型机成为了虚拟化技术第二代受益者。1999年,IBM公司在AS/400上提出了上“逻辑分区(LPAR)”技术和新的高可用性集群解决方案。在POWER管理程序上运行的AS/400 LPAR令单台服务器工作起来如同12个独立的服务器。而在2002年,IBM 还更进一步,其AIX5L v5.2还首次包括了IBM实现的动态逻辑分区(DLPAR)。DLPAR允许在无需重启系统的情况下,将包括处理器、内存和其它组件在内的系统资源分配给独立的分区。这种在不中断运行的情况下进行资源分配的能力不仅令系统管理变得更加轻松,而且因为能够更好地使用资源而帮助降低总拥有成本。
不过,尽管惠普、Sun公司也跟随IBM在自己的RISC服务器上提供了虚拟化技术,但由于真正使用大型机和小型机的用户还是少数,加上各家产品和技术之间并不兼容,虚拟化技术仍旧不太被公众所关注。而现在,虚拟化技术的发展已经惠及到了x86架构。
此前,虚拟化技术在x86架构上进展缓慢的主要原因是x86架构本身不适合进行虚拟化,不过这个障碍已经由英特尔、AMD修改,x86处理器的指令集得到解决;还有一个原因是x86处理器的性能不足,这一原因也由于x86处理器在性能上的飞速提高得到了解决。由于x86架构的广泛普及,x86架构上的虚拟化技术也得到了比以前更大的关注。
随着x86平台上虚拟化技术的实现,首次向人们展示了虚拟化应用的广阔前景,因为x86平台可以提供便宜的、高性能和高可靠的服务器。更重要的是,一些用户已经开始配置虚拟化的生产环境,他们需要得到新的管理工具,从而随着虚拟化技术的发展而得到更大的收益。
不过,与已经有多年历史的UNIX服务器、大型主机上的虚拟化技术相比,x86服务器上的虚拟化仍旧处于早期阶段——根据英特尔的蓝图,在处理器当中集成硬件辅助虚拟化指令只是IA平台上的第一步,而在第二步则要实现I/O方面的虚拟化,直到最后实现整个IA平台的虚拟化。也就是说,目前的x86平台上,仅仅能够实现在处理器级别的虚拟化,在I/O以及其他方面的虚拟化还需要进一步的发展。不仅如此,x86架构上的虚拟化技术还无法完美实现虚拟分区之间动态迁移,而这些在UNIX平台、大型主机上早已不是问题。目前,x86架构上的虚拟化技术的最高规划是支持8路SMP系统,可以实现对单个CPU资源的配置。
自2006年以来,从处理器层面的AMD和Intel到操作系统层面的微软的加入,从数量众多的第三方软件厂商的涌现到服务器系统厂商的高调,我们看到一个趋于完整的服务器虚拟化的产业生态系统正在逐渐形成。这也使得在过去的一两年时间里,虚拟化开始成为广受关注的热点话题。整体看来,随着计算机新技术的飞速发展,虚拟化的前景和一年前相比几乎彻底改变了,新的虚拟化平台前景十分乐观。
更多精彩
赞助商链接