金林钢:现在市面上流行的很多,大概四种。一种是大家比较熟悉的VMware,其实VMware是市场领先者,因为它是很早被用的虚拟技术。它的主要技术是用软件模拟硬件的东西,把所有硬件彻底的抽象出来。所以一个应用程序用起来的时候跟硬件是没有关系的。我们讲这个技术叫做完全虚拟化,在VMware上面可以运行各种各样的操作系统,比如可以运行Windows、可以运行Linux,各种各样的系统,因为它跟硬件没关系。但是它主要的问题之一本身这个技术要消耗大量的硬件资源,导致我们不能充分的利用硬件资源,技术比较复杂,而且它是专有系统。
主持人:我记得它最近通过一些方式提供了一些代码的接口?
金林钢:这点不太清楚,据说是有一种最基本功能的可以下载。
何晓龙:是可以做好虚拟系统可以用它免费的版本重新运行。
金林钢:因为它是完全虚拟化,可以各种不一样的操作同时在上面运行。另外一个是IBM的很早有一个大型机的那种技术,IBM也是虚拟化技术的领先者。是可以一部分一部分的分出来,然后在上面各个系统运行不同的东西。
何晓龙:是变成多台虚拟的服务器。
金林钢:还有一个就是微软,微软因为2003年的时候买了一个公司,买了之后准备2008年正式推出虚拟化。我们现在业界最关注的还是Xen。Xen完全是开源的,而且它用的技术跟前面几种完全不一样。Xen技术最关键的是两部分,一个是虚拟化管理程序,上面是管理化操作系统。通常跟别人做法不一样的是Xen虚拟化管理程序非常小,代码量不超过5万,把大批量以前专业系统做的那些虚拟化需要做的东西上移到操作系统。这样充分利用操作系统的功能,比如说设备驱动程序,像VMware它是通常运行Windows,那么下面所有的设备驱动程序都要完全模拟出来。如果另外一个系统是运行Linux的,要全部的Linux设备驱动程序模拟出来。这样导致下面的虚拟程序非常庞大,Xen是所有的驱动设备只有一个,全部用Linux的方式。比如说全部用RedHat的管理程序,驱动程序。它自己是一个比较小的类似调度。这样有什么好处呢?一个是简单,程序量很小,非常高效,它本身的消耗量只有1%到5%。这意味着最多用5%的资源,剩下95%资源也可以应用上。假如说有台机器系统有BUG,它不会影响到别人,因为我的管理层很小,而且设备驱动程序都不在我的管理程序里面。所以它有问题跟我没关系。但是其他的就不行了,万一它有问题大家都完了。
主持人:刚才所说的这几种虚拟化的机制,因为刚才也讲了许多在实现机制上的不同,从机制上可以把不同分为几类?
金林钢:从虚拟化技术来讲可以分为三种,一个是完全虚拟化。完全虚拟化技术以VMware为代表。完全虚拟化是所有的应用程序完全跟硬件抽象出来。它具体的方法就是虚拟化管理程序和虚拟机模拟硬件的东西。
另外一个技术是Xen大量推的准虚拟化,英文就是Paravirtualization,这个技术是硬件和软件相共和,是充分利用虚拟的技术把硬件的资源充分利用起来。它自己本身消耗最多5%。还有一种假如说Intel跟AMD已经支持虚拟化技术,那么我们可以做到硬件支持的虚拟化技术。