• 1
基于虚拟化技术的云计算平台架构研究【2013-12-10】

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

1.虚拟化技术研究

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

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

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

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

2.服务器云的构建

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

来源:51CTO