Abstract: Regarding the virtual machine deployment issues in cloud computing, the Performance MatchingLoad Balancing (PMLB) algorithm of virtual machine deployment was proposed. With performance vector, the performance standardization of virtual infrastructure was described. The matching vector was obtained by calculating the relative vector distance of virtual machine and the servers, then a comprehensive analysis of matching vector and load balancing vector was done to get the deployment result. The results of simulation in CloudSim environment prove that using the proposed algorithm can obtain better loadbalancing performance and higher resource utilization.
Key words: cloud computing; virtual machine; performance vector; performance matching; load balancing
0 引言
云计算作为一种超大规模的分布式计算系统,对于资源的统一管理是其必须面临的一个重大问题。而虚拟化是将底层物理设备与上层操作系统、软件分离的一种去耦合技术,为云计算模型中的资源管理提供了一种有效的解决方案[1]。将上层服务封装到虚拟机中,通过虚拟机的部署与调度实现对资源的管理,提高了管理的灵活性和可扩展性。因而对于云计算基础设施层虚拟资源的管理技术研究是保障上层服务可靠性和可用性的基础[2]。
目前,各云计算提供商都推出了自己的资源自动部署解决方案,针对其自身系统特点,其管理方法也是各有千秋。亚马逊(Amazon)的基础设施服务EC2(Amazon Elastic Compute Cloud)[3]由Amazon Machine Image(AMI)、EC2虚拟机实例和AMI运行环境组成,用户通过自己制定AMI并将其部署在AMI运行环境上,使其成为一个EC2实例,为用户提供基础设施服务;IBM[4]为云计算虚拟基础设施管理提供了以Tivoli Provisioning Manager(TPM)为代表的丰富的管理产品,其虚拟化部署系统由4个核心模块构成:镜像模板库、资源管理模块、部署引擎和部署调度器,实现了云计算中混合解决方案的自动部署。
在云计算基础设施资源自动部署中,对虚拟资源进行的初次部署是虚拟机基础资源管理的一个重要阶段,主要是指将未运行的虚拟机部署到一台物理机上并使其运行的过程。而初次部署需要解决的一个关键问题就是合理地选择目标物理服务器。
在目前虚拟机部署研究中,对于目标物理服务器选择算法研究相对较少,成熟的云计算IaaS(Infrastructure as a Service)运行商采用的选择算法都是不公开的,在开源的IaaS解决方案中如EUCALYPTUS[5]、OpenNebula[6]虚拟机部署的服务器选择算法都是预留给用户编写,只给出简单的择优选择服务器的算法,将提交来的虚拟机部署在性能最优的服务器上,没有在初次部署阶段充分考虑系统负载均衡因素。
因此本文在分析虚拟机部署技术基础上提出了一种在充分考虑用户体验前提下,能够达到很好的系统负载均衡状态和较高资源利用率的PMLB虚拟机部署算法,能够很好地适应云计算环境下的多用户动态需求。
1 云计算虚拟机部署技术
云计算IaaS层中主要采用的虚拟化技术是系统虚拟化技术,系统虚拟化的核心思想是使用虚拟化软件在一台物理机上虚拟出一台或多台虚拟机[7],其结构如图1所示。
传统的虚拟机部署主要分为4步:创建虚拟机,安装操作系统及软件,配置虚拟机,启动虚拟机。虽然这种方法可以轻松改变单个虚拟机属性,但部署时间较长,无法满足云计算弹性需求。因而更为快捷的部署方案——虚拟器件技术[8],广泛被云计算所采用。虚拟器件是一个包括了预安装、预配置的操作系统、中间件和应用程序的最小化的虚拟机。在虚拟器件文件中包涵一个OVF描述文件对本虚拟器件进行描述,包括硬件参数信息、软件配置参数信息等,运行商通过描述文件可以进行快速部署,简化了用户对虚拟机配置的繁琐过程。
在云计算环境下,虚拟器件模板被存放在模板管理服务器中,进行相应模板部署时,只需要将选定的虚拟器件文件拷贝到目标服务器上,然后启动相应的虚拟机应用。本文在总结现有虚拟器件部署流程[2]基础上,加入对虚拟化服务器池整体性能的调用,将系统整体负载均衡情况考虑到虚拟机初次部署中对于目标物理发现决策里去,其工作流程如图2所示。
其部署过程如下。
1)性能监控。
性能监控服务器实时监控虚拟化服务器池内所有服务器性能状态,并做规范化处理。
2)虚拟器件封装与发布。
云计算中虚拟机及其上操作系统等都封装在虚拟器件文件中,作为一个模板存储在镜像仓库里,由模板管理服务器管理,并将相关信息发布给用户。
3)用户业务申请。
用户从模板管理服务器获取模板信息,根据相应信息选取模板,并配置填写应用需求、个性配置等信息,将相关信息提交给资源管理服务器。
4)目标服务器选择。
资源管理服务器从性能监控服务器中调取服务器池中服务器状态,按照用户提交的虚拟机部署信息进行匹配运算,选择部署目标服务器,并把选择结果告知模板管理服务器。
5)虚拟器件文件拷贝部署。
模板管理服务器将用户选择的虚拟器件拷贝部署到资源管理服务器选择的目标服务器上,为了提高拷贝速度,目前用于虚拟器件镜像文件拷贝比较成熟的技术有镜像流技术和快照技术。
6)在目标服务器上启动虚拟机。
在物理服务器上通过部署工具远程连接,执行一组命令来启动虚拟器件中的虚拟机完成虚拟机部署整个流程。
2 基于性能向量的PMLB虚拟机部署算法
在研究部署算法时应充分考虑云计算多用户多服务环境,根据虚拟机所承载业务对于不同资源依赖程度不同(如:用于科学计算的CPU消耗型,用于网络服务器的网络带宽消耗性),将虚拟机主要依赖的性能称为用户偏好性能,在进行资源分配时,给予充分的资源预留空间,以便使用户获得更好的用户体验。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)