● 摘要
近年来,随着云计算技术的迅速发展,云计算平台和数据中心的资源管理越来越受到重视。资源管理效率的高低,在很大程度上决定了云平台或数据中心所提供的服务质量。虚拟化作为云计算的主要支撑技术[1],利用虚拟机迁移调度与整合资源,是云计算数据中心资源管理的重要手段之一。由于虚拟机迁移也会造成较大的CPU和网络负载,迁移中还有一段停机时间,而基于虚拟机迁移的资源管理中会产生大量迁移,对云平台或数据中心造成较大的系统开销。因此,降低多个虚拟机的迁移对CPU、网络以及服务性能的影响,成为值得研究的重要问题。本文对多虚拟机迁移的迁移路径和顺序开展了研究,提出了一种多虚拟机迁移的调度策略,通过降低多虚拟机迁移的次数和网络流量,从而降低多虚拟迁移所形成的系统开销。研究内容主要包含以下方面:1)问题的建模以及形式化。经过分析,发现多虚拟机迁移在各种不同的应用中,都有一个共同特点,即相同目标宿主机的虚拟机,可以视为一个集合中的元素,虽然集合的条件不同。为了使调度策略具有更具广泛适用性,基于集合论,对多虚拟机迁移的调度问题提出了一种“集合映射模型”,并对问题作了形式化定义,明确了研究的条件和目标,为算法的设计打下了基础。2)研究并实现了多虚拟机迁移目标宿主机的选择方法。在同一资源管理目的下,可以有不同的虚拟机迁移路径,同时,不同路径之间存在不同的迁移次数和网络流量。为了降低系统中的多虚拟机迁移总次数和总网络流量,依据集合映射模型,对虚拟机的目标宿主机选择问题,提出了一种基于虚拟机聚类的目标宿主机选择方法。该方法为虚拟机选择的目标宿主机方案,使迁移总次数和网络流量得到了较好控制。3)研究并实现了多虚拟机的迁移顺序设计方法。对于同样的目标宿主机方案,多虚拟机迁移还存在迁移顺序的不同,这同样对于系统迁移的过程和性能有影响。在第2个研究内容的基础上,研究并实现了一种能适应多种要求的多虚拟机迁移顺序的设计方法。包括:按照最大负载宿主机优先迁出,最小负载宿主机优先迁入或者多个迁移并行执行。本文的调度策略进行了模拟测试和XenServer平台下的测试,测试结果表明,该调度策略的能有效降低系统中多虚拟机迁移的总次数,在此基础上可以降低因迁移而产生的总的网络传输流量,从而,降低了多虚拟机迁移对系统的影响。