基于虚拟化技术的云计算平台架构研究

随着计算机和互联网技术的不断发展及应用的深入,网络已聚合了各种计算资源、数据资源、软件资源以及服务资源等,但存在总量丰富但资源利用率低的矛盾。网络协作、充分利用闲散资源成了最初的解决方案一网格计算(grid computing)。网格计算通过整合网络中的大量闲散资源,在动态的、自治环境中协调资源共享,解决大规模的具有挑战性问题。但网格计算自身遇到了难以突破的瓶颈,使商业应用受到了极大的限制。近年来,随着商业的推崇,网格计算演变成了今天的云计算(cloud computing),面临如何提高数据中心资源的利用率,满足用户提交任务的信任需求,同时研究数据中心提供的服务和服务方式等问题阁。这些问题更接近商业化,也更容易实现。其中存在如何有效地提高云计算系统性能的关键问题。针对目前存在的问题,本文提出了基于虚拟化的云计算平台,研究了其平台的核心部分,即服务器云。虚拟化技术解决并保证了云计算平台的高性能与高可用性,使云计算平台在实际应用中资源最大化、利润最大化,同时也推动了虚拟化技术与云计算技术的快速发展。

1.虚拟化技术研究

虚拟化技术就是指把一个物理单元虚拟成多个逻辑单元,供多个应用一起使用。这样做的主要目的是为了提高资源的使用效率并方便管理各种资源。目前云计算模式的提出,无论是私有云,公有云,还是混合云,都需要资源的整合,统一资源为客户提供服务,这就要求系统资源具有高性能的处理能力。目前单个昂贵的服务器的处理能力仅使用到20%,造成了资源的浪费,虚拟化技术解决了上述问题,使服务器处理能力得到了充分的利用。

虚拟化技术包括内存虚拟化、存储虚拟化、硬件虚拟化、软件虚拟化等各项技术。本文着重研究了服务器虚拟化,服务器虚拟化将系统虚拟化技术应用于服务器上,将一个服务器虚拟成若干个服务器使用。在采用服务器虚拟化之前。3种不同的应用分别运行在3个独立的物理服务器上;在采用服务器虚拟化之后,这3种应用运行在3个独立的虚拟服务器上。而这3个虚拟服务器可以被一个物理服务托管。从图中我们可以看出服务器虚拟化抽象了硬件资源。包括虚拟BIOS、虚拟CPU、虚拟内存、虚拟设备和虚拟IO。虚拟服务器提供了良好的隔离性和安全性。

通过研究分析,我们知道,服务器虚拟化必备的是对硬件资源的虚拟化。硬件资源包括CPU、内存、IO口。这些硬件资源的虚拟化是服务器虚拟化的核心和关键技术。

目前主流的服务器虚拟化技术包括两种,即全虚拟化和半虚拟化。研究表明,虚拟化的特性为云计算平台抽象了硬件资源,这样对于基于SOA的云服务平台来说是透明的,是可扩展的,为云计算平台的弹性设计带来了极大的利处。针对虚拟化的全虚拟化来说,采用的技术为二进制代码Dynamic Binary Translation,DBT指在虚拟机运行时。在敏感指令前插入指令将执行陷入到虚拟机监视器中,其优点在于代码的转换是动态的。与全虚拟化不同的半虚拟化通过修改客户操作系统来解决虚拟机执行特权指令的问题。在本虚拟化中存在客户机操作系统必须和虚拟化平台兼容,否则虚拟机无法有效地操纵宿主机,因此,本文提出的基于虚拟化云计算平台的构建方案是基于全虚拟化的KVM。基于Redhat的虚拟化技术还具有在线迁移、快速部署等服务器管理功能。为云计算平台提供了稳健可靠的基础资源架构。

2.服务器云的构建

服务器云是云计算平台的最核心部分,所有云计算平台中的功能及子系统都依赖于服务器云来实现。它既包括硬件服务器和底层操作系统部分,又包括云计算平台中的虚拟机超级监督器功能,是运行虚拟系统,功能服务器系统的底层基础平台。计算模式从大型机的方式逐渐过渡到微型个人计算机的方式,并且近年来过渡到普适计算上。但用户仍然很难获得异构类型的操作系统以及应用程序,在轻量级的设备上很难获得完善的服务。本文研究的基于虚拟化的在云计算模式中,用户无须感知计算具体所在位置,以及操作系统、中间件、应用等技术细节。虚拟化技术使底层差异封装为应用的统一接口,用户由同一接口只需要根据自己的需求,通过云计算平台选取相应的服务。

3.云计算模式的特性研究

云计算与分布式计算、网络计算相比具有自身的优势。首先。云具有超大规模。例如,目前的Google云计算已经拥有100多万台服务器,Amazon,IBM,微软、Yahoo等的“云”计算平台均拥有几十万台服务器。超规模的基础硬件为云计算赋予了前所未有的计算能力;其次,云具有扩展性。云计算可将复杂的工作负载分解成小块的工作,并将工作分配到可逐渐扩展的云计算中心。而需要增加的管理费用几乎为零。云计算的扩展性主要体现在计算资源、存储能力和负载均衡,虚拟化技术的自身优点满足了云计算的扩展,并提供了计算平台的7×24无故障全13程服务。同时云计算又具有规模的动态伸缩,以满足用户不断增长的应用和需求。与网络、分布式计算相比更具有商业性和应用性。

云计算不仅在处理计算能力上具有前所未有的优越性。而且在管理上也具有自动性。“云”计算平台要求具有自动化管理功能,用户可以通过用户接口,自己申请计算资源和应用,按自己的需要建立自己的资源环境,而整个过程是不需云平台管理员的干预,云计算平台只需自动记录用户使用资源的大小和时间。云计算模式基于SOA的架构。动态地分配和部署共享的计算资源。同时云计算具有灵活性、高可用性、动态资源监控以及虚拟性。云计算平台可以支持各种计算机应用类型,在物理层面上,包括的硬件可以为PCServer、普通的PC机、小型机等各类硬件资源。基于虚拟化的云计算平台为企业的资源重构带来了便利。使其能短时间内转向云计算平台,降低了基础架构的重建成本,缩短了为企业转型的时间。

云计算的这些特性在客观上需要高性能的服务器来支撑,无论是科研,还是商业应用,对于中小规模的企业和用户计算来说,购买高性能服务器来说都是一笔昂贵的费用。而基于虚拟化技术的云计算解决了目前存在的问题。并且保证云计算平台的高可用和高可靠等特性,使其更好的服务于客户。

4.平台总体架构研究

项目研究的服务器云主要由硬件服务器HP,IBM 3650和Red Hat Enterprise Linux Server操作系统和Virtualization Hypervisor(KVM)组成。通过Red Hat云计算平台管理软件。实现所有服务器整合为一个统一的云计算服务器平台,抽象出统一的硬件资源,包括CPU资源池、memory资源池、network资源池和storage资源池,任意云都可以按需在统一资源池中获得硬件资源并运行。

5.结论

云计算具有广阔的发展前景,相关的各项关键技术也在迅速发展,目前,云计算发展多数沿着Google、亚马逊等主流发展。本文研究的基于虚拟化的云计算平台是基于redhat软件的虚拟化平台。为中小企业快速构建云计算提供了解决方案。其平台具有一定的优越性。使虚拟化技术的特点在云计算平台中充分发挥。云计算是一种新型计算模式,是对面向市场的资源管理方式的支持嘲。当然,目前云计算还存在一定问题,当前的云计算系统的能耗过大,因此,减少能耗,提高能源的使用效率,建造高效的冷却系统是当前面临的一个主要问题。例如,谷歌的数据中心的能耗相当于一个小型城市的总能耗。因为,过大的能耗使得数据中心内发热量剧增,要保证云计算系统的正常运行,必须使用高效的冷却系统来保持数据中心在可接受的温度范围内。基于本文的虚拟化技术,可以使耗能节俭原来的80%左右。另外,需要对云计算的接口进行标准化并制定交互协议。这样可以支持不同云计算服务提供者之间进行交互,相互合作,提供更加强大和更好的服务。此外,需要开发出更易用的编程环境和编程工具,这样可以更加方便地创建云计算应用,拓展应用领域。总而言之,虽然云计算还有很多问题需要解决,但是云计算将得到更快、更深入的发展。