虚拟化代表着把物理资源转变为逻辑上能够管理的资源、打破物理结构之间壁垒的一个巨大趋势。在未来,任何的资源都透明地运行在各种各样的物理平台上,资源的管理都将按逻辑方式进行,完全实现资源的自动化分配,而虚拟化技术是我们实现这一理想的惟一工具。

虚拟服务器技术正是虚拟化技术的代表,他为人们带来了前所未有的体验。关于服务器虚拟化的概念,各个厂商都有自己不同的定义,然而其核心思想是一致的,即他是一种方法,能够通过区分资源的优先次序,并随时随地能将服务器资源分配给最需要他们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源。用更加直白的语言来讲,所谓虚拟化技术应该有两个方向来帮助服务器更加合理地分配资源,一种方向就是把一个物理的服务器虚拟成若干个单独的逻辑服务器,使用户能够在这些看似单独的虚拟服务器上运行不同的操作系统和应用,这个方向的典型代表就是分区;虚拟技术的另一个方向,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器,使用户能够像使用同一台服务器的资源相同支配这些物理上单独的服务器,从而达到最大化利用资源的目的,这个方向的典型应用就是网格。

现在的虚拟服务器技术绝不是什么精巧的小玩意,他能够带来实实在在的好处。一套精心设计的虚拟化解决方案的作用包括简化IT管理、降低硬件成本、提高系统敏捷性、提高生产率等方面:

合并硬件管理,降低成本;根据需求情况进行资源分配;安装和配置新系统的时间极大缩短;应用程式连同操作系统的错误不至于影响系统的整体状态;降低异质资源管理的难度;在受控环境中方便测试和查错。

建议现在能够利用服务器虚拟技术带来更多好处的行业用户:为了获得上述好处,能够尝试引入服务器虚拟技术。

服务器虚拟技术的产生和发展

“虚拟化”并非刚刚出现的新技术,作为计算领域的一项传统技术,虚拟化的产生和发展能够追溯到上世纪60年代。“虚拟”一词最早来源于光学,用于理解镜子里的物体。之所以使用“虚拟”的概念定义一项技术,是因为人们希望虚拟机看起来和工作起来都和真正的机器一模相同,这同时也意味着,虚拟机并不是真正的机器,但是他能像真正的机器相同工作。

服务器虚拟化的最初应用是将利用程度较低的服务器硬件设备集中起来,构成由少量电脑组成的高效计算方案。从最初出现到现在,服务器虚拟化已发展成为一种多用途的解决方法。

近来,Intel和AMD都争相推出dual-core甚至4-core的CPU以瞄准高性能服务器市场;同时,IBM和Sony等公司联合推出了有多达8个处理器单元的Cell芯片,他们掀起了高性能服务器向多核/多线程技术的转移,能够预见4-core或8-core SMP不久将推向市场。另一方面,随着深亚微米技术的蓬勃发展,SoC体系结构在不久的将来将成为现实,到那时,拥有几十亿只晶体管的SoC将可能统治高性能计算领域。例如,假如技术能够降低到35nm,制造拥有多达32/64处理器的SoC将成为可能。因此,网络服务器必须采用多核SMP和SoC技术。这就需要网络服务器的体系结构必须做出变革,以拥抱新的硬件技术的发展。在关注硬件技术发展的同时,必须注意到虚拟化技术的迅猛发展。Intel和AMD分别研发了VanderPool和Pacifica技术,在底层硬件上就支持虚拟化。IBM、Sun Microsystem (例如Solaris Zone)、HP(例如HP research Lab’s SoftUDC)、VMWare(例如ESX server)、Transitive和Microsoft(例如Virtual Server)等也都大力发展服务器级的虚拟化技术,以实现对服务器的加固,特别是提高服务器资源的利用率、性能和故障隔离、安全性、管理性和可扩展性。因此,高性能的网络服务器也必须充分利用虚拟化技术的重大成果,迫切需要发展新的面向虚拟化技术基于多核和SoC技术的体系结构。

进入2006年以来,服务器虚拟化技术的队伍大大扩充了,从处理器层面的AMD和Intel到操作系统层面的微软的加入,从数量众多的第三方软件厂商的涌现到服务器系统厂商的高调,我们看到一个趋于完整的服务器虚拟化技术生态系统正在逐渐形成。他们在虚拟化技术方面不断推出的新技术、新产品,对虚拟化技术在用户端的应用,将起到很大的推动作用。

硬虚拟、软虚拟各有所长

实际上,从原理上看虚拟技术虚拟的是指令集。任何的IT设备,不管是PC、服务器还是存储设备,都有一个一起点:他们被设计用来完成一组特定的指令,这些指令组成一个指令集。对于虚拟技术而言,“虚拟”实际上就是指这些指令集。虚拟机有许多不同的类型,但是他们有一个一起的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户能够访问的指令集,虚拟机通过把这些虚拟指令“映射”到电脑的实际指令集来完成工作。

当“虚拟”成为现实,他所带来的好处也显而易见:有利于整合服务器资源,降低系统的总拥有成本;有利于服务那些希望使用服务器资源,但并不希望购买服务器的用户;有利于提高系统的资源利用率;有利于提供对操作系统的监控,提供HA支持和资源使用的负载平衡,简化满足新的应用需求的工作;有利于减少操作系统对硬件平台的依赖。

鉴于服务器在使用效率、维护难度及升级成本等方面的问题,虚拟机技术长期以来一直是个研究热点。在网络服务器方面,Stanford大学提出了基于虚拟机的vMatrix服务器以服务在线游戏。总体来说,虚拟机技术是一种通过在一组集中的计算资源上按需的为用户构造虚拟硬件平台,并在其上运行传统操作系统以提供给用运行环境的技术。现在主要存在两种实现虚拟机的技术路线:物理虚拟机和软件虚拟机。

物理虚拟机

每个用户以独占方式使用一台真实电脑,但任何电脑由计算中央统一管理。用户提出计算请求后,系统在空闲节点池中动态分配一个节点,并加载相应的操作系统和文档系统供其使用;用户完成自己的计算任务后,将该节点归还系统以供再次分配给其他用户。采用这种技术路线的典型系统包括HP的CCI系统和中科院计算所研制的蓝鲸系统。

[1] [2] 下一页