论文部分内容阅读
随着计算机和互联网技术的发展,云计算作为一种新兴的商业分布式计算模型产生了。云计算是分布式处理、并行处理和网格计算的发展,通过将计算任务分布在处于不同地理位置的大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算资源、存储空间和各种软件服务。云计算平台的资源在使用者看来是可以无限扩展的,并且可以随时获取、按需使用、随时扩展,按使用付费。云计算包含三种不同的服务类型:SaaS(SoftwareasaService,软件即服务)、PaaS(PlatformasaService,平台即服务)和IaaS(InfrastructureasaService,基础架构即服务),其中IaaS为云计算提供完善的基础设施,是实现云计算的基础。 IaaS是以服务形式为使用者提供服务器、存储和网络硬件,在IaaS服务中,资源是共享的,并根据用户的请求进行预留。目前一般利用虚拟化技术建立云计算的内部架构来提供IaaS。虚拟化技术可以在一台物理主机上划分并创建出不同的虚拟机,虚拟机之间相互隔离。传统的虚拟化管理方法是通过虚拟机监控器获取虚拟机的资源使用情况,当出现可用资源不足或主机负载过重的情况时,管理员发起虚拟机迁移来满足虚拟机对资源的请求及负载均衡。 在云计算环境下,主机和资源的规模庞大,并且应用和服务的负载以及物理主机处理能力存在很大差异,容易导致负载失衡。另一方面,虚拟机的资源一般都预先分配,初级用户对选择何种规模的虚拟机实例缺乏经验,而中级或高级用户的实际需求也随着应用和服务的不断发展而迅速变化,他们需要对云计算平台提供的虚拟化资源享有更高的灵活度和更多的控制权。传统的虚拟化管理方法只能通过虚拟机迁移来满足使用者对资源的请求,当出现大量请求时频繁的虚拟机迁移将消耗云计算平台中过多的资源,导致资源请求无法响应,服务质量下降。如何有效地分配和调度资源,是云计算需要解决的首要问题。 因此,本文结合云计算的特点,提出了一套云计算中虚拟化资源管理的方法。其优点在于充分考虑了云计算环境下资源调度的复杂性、用户需求呈弹性变化等因素,能够实时监控云计算环境中资源的使用情况并在短时间内判断负载变化趋势,能够根据应用和服务对资源的占用情况实现弹性的虚拟机调度和迁移,能够为租用者提供更灵活的管理方式,有效降低使用成本。 本文进一步基于Xen虚拟化技术设计和开发了相应的原型系统,并且通过实验验证了本文提出管理方法的有效性。