论文部分内容阅读
分布式计算技术和网格存储技术的迅猛发展使得用户可以使用提供商所开放的近乎无限的计算资源搭建属于自己的计算基础设施,这种计算资源的提供和使用模式被称为“云计算”。虚拟化技术的引入更加强化了云计算服务的能力,使用了虚拟化技术,大量的异构网络计算资源可以被统一地管理和分配并对用户提供最为灵活的资源分配单元——虚拟机。用户可以像使用真实的物理服务器一样使用虚拟机搭建自己的计算基础设施,并可以进一步配置和运行一切能够在物理服务器上运行的应用和服务。搭建在云计算平台上的服务由于其建设和维护成本均相对较低且扩展性和稳定性强,成为了越来越多的应用服务运行商的选择。受到需求的推动,目前众多企业级基础设施提供商也都开始提供基于虚拟化的云计算服务,如著名的.Amazon EC2和Microsoft Azure等产品。
云计算平台的一个重要特性是可伸缩的弹性计算。具体到支持虚拟化技术的云计算平台,就是指云计算平台可以动态地管理用户占有的虚拟机集群,使用最为合适的虚拟机数量去应对计算任务。这个特性可以提高云计算系统作为一个整体的计算吞吐量,并可以达到节约能源的目的:当某个服务所拥有的活动虚拟机数量大大高于实际任务的需要,云计算系统能够自动停止部分虚拟机的运行,并把这部分计算资源保留或者分配给其他资源相对紧张的服务从而提高资源利用率;当某个服务拥有的活动虚拟机数量不能满足实际任务需要,云计算系统能够提供额外的虚拟机来增强服务的性能。然而,云计算系统实际运行中出现一个重要问题却导致了弹性计算模型不能有效地发挥作用。现有支持虚拟化技术的云计算系统部署一台包含典型服务器应用(如Weblogic)的虚拟机都需要数分钟甚至十几分钟的时间,然而服务负载的变化在运营高峰期却大大超过这一速率。在这种情况下云计算上运行的服务由于资源不足会呈现显著的QoS下降,甚至彻底陷入基本停滞,即遭遇Flash-Crowd。
云计算系统不能及时为应用提供资源的根本原因在于部署虚拟机和虚拟机中的服务的整个过程过于冗长。如果能够优化虚拟机和服务部署的速度到理想的情况,那么上述问题也将迎刃而解。本文将首先就“如何实现虚拟机及虚拟机中应用的快速部署”进行原理上的分析和讨论,提出一种新颖的,能够大大提升部署虚拟机及其中应用速度的技术;随后本文将重点分析如何在通用的虚拟机管理器Xen之上实现虚拟机快速部署的技术并进一步讨论这一实现方案的性能优化,实现出的系统能够有效地把包含复杂应用的虚拟机的部署时间压缩到5秒以内,同时提供接近于基准系统的性能:最后本文将讨论把虚拟机快速部署技术应用于云计算系统中的技术问题并分析其解决方案。使用了虚拟机快速部署技术的云计算系统可以有效应对服务资源需求骤变的情况,且相对于传统的解决方法具有节约资源和性能优异等诸多优势。