微软1998年在Windows NT上导入了虚拟化软件后,引起了用户的强烈反应。但实际上,类似的技术早在上世纪70年代的大型主机上就有了。若干年前,商业Unix厂商就在他们的企业级产品中加入了虚拟化的功能,这就是当时为什么大型主机卖得如此之火的原因了。
如果你调查一下,看近年来市场发生了什么变化,你会发现答案是让人吃惊的清晰。前几年,虚拟化的门槛很高,而且应用也很有限。但随着x86平台上虚拟化技术的实现,首次向人们展示了虚拟化应用的广阔前景,因为x86平台可以提供便宜的、高性能和高可靠的服务器。
更重要的是,一些用户已经开始配置虚拟化的生产环境,他们需要得到新的管理工具,从而随着虚拟化技术的发展而得到更大的收益。于是,这些领域的竞争日渐加剧。随着技术的成熟和稳定,厂商们从来没有像今年那样带着大量的新工具杀入了虚拟化市场。
大中小企业通吃
成功的实施案例在很大程度上是用户对虚拟化感兴趣的底线。而希望把成本低,往往成为中型企业采用虚拟化架构的驱动力。
并且,许多小型企业开始进入数年前部署的Windows 2000/2003的更新期,他们面临着两种选择:要么买一或两台高性能的服务器或者购买6、7台普通的服务器。前者采用虚拟化技术就能达到后者所能提供的性能和存储容量,但占用的空间更小,成本也不高。
对于大型企业,虚拟化技术更吸引人。他们的数据中心往往由数十台甚至上百台机架式服务器组成,里面闪烁着指示灯,风扇在嗡嗡作响,空气必须保证高速流通。然而,这一现象背后的一个不争的事实是,大量服务器的CPU被闲置着。Sun公司在大量调研后得出的结论:只有15%左右的资源在被充分利用。
CPU在高速发展,但操作系统却相对滞后,应用就更不用说了。这使得用户花大量的钱买新的服务器,运行的却是老的应用。在今天超级动力的芯片前,即使是保守的IT主管,也会超过其真正的需求购买超前的计算能力。那些已经运行数年的应用可能并不需要更大容量的内存和最新的CPU,但为了保证系统的可靠和对新硬件的支持,用户别无选择。
许多企业一旦实施新的采购,总会突破最初的预算底线。一台中端的服务器采用虚拟化技术后,一般能替代6或者7台低端的服务器。其节省下来的费用有时会超过最初购买的成本。如果在加上后期增加CPU、维修以及空调等的费用,其节省下来的费用会更多。
一个虚拟的数据中心能明显地降低运维成本。它在防范系统意外宕机、病毒感染和系统升级方面的能力让人印象深刻。而且,虚拟化架构对资源的管理更加简单,它可动态分配CPU、内存和网络带宽。
虚拟化的两种实现方式
大量的厂商进入虚拟化领域并宣传他们不同的实现方法。甚至虚拟化本身这个单词也意味着它不是一个简单的过程。一般来说,虚拟化领域目前在芯片技术领域分化成了两个阵营。
一种是通过硬件模拟实现的,它们的系统基于VMware或微软的虚拟服务器。该方式为每个虚拟服务器模拟了物理的服务器硬件,包括了全配置的BIOS。这种方法让每个虚拟服务器好像运行在主机平台的单个处理器上。硬盘方面,每个虚拟服务器是完全独立的,在其硬盘上有操作系统和必要的应用。
还有一种是通过主机来虚拟分类的,例如SWsoft公司的Virtuozzo和Sun公司的Solaris Containers。这种方式要求主机的操作系统能支持相当数量的虚拟操作系统,并通过同样的操作系统内核处理I/O需求和安排虚拟服务器对处理器的请求。
所有虚拟平台都需要一个管理程序,该程序要高于最基础的操作系统,低于虚拟化系统。管理程序通过底层的操作系统掌管着每个虚拟资源的请求和所有的I/O交互。每个虚拟平台的管理程序的组成是不同的,但它们的作用通常是一样的。
最新一代的AMD和Intel的处理器都在内核里设计了硬件虚拟化功能。Intel的VT(Virtualization Technology)技术和AMD的SVM (Secure Virtual Machine)使得虚拟化的竞争从软件延展到了硬件。而且今天CPU微码对动态内存的管理也已经由软件来管理。这些努力使得x86架构的处理器更加适合由虚拟服务器引发的独特的工作负载。
现在仍旧有其它的厂商忙于增加新的功能,包括虚拟服务器的管理、整合和移植等。例如,HP和IBM在所有的管理产品中加入了虚拟化工具,甚至DELL也在OpenManage中增添了虚拟化工具。
独立软件开发商同样看到了市场机会,他们一般结合Vmware和微软的虚拟化软件提供整合或镜像等解决方案。
虚拟服务器前景乐观
整体看来,这些新技术都在飞速发展。服务器虚拟化的前景和一年前相比几乎彻底改变了。差不多所有可量化的指标,包括性能、稳定性、和SAN的结合以及64位的支持,新的虚拟化平台前景乐观。
然而,另一方面,虚拟化的基础架构也受到了很大的挑战。
一个原因是技术主管们担心一个篮子里放了太多的鸡蛋。假如一台单一的服务器出故障了,只会影响某个应用。而如果运行着10台虚拟服务器的主机出了故障,造成的损失就很大。
而且,许多虚拟化用户逐渐发现较为困难的部分是向虚拟数据中心的移植。安装一台大服务器并在上面建立多个虚拟服务器是容易的,但在移植方面,从物理设备向虚拟层迁移,和物理设备间的移植没有什么不同。简言之,这是一个费钱、费时、充满困难的过程。
然而,这些困难也不是说不能克服。事实上,你可以在本年度看到更多的办法来解决这些问题。在未来,你经过数据中心时会发现只有少量闪烁的指示灯和服务器。但这不意味着只有更少的服务器需要管理。实际上,服务器的数量在增加,应用也越来越多,只不过它们运行在虚拟的环境中。同时,提供一项服务会变得很简单,用户无需考虑资源利用、可靠性、硬件需求和安装。
现在,惟一真正需要解决的问题是用好这些资源。其实,这个答案可能会有很多解决办法。目前主要是大量的虚拟化工具,但不久可能会是新的东西。不管怎样,服务器虚拟化正进入青春期,它有着坚实的基础、各种各样的机遇和更加广阔的前景。