随着虚拟技术的到来,很多企业都开始着力发展虚拟化技术,但是什么是服务器虚拟化,它的具体定义是什么?您使用服务器虚拟化了吗?
虚拟服务器技术正是虚拟化技术的代表,它为人们带来了前所未有的体验。关于服务器虚拟化的概念,各个厂商都有自己不同的定义,然而其核心思想是一致的,即它是一种方法,能够通过区分资源的优先次序,并随时随地能将服务器资源分配给最需要它们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源。用更加直白的语言来讲,所谓虚拟化技术应该有两个方向来帮助服务器更加合理地分配资源,一种方向就是把一个物理的服务器虚拟成若干个独立的逻辑服务器,使用户可以在这些看似独立的虚拟服务器上运行不同的操作系统和应用,这个方向的典型代表就是分区;虚拟技术的另一个方向,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器,使用户可以像使用同一台服务器的资源一样支配这些物理上独立的服务器,从而达到最大化利用资源的目的,这个方向的典型应用就是网格。
现在的虚拟服务器技术绝不是什么精巧的小玩意,它可以带来实实在在的好处。一套精心设计的虚拟化解决方案的作用包括简化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、SunMicrosystem (例如Solaris Zone)、HP(例如HP research Lab’s SoftUDC)、VMWare(例如ESX server)、Transitive和Microsoft(例如Virtual Server)等也都大力发展服务器级的虚拟化技术,以实现对服务器的加固,特别是提高服务器资源的利用率、性能与故障隔离、安全性、管理性和可扩展性。因此,高性能的网络服务器也必须充分利用虚拟化技术的重大成果,迫切需要发展新的面向虚拟化技术基于多核与SoC技术的体系结构。
进入2006年以来,服务器虚拟化技术的队伍大大扩充了,从处理器层面的AMD和Intel到操作系统层面的微软的加入,从数量众多的第三方软件厂商的涌现到服务器系统厂商的高调,我们看到一个趋于完整的服务器虚拟化技术生态系统正在逐渐形成。它们在虚拟化技术方面不断推出的新技术、新产品,对虚拟化技术在用户端的应用,将起到很大的推动作用。
硬虚拟、软虚拟各有所长实际上,从原理上看虚拟技术虚拟的是指令集。所有的IT设备,不管是PC、服务器还是存储设备,都有一个共同点:它们被设计用来完成一组特定的指令,这些指令组成一个指令集。对于虚拟技术而言,“虚拟”实际上就是指这些指令集。虚拟机有许多不同的类型,但是它们有一个共同的主题就是模拟一个指令集的概念。每个虚拟机都有一个用户可以访问的指令集,虚拟机通过把这些虚拟指令“映射”到计算机的实际指令集来完成工作。
当“虚拟”成为现实,它所带来的好处也显而易见:有利于整合服务器资源,降低系统的总拥有成本;有利于服务那些希望使用服务器资源,但并不希望购买服务器的用户;有利于提高系统的资源利用率;有利于提供对操作系统的监控,提供HA支持和资源使用的负载平衡,简化满足新的应用需求的工作;有利于减少操作系统对硬件平台的依赖。
鉴于服务器在使用效率、维护难度及升级成本等方面的问题,虚拟机技术长期以来一直是一个研究热点。在网络服务器方面,Stanford大学提出了基于虚拟机的vMatrix服务器以服务在线游戏。总体来说,虚拟机技术是一种通过在一组集中的计算资源上按需的为用户构造虚拟硬件平台,并在其上运行传统操作系统以提供应用运行环境的技术。目前主要存在两种实现虚拟机的技术路线:物理虚拟机和软件虚拟机。 |