虚拟化技术最早来自IBM大型机的分区技术,这种操作系统虚拟机技术使得用户可在一台主机上运行多个操作系统,同时运行多个独立的商业应用。
随着X86架构服务器使用越来越广泛,基于X86架构服务器的虚拟化技术一经问世,便开始引导了通用服务器的虚拟化变革历程。VMWare、XEN、微软等厂家在软件体系层面开始引领服务器虚拟化潮流。此前,虚拟化技术在 x86 架构上进展缓慢的主要原因有二:x86 架构本身不适合进行虚拟化;另一个原因则是 x86 处理器的性能不足。随着Intel和AMD在X86架构上的不断修改、X86处理器在性能上的飞速提高,虚拟化的的基本局限得到了解决。
服务器虚拟化的直接效果是导致数据中心具有更高的应用密度,在相同物理空间内逻辑服务器(虚拟机)数量比物理服务器大大增加。由此,服务器的总体业务处理量上升,使得服务器对外吞吐流量增大。
虚拟化计算技术已经逐步成为云计算服务的主要支撑技术,特别是在计算能力租赁、调度的云计算服务领域起着非常关键的作用。
在大规模计算资源集中的云计算数据中心,以X86架构为基准的不同服务器资源,通过虚拟化技术将整个数据中心的计算资源统一抽象出来,形成可以按一定粒度分配的计算资源池,如下图所示。虚拟化后的资源池屏蔽了各种物理服务器的差异,形成了统一的、云内部标准化的逻辑CPU、逻辑内存、逻辑存储空间、逻辑网络接口,任何用户使用的虚拟化资源在调度、供应、度量上都具有一致性。
虚拟化技术不仅消除大规模异构服务器的差异化,其形成的计算池可以具有超级的计算能力(如下图所示),一个云计算中心物理服务器达到数万台是一个很正常的规模。一台物理服务器上运行的虚拟机数量是动态变化的,当前一般是4到20,某些高密度的虚拟机可以达到100:1的虚拟比(即一台物理服务器上运行100个虚拟机),在CPU性能不断增强(主频提升、多核多路)、当前各种硬件虚拟化(CPU指令级虚拟化、内存虚拟化、桥片虚拟化、网卡虚拟化)的辅助下,物理服务器上运行的虚拟机数量会迅猛增加。一个大型IDC中运行数十万个虚拟机是可预见的,当前的云服务IDC在业务规划时,已经在考虑这些因素。